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


Ответы:


13

$^ переменная, которая раскрывается до последней выполненной команды Powershell.

Вы можете запустить команду, используя другого пользователя runas, поэтому работает следующее:

runas /user:domain\administrator $^

Чтобы сократить это немного, вы можете сделать немного магии с псевдонимами. Взгляните на эту статью Technet для получения дополнительной информации.

РЕДАКТИРОВАТЬ: Одна оговорка - $^выполняет только первую команду в конвейере или многокомпонентной строке. Если вам нужно повторить всю команду, заполненную трубами или точками с запятой, используйте Invoke-Historyвместо этого (по умолчанию используется последняя полная команда).


3
На самом деле, $^это первый токен предыдущей команды. Если я дот-источник сценария с, . ./foo.ps1то $^есть .. Это также означает, что аргументы не содержатся. Выполнение всего, что превышает один токен, не будет работать таким образом.
— Джои

хорошо, он спрашивает пароль после этого? Я пытаюсь избежать встраивания незашифрованного пароля в мой скрипт.
— Старший системный инженер

Да. Если вы не запускаете сценарий от имени администратора, вам потребуется предоставить учетные данные, чтобы выполнить все, что требует прав администратора. Вы можете захотеть взглянуть на что-то вроде Kixtart, чтобы токенизировать встроенный пароль
— Hyppy,

0

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

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

Отличие состоит в том, что он использует удаленное взаимодействие PS, а не применяется к локальной машине. Это может быть весьма критическим отличием, достаточным, чтобы отодвинуть его слишком далеко от sudo.

Поднятие учетной записи для контроля учетных записей пользователей, используя runas или что-то еще, не очень подходит для меня. Это больше похоже на параллель su -.


1
We're sorry, the page you requested cannot be found., Кажется, сейчас здесь .
— GnP
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.