Открытие Windows Терминала с повышенными привилегиями изнутри Терминала Windows - PullRequest
2 голосов
/ 21 июня 2020

Здесь есть множество вопросов, в которых задается вопрос, как повысить привилегии из PowerShell, и почти все они рекомендуют эту команду:

Start-Process -Verb RunAs powershell.exe .....

(или pw sh .exe для Powershell Core)

И это работает, оно открывает новое окно Powershell с повышенными привилегиями после прохождения блока UA C для проверки доступа.

Однако, пока я использую Powershell, я ' m делает это внутри Windows Terminal, нового терминального приложения для Windows 10, и я хотел бы открыть новый экземпляр Windows Terminal с повышенными привилегиями, а не только окно Powershell.

Итак Я пробовал эти команды:

Start-Process -Verb RunAs wt
Start-Process -Verb RunAs wt.exe
Start-Process -Verb RunAs (Get-Command wt)
Start-Process -Verb RunAs "C:\Users\lasse\AppData\Local\Microsoft\WindowsApps\wt.exe"

Все они терпят неудачу с:

Start-Process: Эта команда не может быть запущена из-за ошибки: файл недоступен для системы ..

Я предполагаю, что это как-то связано с тем, где находится исполняемый файл в моем профиле, но если я щелкну правой кнопкой мыши значок Windows Терминал на панели задач и выбрать запустить это с администратором, открывается нормально. Это то, что я хочу продублировать.

Итак, есть ли у меня способ изменить либо команды, которые я пробовал выше, либо изменить некоторые настройки доступа, которые заставили бы это работать?

Для моих спецификаций Пример c, я просто хочу упростить открытие административного терминала, мне не нужен способ повышения произвольных команд, тогда я с радостью воспользуюсь командами, которые я уже здесь показал.

Ответы [ 4 ]

4 голосов
/ 23 июня 2020

В настоящее время вы не можете открыть сеанс с повышенными правами wt.exe из командной строки без обходных путей. Обходные пути включают использование [gsudo][1], Использование Планировщика заданий (я тестировал этот, и он работает, но вам нужно использовать полный путь к wt.exe, и вы можете пропустить этап создания ярлыка) ИЛИ, если вы в порядке с помощью сочетания клавиш, самый простой способ; с помощью сочетания клавиш для запуска Windows Терминал от имени администратора на панели задач.

Для вашего варианта использования:

Для моего конкретного экземпляра c я просто хочу сделать это проще открыть административный терминал, мне не нужен способ поднять произвольные команды, тогда я с радостью воспользуюсь командами, которые я уже здесь показал.

Подойдет самый простой подход:

Пин Windows Терминал как первый элемент на панели задач. Затем нажмите Win + Ctrl + Shift + 1, чтобы открыть его от имени администратора.

Если вам действительно нужно запустить Windows Терминал из командной строки из Windows Терминала, затем создайте задачу в Задаче Планировщик:

  1. Дайте задаче имя, отметьте «Запускать с наивысшими привилегиями».
  2. Выберите вкладку «Действия», нажмите «Создать», выберите «Запустить программу» как Действие. Введите полный путь к wt.exe в поле «Программа / сценарий». Щелкните ОК. Снова нажмите OK.
  3. Перейдите на вкладку «Условия», снимите флажок «Запускать задачу, только если компьютер подключен к сети A C».
  4. Перейдите на вкладку «Настройки» и убедитесь, что «Разрешить задача для запуска по запросу »и снимите флажок« Останавливать задачу, если она выполняется дольше ».
  5. Наконец, в вашей оболочке (Powershell) запустите сеанс терминала с повышенными правами Windows, выполнив команду: schtasks /run /TN "TASK_NAME" где TASK_NAME - это имя, которое вы дали задаче на шаге 1.
1 голос
/ 30 июля 2020

Попробуйте следующее:

powershell "Start-Process -Verb RunAs cmd.exe '/c start wt.exe'"

Также ознакомьтесь с этими ссылками:

Аргументы командной строки WT.exe: https://docs.microsoft.com/en-us/windows/terminal/command-line-arguments?tabs=windows

Статья о добавлении командной строки Open Windows Terminal в контекстное меню в проводнике (включая Admin): https://dkcool.tailnet.net/2020/07/add-open-windows-terminal-command-prompt-to-the-explorer-context-menu-in-windows-10/

Статья о добавлении командной строки Open Admin в контекстное меню в проводнике: https://dkcool.tailnet.net/2019/05/add-open-admin-command-prompt-to-the-explorer-context-menu-in-windows-10/

1 голос
/ 21 июля 2020

В моем конкретном случае мне также нужен Windows Терминал, постоянно открытый от имени администратора. Это то, что я сделал, запустил «where wt», чтобы отобразить путь, по которому находится Windows exe-файл приложения терминала, он должен быть C: \ Users \ YOURUSER \ AppData \ Local \ Microsoft \ WindowsApps \ wt.exe. Я создал ярлык для этого файла и проверил «Запуск от имени администратора» в дополнительных свойствах, затем я просто закрепил его для запуска и вуаля. После этого вы можете удалить свой временный ярлык, если хотите.

0 голосов
/ 19 августа 2020

Не прямой ответ, а другой вариант, если у вас PowerToys :

  1. Alt + Пробел, введите Терминал,
  2. Выберите Запуск от имени администратора ( или Ctrl + Shift + Enter)

Вы можете установить PowerToyrs, используя WinGet

...