Windows: Запуск файлов .ps1 от имени администратора через контекстное меню.

В Windows почему-то файлы powershell скриптов (.ps1) не имеют пункта "Запустить от имени администратора". Что странно, т.к. это тоже скрипты, только выполняются они не CMD, а Windows Powershell. Исправить ситуацию можно небольшими изменениями реестра.

1. В ветке HKEY_CLASSES_ROOT\Microsoft.PowerShellScript.1\shell  создаем подраздел с именем runas и пустой строковый параметр с именем HasLUAShield.

2. В ветке HKEY_CLASSES_ROOT\Microsoft.PowerShellScript.1\shell\runas создаем подраздел с именем command.

3.1 Если хотим чтобы окно powershell закрывалось после выполнения скрипта в ветке HKEY_CLASSES_ROOT\Microsoft.PowerShellScript.1\shell\runas\command меняем параметр (По умолчанию) на powershell.exe "-Command" "if((Get-ExecutionPolicy ) -ne 'AllSigned') { Set-ExecutionPolicy -Scope Process Bypass }; & '%1'"

3.2 Если хотим чтобы окно powershell не закрывалось после выполнения скрипта и был виден результат в ветке HKEY_CLASSES_ROOT\Microsoft.PowerShellScript.1\shell\runas\command меняем параметр (По умолчанию) на powershell.exe –NoExit "-Command" "if((Get-ExecutionPolicy ) -ne 'AllSigned') { Set-ExecutionPolicy -Scope Process Bypass }; & '%1'"

После всех этих манипуляций в контекстном меню файлов .ps1 появится пункт "Запуск от имени администратора"

Для ленивых: скачать готовые reg-файлы для импорта можно отсюда.

 
1 1 1 1 1 1 1 1 1 1 Рейтинг 0.00 [0 Голоса (ов)]

Добавить комментарий