Відповіді:
Найпростіший спосіб зробити це - запустити Powershell за допомогою жетонів адміністрування. Для цього ви клацніть правою кнопкою миші на Powershell (або ярлик до нього) і натисніть "запустити як адміністратор". Крім того, ви можете використовувати elevate.cmd .
За словами Microsoft , спосіб Powershell v2 полягає в тому, щоб клацнути правою кнопкою миші на ярлику та вибрати пункт Запустити як адміністратор .
І піднятись у вікно Powershell:
start-process powershell –verb runAs
Який із пакетного файлу cmd.exe, ярлика або рядка Run виглядатиме так (повторно) приблизно так:
powershell "start-process powershell -verb runas"
Це відкриває новий екземпляр оболонки:
function Run-Elevated ($scriptblock)
{
# TODO: make -NoExit a parameter
# TODO: just open PS (no -Command parameter) if $scriptblock -eq ''
$sh = new-object -com 'Shell.Application'
$sh.ShellExecute('powershell', "-NoExit -Command $scriptblock", '', 'runas')
}
Я сподіваюся, що з цим є проблеми - зокрема, ви не отримаєте вихід свого сценарію назад в сценарій виклику. З іншого боку, він буде там у новому екземплярі PS, щоб ви могли зламати його там.
Якщо ви хочете завжди запускати PowerShell з адміністративними привілеями, ви можете клацнути правою кнопкою миші ярлик PowerShell, потім натиснути кнопку "Додатково ..." на вкладці "Ярлик", а потім вибрати "Запустити як адміністратор".
Найпростіший спосіб ...
Ось як налаштувати просту команду для отримання привілеїв адміністратора в будь-який час, з будь-якого сеансу PowerShell!
Крок 1. Відкрийте свій профіль PowerShell. (Дозвольте блокноту створити файл, якщо він відсутній.)
notepad "$profile"
Крок 2: Вставте наступний код кудись у цей файл.
function GoAdmin { start-process powershell –verb runAs }
Крок 3: Перезавантажте PowerShell. Команда тепер доступна постійно.
Крок 4: У будь-який час, коли ви хочете перейти до адміністратора, просто введіть GoAdmin
(і не хвилюйтеся про введення правильного випадку; функції PS фактично не чутливі до регістру). Ви, звичайно, можете назвати цю функцію чимось іншим, як Elevate
все, але я не хотів ризику конфліктів, тому я назвав це двоскладовою фразою без жодних дефісів, щоб гарантувати, що вона ніколи не буде суперечити власним можливостям PowerShell.
Зауважте, що вікно адміністратора відкривається в окремій оболонці. Ви можете закрити оригінальну оболонку або тримати її відкритою. Якщо робота вашого адміністратора робить щось "велике", наприклад додавання / зміну змінних оточуючих середовищ, тоді ваша оболонка користувача (не адміністратор) може просто ввести, refreshenv
щоб перезавантажити її середовище та отримати зміни.
Отже, просто GoAdmin
виконайте такі функції адміністратора, як встановлення пакунків ( звичайно, https://chocolatey.org/ !), А потім закрийте вікно адміністратора та запустіть refreshenv
у своїй оболонці користувача! Вуаля.