Jawaban:
$^
adalah variabel yang diperluas ke perintah Powershell yang terakhir dieksekusi.
Anda dapat menjalankan perintah sebagai pengguna lain menggunakan runas
, jadi berikut ini berfungsi:
runas /user:domain\administrator $^
Untuk mempersingkat itu sedikit, Anda bisa melakukan sihir dengan alias. Lihatlah artikel Technet ini untuk info lebih lanjut.
EDIT: Satu peringatan - $^
hanya mengeksekusi perintah pertama dalam pipa atau multi-perintah. Jika Anda perlu mengulang seluruh perintah yang dibumbui dengan pipa atau titik koma, gunakan Invoke-History
sebagai gantinya (yang default ke perintah penuh terakhir secara keseluruhan).
Saya selalu memikirkan JEA (Just Enough Administration) sebagai upaya untuk memperkirakan beberapa fungsi sudo. Anda dapat membacanya di sini:
https://docs.microsoft.com/en-us/powershell/jea/overview
Perbedaannya adalah bahwa ia menggunakan PS remoting daripada menerapkan ke mesin lokal. Ini mungkin perbedaan yang cukup kritis, cukup untuk mendorongnya terlalu jauh dari sudo.
Mengangkat ke akun untuk Kontrol Akun Pengguna, menggunakan runa atau yang lainnya, tidak cocok untuk saya. Ini lebih mirip paralel su -
.
$^
adalah token pertama dari perintah sebelumnya. Jika saya dot-source skrip dengan. ./foo.ps1
itu$^
adalah.
. Ini juga berarti bahwa argumen tidak terkandung. Melakukan apa pun yang melebihi token tunggal tidak akan bekerja dengan cara ini.