Câu trả lời:
$^
là một biến mở rộng đến lệnh Powershell được thực thi cuối cùng.
Bạn có thể chạy một lệnh như một người dùng khác sử dụng runas
, vì vậy các công việc sau:
runas /user:domain\administrator $^
Để rút ngắn điều đó lên một chút, bạn có thể thực hiện một số phép thuật với bí danh. Hãy xem bài viết Technet này để biết thêm.
EDIT: Một cảnh báo - $^
chỉ thực hiện lệnh đầu tiên trong một đường ống hoặc nhiều dòng lệnh. Nếu bạn cần làm lại toàn bộ một lệnh được tiêu bằng các đường ống hoặc dấu chấm phẩy, Invoke-History
thay vào đó hãy sử dụng (mặc định cho toàn bộ lệnh cuối cùng).
Tôi luôn luôn nghĩ rằng JEA (Quản trị chỉ đủ) là một nỗ lực để xấp xỉ một số chức năng của sudo. Bạn có thể đọc nó ở đây:
https://docs.microsoft.com/en-us/powershell/jea/overview
Điểm khác biệt là nó sử dụng từ xa PS thay vì áp dụng cho máy cục bộ. Đây có thể là một sự khác biệt khá quan trọng, đủ để đẩy nó đi quá xa khỏi sudo.
Nâng cao tài khoản cho Kiểm soát tài khoản người dùng, sử dụng runas hoặc thứ gì khác, không thực sự phù hợp với tôi. Nó giống như một sự song hành của su -
.
$^
là mã thông báo đầu tiên của lệnh trước đó. Nếu tôi chấm nguồn một tập lệnh. ./foo.ps1
thì nó$^
là.
. Điều này cũng có nghĩa là các đối số không được chứa. Làm bất cứ điều gì vượt quá một mã thông báo sẽ không hoạt động theo cách này.