Відповіді:
Найпростіший спосіб зробити це - запустити 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у своїй оболонці користувача! Вуаля.