Sudo !! équivalent dans PowerShell

13

"Sudo !!" invoque la commande précédemment exécutée avec des privilèges d'administrateur dans le shell * nix. Existe-t-il un équivalent dans PowerShell?

BlueGene
la source

Réponses:

13

$^ est une variable qui se développe jusqu'à la dernière commande Powershell exécutée.

Vous pouvez exécuter une commande en tant qu’autre utilisateur à l’aide de runasce qui suit:

runas /user:domain\administrator $^

Pour raccourcir un peu cela, vous pouvez faire de la magie avec des alias. Jetez un œil à cet article Technet pour plus d'informations.

EDIT: une mise en garde - $^n'exécute que la première commande d'un pipeline ou d'une ligne de commandes multiples. Si vous devez refaire une commande entière parsemée de tuyaux ou de points-virgules, utilisez Invoke-Historyplutôt (qui correspond par défaut à la dernière commande complète dans son intégralité).

Hyppy
la source
3
En fait, $^c'est le premier jeton de la commande précédente. Si je dot-source un script avec . ./foo.ps1alors $^est .. Cela signifie également que les arguments ne sont pas contenus. Faire tout ce qui dépasse un seul jeton ne fonctionnera pas de cette façon.
Joey
ok, demande-t-il un mot de passe après cela? J'essaie d'éviter d'incorporer un mot de passe en texte brut dans mon script.
Ingénieur principal des systèmes
Oui. Sauf si vous exécutez le script en tant qu'administrateur, vous devrez fournir des informations d'identification pour effectuer tout ce qui nécessite des privilèges d'administrateur. Vous voudrez peut-être examiner quelque chose comme Kixtart pour symboliser un mot de passe intégré
Hyppy
0

J'ai toujours pensé à JEA (Just Enough Administration) pour essayer d'approcher certaines des fonctionnalités de sudo. Vous pouvez lire à ce sujet ici:

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

Ce qui diffère, c'est qu'il utilise la télécommande PS plutôt que de l'appliquer à la machine locale. Cela peut être une différence assez critique, assez pour l'éloigner trop de sudo.

Élever pour tenir compte du contrôle de compte d'utilisateur, en utilisant des runas ou autre chose, ne me convient pas vraiment. Cela ressemble plus à un parallèle de su -.

Chris Dent
la source
1
We're sorry, the page you requested cannot be found.. Semble être ici maintenant.
GnP