Na área de trabalho do Windows 7, tenho o script.ps1, que precisa de privilégios de administrador (ele inicia um serviço). Quero clicar neste script e executá-lo com privilégios de administrador.
Qual é a maneira mais fácil de conseguir isso?
windows-7
powershell
Sajee
fonte
fonte
powershell -f
em frente ao caminho do script, de modo a "completa" o comando ...script.ps1
obras, assim como um atalho parapowershell.exe -f script.ps1
, mas o último pode ser configurado para executar como administrador (verpowershell.exe /?
pela explicação do-f
ou-File
switch)Nos sistemas habilitados para UAC, para garantir que um script esteja sendo executado com privilégios totais de administrador, adicione este código no início do seu script:
ao executar seu script com a opção -elevated, ele tentará elevar privilégios antes de executar.
fonte
param(...)
na parte superior e encaminhe-os imediatamente antes-elevated
, você precisará ser inteligente sobre como criar oArgumentList
, provavelmente desejará usar oString[]
formulário.se você estiver no mesmo PowerShell, poderá fazer o seguinte:
fonte
C:\Windows\System32
. Uma alternativa que preserva o diretório atual: stackoverflow.com/a/57033941/2441655Como está na área de trabalho, eu diria que a maneira mais fácil de fazer isso é arrastá-la para o gadget de elevação .
Caso contrário, você poderá criar um script separado usando o
elevate
comando no seu script ps1.Ou, você pode aplicar
elevate
apenas ao bit de inicialização do serviço.fonte
O PowerShell ISE vive em% windir% \ system32 \ WindowsPowerShell \ v1.0 \ PowerShell_ISE.exe. Você pode clicar com o botão direito do mouse e selecionar "Executar como administrador" e executar o script a partir daí.
Você também pode encontrá-lo no logotipo do Windows> Todos os programas> Acessórios> Windows PowerShell e fazer o mesmo com esses atalhos.
fonte
Se você deseja uma opção para iniciar um script do Powershell como administrador, diretamente no menu de contexto do Explorer, consulte a seção 2 da minha resposta aqui: https://stackoverflow.com/a/57033941/2441655
fonte
Adicione isso ao início do script:
fonte