Como você define uma função do PowerShell que requer elevação?

O PowerShell pode ser extremamente útil para muitas tarefas diárias, mas se você precisar ajustar algumas funções com um pouco de segurança em mente, como definir uma função para que ela exija elevação? O post de perguntas e respostas do superusuário de hoje tem a resposta para a pergunta de um leitor curioso.

A sessão de perguntas e respostas de hoje chega até nós como cortesia do SuperUser – uma subdivisão do Stack Exchange, um grupo de sites de perguntas e respostas voltado para a comunidade.

A questão

O leitor de SuperUser Vlastimil quer saber como definir uma função do PowerShell que requer elevação:

Como não consigo encontrar nenhuma alternativa para o comando sudo elevation do Linux , tenho a seguinte pergunta. Como defino uma função do PowerShell que requer elevação, como na ativação de um prompt do UAC em meu sistema Windows 8.1 Pro de 64 bits? Por exemplo, digamos que eu execute a seguinte função:

Com os seguintes resultados:

Para ficar totalmente claro, se eu executar o PowerShell como “usuário” e, em seguida, executar a função de verificação do sistema mencionada acima , quero que a função seja elevada para poder executar o comando (quero que o prompt do UAC apareça).

Como você define uma função do PowerShell que requer elevação?

A resposta

O contribuidor do SuperUser Ashton tem a resposta para nós:

Para executar um comando específico em uma janela elevada:

Por exemplo:

Para executar um script específico de uma janela elevada:

Para executar uma sessão inteira do PowerShell que solicita o UAC:

Uma função para retornar $ True ou $ False se a janela atual estiver sendo executada com permissões elevadas:

Para garantir que um script seja executado apenas como administrador, adicione isto ao início:

No PowerShell v4.0, o acima pode ser simplificado usando uma instrução #Requires :

Fonte: Executar com permissões elevadas [SS64.com]


Tem algo a acrescentar à explicação? Som desligado nos comentários. Quer ler mais respostas de outros usuários do Stack Exchange com experiência em tecnologia? Confira o tópico de discussão completo aqui .

Recomendado:  Streaming Box Showdown: Apple TV x Roku x Amazon Fire TV x Chromecast x Android TV