Wer seine Skripte hin und wieder gerne als Admin ausführen möchte bekommt mehrere Lösungen über die Suchmaschine. Allerdings bieten diese Lösungen nur halbwegs komfortable Lösungen.
Die Probleme über die ich gestolpert bin waren zB: Die normal geöffnete Powershellkonsole blieb offen, der Pfad war System32 usw..
Also begab ich mich auf die Suche nach einer Lösung, mit der ich ein Skript als Admin ausführen kann, ein neuer Prozess gestartet wird, der alte beendet und die Location in die geändert wird, in der sich das aktuell ausgeführte Skript befindet.
function Check-Admin { $currentUser = New-Object Security.Principal.WindowsPrincipal $([Security.Principal.WindowsIdentity]::GetCurrent()) $currentUser.IsInRole([Security.Principal.WindowsBuiltinRole]::Administrator) } if ((Check-Admin) -eq $false) { Start-Process powershell.exe -Verb RunAs -ArgumentList ('-noprofile -noexit -file "{0}" -elevated' -f ($myinvocation.MyCommand.Definition)) Stop-Process -Id $PID } $scriptDirectory = Split-Path $MyInvocation.MyCommand.Path Set-Location $scriptDirectory #Enter Code here.
Super Lösung. Danke