Sur mon bureau Windows 7, j'ai script.ps1, qui nécessite des privilèges d'administrateur (il démarre un service). Je veux cliquer sur ce script et l'exécuter avec les privilèges d'administrateur.
Quel est le moyen le plus simple d'y parvenir?
Voici une façon de le faire, à l’aide d’une icône supplémentaire sur votre bureau. J'imagine que vous pouvez déplacer le script de quelqu'un d'autre si vous ne souhaitez afficher qu'une seule icône sur votre bureau.
Vous pouvez maintenant exécuter le script élevé en double-cliquant simplement sur le nouveau raccourci sur votre bureau.
Sur les systèmes compatibles UAC, pour vous assurer qu'un script s'exécute avec des privilèges d'administrateur complets, ajoutez ce code au début de votre 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'
lors de l'exécution de votre script avec le commutateur -elevated, il tentera d'élever les privilèges avant l'exécution.
si vous êtes dans le même environnement, vous pouvez le faire:
Start-Process powershell -verb runas -ArgumentList "-file fullpathofthescript"
Comme il est assis sur votre bureau, je dirais que le moyen le plus simple de le faire est de le faire glisser sur le gadget elevation .
Sinon, vous pourriez créer un script séparé en utilisant la commande elevate
sur votre script ps1.
Ou, vous pouvez appliquer elevate
uniquement au bit de démarrage de service.
PowerShell ISE est présent à l'emplacement% windir%\system32\WindowsPowerShell\v1.0\PowerShell_ISE.exe. Vous pouvez cliquer dessus avec le bouton droit de la souris et sélectionner "Exécuter en tant qu'administrateur", puis exécuter le script à partir de là.
Vous pouvez également le trouver sous Logo Windows> Tous les programmes> Accessoires> Windows PowerShell et faire la même chose avec ces raccourcis.