Sudo !! equivalente no PowerShell


Respostas:


13

$^ é uma variável que se expande para o último comando do PowerShell executado.

Você pode executar um comando como outro usuário usando runas, para que o seguinte funcione:

runas /user:domain\administrator $^

Para encurtar um pouco, você pode fazer alguma mágica com aliases. Dê uma olhada neste artigo da Technet para obter mais informações.

EDIT: Uma ressalva - $^apenas executa o primeiro comando em um pipeline ou linha de multi-comando. Se você precisar refazer um comando inteiro Invoke-Historyrepleto de pipes ou ponto e vírgula, use-o (o padrão é o último comando completo na sua totalidade).


3
Na verdade, $^é o primeiro token do comando anterior. Se eu fornecer um script com ponto, . ./foo.ps1então $^é .. Isso também significa que os argumentos não estão contidos. Fazer qualquer coisa que exceda um único token não funcionará dessa maneira.
— Joey

ok, ele pede senha depois disso? Estou tentando evitar a incorporação de senha de texto sem formatação no meu script.
— Senior Systems Engineer

Sim. A menos que você execute o script como administrador, precisará fornecer credenciais para fazer qualquer coisa que exija privilégios de administrador. Você pode querer olhar para algo como Kixtart tokenizar uma senha embutida
— Hyppy

0

Eu sempre pensei no JEA (Just Enough Administration) como uma tentativa de aproximar algumas das funcionalidades do sudo. Você pode ler sobre isso aqui:

https://docs.microsoft.com/en-us/powershell/jea/overview

A diferença é que ele usa o sistema de comunicação remota PS em vez de aplicar à máquina local. Essa pode ser uma diferença bastante crítica, o suficiente para afastá-la do sudo.

Elevar para dar conta do Controle de Conta de Usuário, usando runas ou outra coisa, não se encaixa muito bem para mim. É mais como um paralelo de su -.


1
We're sorry, the page you requested cannot be found.. Parece estar aqui agora.
— GnP 27/07
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.