Einige Powershell-Skripte (Dateierweiterung ".ps1") benötigen für die korrekte Ausführung erweiterte administrative Rechte. Mit der Kontextmenüoption "Mit PowerShell ausführen" wird das Skript nur mit Benutzerrechten ausgeführt. Für die Ausführung mit administrativen Rechten muss daher zuerst Windows PowerShell mit erweiterten Rechten gestartet und dann das Skript aufgerufen werden.
Dem erweiterten Kontextmenü (rechte Maustaste und Umschalttaste für Großschreibung drücken) von PowerShell-Skripten (".ps1") lässt sich der Menüpunkt "Als Administrator ausführen" hinzufügen. Dadurch können Skripte sofort mit erweiterten administrativen Rechten über die Benutzeroberfläche ausgeführt werden.
So geht's:
- Starten Sie "%windir%\regedit.exe" bzw. "%windir%\regedt32.exe".
- Klicken Sie sich durch folgende Schlüssel (Ordner) hindurch:
HKEY_CLASSES_ROOT
Microsoft.PowerShellScript.1
Shell
- Menüeintrag hinzufügen:
- Erstellen Sie einen neuen Schlüssel mit dem Namen "RunAs".
Klicken Sie dazu mit der rechten Maustaste in das rechte Fenster. Im Kontextmenü wählen Sie "Neu" > "Schlüssel".
- Unter dem gerade erstellten Schlüssel erstellen Sie den neuen Schlüssel "Extended" (REG_SZ).
Dazu klicken Sie mit der rechten Maustaste in das rechte Fenster. Im Kontextmenü wählen Sie "Neu" > "Zeichenfolge".
- Der Wert der Zeichenfolge bleibt leer (ohne Text).
- Erstellten Sie nun den neuen Schlüssel "HasLUAShield" (REG_SZ).
Dazu klicken Sie mit der rechten Maustaste in das rechte Fenster. Im Kontextmenü wählen Sie "Neu" > "Zeichenfolge".
- Der Wert der Zeichenfolge bleibt leer (ohne Text).
- Unter dem Schlüssel "RunAs" erstellen Sie eine neuen Schlüssel mit den Namen "Command".
Klicken Sie dazu mit der rechten Maustaste in das rechte Fenster. Im Kontextmenü wählen Sie "Neu" > "Schlüssel".
- Unter dem gerade erstellten Schlüssel doppelklicken Sie auf den Schlüssel "(Standard)"
- Geben Sie folgenden Befehl / Text ein. Passen Sie ggf. den Pfadnamen an: '"C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe" "-Command" "if((Get-ExecutionPolicy ) -ne 'AllSigned') { Set-ExecutionPolicy -Scope Process Bypass }; & '%1'"'
- Menüeintrag entfernen:
- Löschen Sie den Schlüssel "RunAs" (inklusive aller Unterschlüssel).
Klicken Sie auf den Schlüssel und drücken die Taste "Entf".
- Die Änderungen werden ggf. erst nach einem Neustart aktiv.
Menüeintrag hinzufügen (Registrierungsdatei):
Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\Microsoft.PowerShellScript.1\Shell\RunAs]
"Extended"=""
"HasLUAShield"=""
[HKEY_CLASSES_ROOT\Microsoft.PowerShellScript.1\Shell\RunAs\Command]
@=hex(2):22,00,25,00,53,00,79,00,73,00,74,00,65,00,6d,00,52,00,6f,00,6f,00,74,\
00,25,00,5c,00,53,00,79,00,73,00,74,00,65,00,6d,00,33,00,32,00,5c,00,57,00,\
69,00,6e,00,64,00,6f,00,77,00,73,00,50,00,6f,00,77,00,65,00,72,00,53,00,68,\
00,65,00,6c,00,6c,00,5c,00,76,00,31,00,2e,00,30,00,5c,00,70,00,6f,00,77,00,\
65,00,72,00,73,00,68,00,65,00,6c,00,6c,00,2e,00,65,00,78,00,65,00,22,00,20,\
00,22,00,2d,00,43,00,6f,00,6d,00,6d,00,61,00,6e,00,64,00,22,00,20,00,22,00,\
69,00,66,00,28,00,28,00,47,00,65,00,74,00,2d,00,45,00,78,00,65,00,63,00,75,\
00,74,00,69,00,6f,00,6e,00,50,00,6f,00,6c,00,69,00,63,00,79,00,20,00,29,00,\
20,00,2d,00,6e,00,65,00,20,00,27,00,41,00,6c,00,6c,00,53,00,69,00,67,00,6e,\
00,65,00,64,00,27,00,29,00,20,00,7b,00,20,00,53,00,65,00,74,00,2d,00,45,00,\
78,00,65,00,63,00,75,00,74,00,69,00,6f,00,6e,00,50,00,6f,00,6c,00,69,00,63,\
00,79,00,20,00,2d,00,53,00,63,00,6f,00,70,00,65,00,20,00,50,00,72,00,6f,00,\
63,00,65,00,73,00,73,00,20,00,42,00,79,00,70,00,61,00,73,00,73,00,20,00,7d,\
00,3b,00,20,00,26,00,20,00,27,00,25,00,31,00,27,00,22,00,00,00
Hinweise:
- Der Pfadname des Schlüssels "(Standard)" unter "Command" muss ggf. noch angepasst werden. Die Registrierungsdatei ändert den Typ von "REG_SZ" (Zeichenfolge) auf "REG_EXPAND_SZ" (Wert der erweiterbaren Zeichenfolge), so dass Umgebungsvariablen bei der Pfadangabe möglich sind und die manuelle Anpassung entfallen kann.
- Ändern Sie bitte nichts anderes in der Registrierungsdatei. Dies kann zur Folge haben, dass Windows und/oder Anwendungsprogramme nicht mehr richtig arbeiten.
|