Назад | Перейти на главную страницу

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

"Судо !!" вызывает ранее выполненную команду с правами администратора в оболочке * nix. Есть ли эквивалент в PowerShell?

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

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

runas /user:domain\administrator $^

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

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

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

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

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

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