Een commando als Administrator uitvoeren met PowerShell?

Je weet dat als je de administratieve gebruiker van een systeem bent, je met de rechtermuisknop op bijvoorbeeld een batchscript kunt klikken en het als Administrator kunt uitvoeren zonder het Administrator wachtwoord in te voeren?

Ik'ben benieuwd hoe dit te doen met een PowerShell script. Ik wil mijn wachtwoord niet hoeven in te voeren; ik wil gewoon de rechtsklik Uitvoeren als Administrator methode nabootsen.

Alles wat ik tot nu toe heb gelezen vereist dat je het beheerderswachtwoord opgeeft.

Oplossing

Als de huidige console niet verheven is en de operatie die je probeert te doen vereist verhoogde rechten dan kun je powershell starten met de "Run as administrator" optie

PS> Start-Process powershell -Verb runAs
Commentaren (6)

Je kunt eenvoudig een aantal registry entries toevoegen om een "Run as administrator" context menu te krijgen voor .ps1 bestanden:

New-Item -Path "Registry::HKEY_CLASSES_ROOT\Microsoft.PowershellScript.1\Shell\runas\command" `
-Force -Name '' -Value '"c:\windows\system32\windowspowershell\v1.0\powershell.exe" -noexit "%1"'

(bijgewerkt naar een eenvoudiger script van @Shay)

In principe moet je bij `HKCR:icrosoft.PowershellScript.1 de standaard waarde instellen om het script met Powershell aan te roepen.

Commentaren (6)

Dit gedrag is met opzet. Er zijn meerdere lagen van beveiliging omdat Microsoft echt niet wilde dat .ps1 bestanden het nieuwste e-mail virus zouden zijn. Sommige mensen vinden dit in tegenspraak met het idee van taakautomatisering, en dat is terecht. Het Vista+ beveiligingsmodel is om dingen te "de-automatiseren" waardoor de gebruiker ze in orde maakt.

Echter, ik vermoed dat als je powershell zelf start als hooggeplaatst, het in staat zou moeten zijn om batch-bestanden uit te voeren zonder opnieuw om het wachtwoord te vragen totdat je powershell sluit.

Commentaren (0)