Я могу использовать проводник контекстного меню "Открыть окно PowerShell здесь", чтобы открыть PowerShell в текущей папке. Тем не менее, это приглашение запускается как пользователь с ограниченными правами. Как я могу поднять это приглашение, чтобы оно работало от имени администратора, сохраняя текущий каталог?
1 ответ
К сожалению, Windows не позволяет заменить основной токен после запуска процесса. Для целей этого ответа это означает, что мы не можем изменить пользователя или статус повышения, при котором выполняется существующее приглашение PowerShell.
Чтобы запросить повышение прав нового процесса PowerShell, который запускается в текущем каталоге, вы можете использовать эту команду:
Start-Process powershell -Verb runas -ArgumentList "-NoExit -c cd '$pwd'"
-Verb runas
запрашивает повышение прав , а -ArgumentList
предоставляет командную строку новому процессу. -c
дает команду на выполнение (строковая интерполяция превращает $pwd
в текущий каталог текущего процесса). -NoExit
указывает новому процессу не заканчиваться после того, как он завершает свои команды запуска.