Verwendung von
#Requires -RunAsAdministrator
ist noch nicht festgelegt worden. Sie scheint erst seit PowerShell 4.0 vorhanden zu sein.
http://technet.microsoft.com/en-us/library/hh847765.aspx
Wenn dieser Switch-Parameter zu Ihrer requires-Anweisung hinzugefügt wird, gibt er an, dass die W Skript ausgeführt wird, mit erhöhten Benutzerrechten gestartet werden muss (Als Administrator ausführen).
Das scheint mir ein guter Weg zu sein, aber ich bin mir über die praktischen Erfahrungen noch nicht sicher. PowerShell 3.0-Laufzeiten ignorieren dies wahrscheinlich, oder noch schlimmer, geben einen Fehler.
Wenn das Skript als Nicht-Administrator ausgeführt wird, wird der folgende Fehler angezeigt:
Das Skript "StackOverflow.ps1" kann nicht ausgeführt werden, da es eine "#requires"-Anweisung für die Ausführung als Administrator enthält. Die aktuelle Windows PowerShell-Sitzung wird nicht als Administrator ausgeführt. Starten Sie . Windows PowerShell mit der Option "Als Administrator ausführen", und versuchen Sie dann versuchen Sie dann, das Skript erneut auszuführen.
+ CategoryInfo : PermissionDenied: (StackOverflow.ps1:String) [], ParentContainsErrorRecordException
+ FullyQualifiedErrorId : ScriptRequiresElevation
5 Stimmen
Pruebe
gsudo
. Ein kostenloses Open-Source-Sudo für Windows, das die Ausführung als Administrator über die Befehlszeile ermöglicht. Es erscheint ein UAC-Pop-up.