Судо !! еквівалент PowerShell


Відповіді:


13

$^ - це змінна, яка розширюється до останньої виконаної команди Powershell.

Ви можете запустити команду як інший користувач, використовуючи runasнаступні дії:

runas /user:domain\administrator $^

Щоб трохи скоротити це, ви можете зробити магію псевдонімами. Погляньте на цю статтю Technet, щоб отримати додаткову інформацію.

EDIT: Один застереження - $^виконує лише першу команду в конвеєрі або багатокомандному рядку. Якщо вам потрібно повторити цілу команду, засипану трубами або крапками з комою, використовуйте Invoke-Historyнатомість (яка за замовчуванням виконує останню повну команду в повному обсязі).


3
Власне, $^це перший маркер попередньої команди. Якщо я дот-джерелом сценарій з . ./foo.ps1тоді $^є .. Це також означає, що аргументи не містяться. Робити що-небудь, що перевищує один маркер, це не вийде.
Joey

ОК, він запитує пароль після цього? Я намагаюся уникати вкладеного паролю простого тексту в свій сценарій.
Старший системний інженер

Так. Якщо ви не запустите скрипт як адміністратор, вам потрібно надати облікові дані, щоб зробити все, що вимагає прав адміністратора. Ви можете заглянути в щось на кшталт Kixtart, щоб позначити вбудований пароль
Hyppy

0

Я завжди хотів JEA (Just Enough Administration) як спробу наблизити частину функціональності sudo. Про це можна прочитати тут:

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

Відмінність полягає в тому, що він використовує видалення PS, а не звернення до локальної машини. Це може бути досить критичною різницею, достатньою, щоб відсунути його занадто далеко від судо.

Підвищення на облік для контролю облікових записів користувачів, використання рун або чогось іншого, мені не дуже підходить. Це більше схоже на паралель su -.


1
We're sorry, the page you requested cannot be found.. Здається, зараз тут .
GnP
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.