Запустіть процес з підвищенням рівня з PowerShell
PowerShell — це розширена форма командного рядка. Він розширений за допомогою величезного набору готових до використання командлетів і має можливість використовувати .NET Framework/C# у різних сценаріях. Сьогодні я покажу вам, як розпочати процес із підняттям підказки PowerShell.
Раніше я розповідав про те, як таке може бути зроблено з пакетного файлу. Однак із Windows 10 Creators Update Microsoft збирається зменшити акцент на командному рядку та просувати PowerShell скрізь. Перегляньте ці статті для довідки:
- Windows 10 build 14986 замінює командний рядок на PowerShell всюди
- Додайте командний рядок назад до меню Win+X в Windows 10 Creators Update
- Додайте командний рядок до контекстного меню в Windows 10 Creators Update
- Видаліть вікно Open PowerShell тут із контекстного меню в Windows 10
Тож, це гарна ідея вивчити цей корисний трюк, який можна виконати з консолі PowerShell і заощадити ваш час.
Запустіть процес з підвищенням рівня з PowerShell
Для цього завдання ми будемо використовувати командлет Start-Process. Він підтримує а
кількість варіантів, одним з них є -Дієслово. Якщо ви вкажете -Verb як "RunAs", процес, який ви збираєтеся розпочати, буде відкрито з підвищеними рівнями.Давайте спробуємо запустити програму Блокнот з підвищеним рівнем.
- Відкрийте PowerShell.
- Введіть або скопіюйте та вставте таку команду:
Пуск-Процес "notepad.exe" -Дієслово RunAs
- З’явиться підказка UAC. Підтвердьте це:
- Додаток Блокнот буде відкрито з підвищеними можливостями.
Ви можете переконатися в цьому за допомогою диспетчера завдань. Дивіться статтю: Як перевірити, чи виконується процес від імені адміністратора (підвищений) у Windows
Примітка: якщо натиснути кнопку «Ні» у підказці UAC, консоль PowerShell роздрукує повідомлення про помилку «Операцію скасовано користувачем». Це очікувано.
Порада. Ви можете запустити програму з підвищеними можливостями за допомогою PowerShell безпосередньо, не відкриваючи її консоль. Наприклад, ви можете створити ярлик або ввести таку команду в діалоговому вікні «Виконати»:
powershell.exe -Команда "Пуск-Процес Notepad.exe -Verb RunAs"
Результат буде таким же. Вікно Powershell на мить спалахне, а потім додаток буде відкрито з підвищеними можливостями.
Почніть процес з підвищеним рівнем аргументів із PowerShell
Якщо вам потрібно передати деякі аргументи (також відомі як перемикачі або параметри) процесу, який ви збираєтеся запустити з підвищеним рівнем права з PowerShell, використовуйте перемикач -Argument командлета Start-Process. Вказаний там аргумент буде переданий цільовому виконуваному файлу. Ось модифіковані приклади з Notepad.exe, які я використовував вище.
Для консолі PowerShell скористайтеся такою командою:
Пуск-Процес "notepad.exe" -Аргумент "C:\My Stuff\my file.txt" -Дієслово RunAs
Введіть шляхи, які мають пробіли в лапках. Якщо вам потрібно передати більше, ніж більше аргументів, розділіть їх комами та використовуйте ArgumentList:
Пуск-процес "file.exe" -ArgumentList "argument1, argument2, argument3" -Дієслово RunAs
У PowerShell можна використовувати таку команду:
powershell.exe -Команда "Пуск-процес "Notepad.exe" -Аргумент "C:\My Stuff\my file.txt" -Дієслово RunAs"
Ще один приклад:
powershell -Команда "Пуск-процес powershell.exe -ArgumentList '-Обхід політики виконання -NoExit -Команда \`"Checkpoint-Computer -Опис \"RestorePoint1\" -RestorePointType \"MODIFY_SETTINGS\"\`"' -Дієслово RunAs"
Дивіться статтю для отримання додаткової інформації: Створіть точку відновлення в Windows 10 за допомогою PowerShell
Введіть шляхи пробілами в одинарні лапки, як показано вище.
Це воно.