2010-02-12 21:46:32 +0000 2010-02-12 21:46:32 +0000
63
63

hoe kan ik als beheerder

een powershell script uitvoeren Op mijn Windows 7 Desktop heb ik script.ps1, dat beheerdersrechten nodig heeft (het start een service). Ik wil op dit script klikken en het uitvoeren met beheerdersrechten.

Wat is de makkelijkste manier om dit te doen?

Antwoorden (7)

53
53
53
2010-02-13 12:58:54 +0000

Hier is een manier om het te doen, met behulp van een extra pictogram op uw bureaublad. Ik neem aan dat je het script door iemand anders kunt laten verplaatsen als je maar één icoontje op je bureaublad wilt hebben.

  1. Maak een snelkoppeling naar je Powershell script op je bureaublad
  2. 2. Klik met de rechtermuisknop op de snelkoppeling en klik op Eigenschappen
  3. Klik op het pictogram. 3. Klik op het tabblad Snelkoppeling
  4. Klik met de rechtermuisknop op de knop Procedures . 4. Klik op Uitgebreid
  5. Selecteer Uitvoeren als beheerder

U kunt het script nu uitvoeren door eenvoudig te dubbelklikken op de nieuwe snelkoppeling op uw bureaublad.

20
20
20
2013-01-10 17:29:06 +0000

Op UAC-systemen, om er zeker van te zijn dat een script draait met volledige admin-rechten, voeg deze code toe aan het begin van uw script:

param([switch]$Elevated)

function Test-Admin {
  $currentUser = New-Object Security.Principal.WindowsPrincipal $([Security.Principal.WindowsIdentity]::GetCurrent())
  $currentUser.IsInRole([Security.Principal.WindowsBuiltinRole]::Administrator)
}

if ((Test-Admin) -eq $false) {
    if ($elevated) 
    {
        # tried to elevate, did not work, aborting
    } 
    else {
        Start-Process powershell.exe -Verb RunAs -ArgumentList ('-noprofile -noexit -file "{0}" -elevated' -f ($myinvocation.MyCommand.Definition))
}

exit
}

'running with full privileges'

wanneer u uw script uitvoert met de -verhoogde schakelaar, zal het proberen om de rechten te verhogen voordat het wordt uitgevoerd.

13
13
13
2010-11-27 11:48:43 +0000

als je in dezelfde krachtschelp zit zou je dit kunnen doen:

Start-Process powershell -verb runas -ArgumentList "-file fullpathofthescript"
4
4
4
2010-02-12 22:02:27 +0000

Aangezien het op uw bureaublad zit, zou ik zeggen dat de meest moeiteloze manier om dit voor elkaar te krijgen is door het te slepen naar de elevatiegadget .

Anders zou u een apart script kunnen maken met behulp van het elevate-commando op uw ps1-script.

Of u zou elevate gewoon kunnen toepassen op de service-startbit.

1
1
1
2015-07-16 17:57:01 +0000

PowerShell ISE leeft op %windirir% van het systeem32 …WindowsPowerShellv1.0 PowerShell. Je kunt daar met de rechtermuisknop op klikken en “Uitvoeren als beheerder” selecteren en van daaruit het script uitvoeren.

Je kunt het ook vinden onder het Windows Logo> Alle programma’s> Accessoires> Windows PowerShell en hetzelfde doen met die snelkoppelingen.

0
0
0
2019-07-15 04:56:44 +0000

Als u een optie wilt om een Powershell script te starten als adminstrator, direct vanuit het Explorer context-menu, zie paragraaf 2 van mijn antwoord hier: https://stackoverflow.com/a/57033941/2441655 ](https://stackoverflow.com/a/57033941/2441655)

-1
-1
-1
2017-10-23 20:34:16 +0000

Voeg dit toe aan het begin van het script:

$currentUser = New-Object Security.Principal.WindowsPrincipal $([Security.Principal.WindowsIdentity]::GetCurrent())
$testadmin = $currentUser.IsInRole([Security.Principal.WindowsBuiltinRole]::Administrator)
if ($testadmin -eq $false) {
Start-Process powershell.exe -Verb RunAs -ArgumentList ('-noprofile -noexit -file "{0}" -elevated' -f ($myinvocation.MyCommand.Definition))
exit $LASTEXITCODE
}