Antworten:
$^
ist eine Variable, die zum zuletzt ausgeführten Powershell-Befehl erweitert wird.
Sie können einen Befehl als ein anderer Benutzer ausführen runas
, sodass Folgendes funktioniert:
runas /user:domain\administrator $^
Um dies ein wenig zu verkürzen, können Sie mit Aliasen etwas Zauberei machen. Weitere Informationen finden Sie in diesem Technet-Artikel .
BEARBEITEN: Eine Einschränkung - $^
führt nur den ersten Befehl in einer Pipeline oder einer Mehrfachbefehlszeile aus. Wenn Sie einen gesamten Befehl wiederholen müssen, der mit Pfeifen oder Semikolons gespickt ist, verwenden Sie Invoke-History
stattdessen (der Standardwert ist der letzte vollständige Befehl in seiner Gesamtheit).
Ich habe JEA (Just Enough Administration) immer als einen Versuch angesehen, einen Teil der Funktionalität von sudo zu approximieren. Hier können Sie darüber lesen:
https://docs.microsoft.com/en-us/powershell/jea/overview
Der Unterschied besteht darin, dass PS-Remoting verwendet wird und nicht auf den lokalen Computer angewendet wird. Dies kann ein kritischer Unterschied sein, der ausreicht, um Sudo zu weit zu entfernen.
Das Erhöhen, um für die Benutzerkontensteuerung mit Runas oder etwas anderem Rechenschaft abzulegen, passt nicht wirklich zu mir. Es ist eher eine Parallele von su -
.
$^
ist es das erste Token des vorherigen Befehls. Wenn ich ein Skript mit dot-source. ./foo.ps1
dann$^
ist.
. Dies bedeutet auch, dass keine Argumente enthalten sind. Alle Aktionen, die ein einzelnes Token überschreiten, funktionieren auf diese Weise nicht.