Windows PowerShell szkriptek (kiterjesztés .PS1) alapértelmezés szerint nincs társítva a PowerShell.exe futtatható fájlhoz. A PS1 szkriptfájlra való dupla kattintással megnyílik a notepad.exe tesztszerkesztő ablak. A PS1 fájlt futtathatja a PowerShell-ben az Intéző helyi menüjéből, ha kiválasztja Futtassa a PowerShell használatával. Az ilyen szkript azonban a felhasználói munkamenet részeként fut, rendszergazdai jogok nélkül. Ugyanazon szkriptfájlokhoz .bat, .cmd, van egy külön menüpont Futtatás rendszergazdaként. PowerShell esetén meg kell nyitnia a Power Shell konzolt emelt jogokkal, és meg kell adnia a szkriptfájl teljes elérési útját. Nem túl kényelmes.
Fontolja meg a File Explorer hozzáadását a helyi menübe a * .ps1 kiterjesztésű fájlok esetében - ez egy elem, amely lehetővé teszi a PowerShell parancsfájl futtatását rendszergazdai jogokkal..
- Futtassa a beállításjegyzék-szerkesztőt (regedit.exe)
- Menj az ághoz HKEY_CLASSES_ROOT \ Microsoft.PowerShellScript.1 \ shell
- Hozzon létre egy alkulcsot runas és menj hozzá
- A runas szakaszon hozzon létre egy üres string értéket HasLUAShield (ez a paraméter hozzáadja az UAC ikont a felfedező helyi menüjéhez)
- A runas szakaszban hozzon létre egy beágyazott alszakaszt parancs
- Paraméterértékként Alapértelmezett a parancs szakaszában adja meg az értéket:
powershell.exe "-Command" "if ((Get-ExecutionPolicy) -ne 'AllSigna') Set-ExecutionPolicy -Scope Process Bypass; & '% 1'"
- Most, ha bármelyik * .PS1 fájlra rákattint az RMB-re, a helyi menüben kiválaszthatja Futtatás rendszergazdaként
tanács. Ha a szkript gyorsan fut, a felhasználónak csak látnia kell a megjelenő PowerShell ablakot, amely gyorsan eltűnik. És mi van, ha a szkript eredménye a képernyőn marad, hogy a felhasználó megtekinthesse?
Annak megakadályozása érdekében, hogy a PowerShell konzol ablaka bezáródjon a szkript befejezése után, a paramétert hozzá kell adnia a sorhoz -NoExit:
powershell.exe -NoExit "-parancs" ", ha ((Get-ExecutionPolicy) -ne 'AllSigna') Set-ExecutionPolicy -Scope Process Bypass; & '% 1'"