Отримання привілеїв адміністратора в PowerShell


27

У мене є лише один обліковий запис на моїй машині Windows Vista, і цей користувач має адміністративні права. Однак, коли я намагаюся виконати команду в PowerShell, щоб знищити певний процес, мене вітають з повідомленням "Доступ заборонено". Як стати адміністратором?

Відповіді:


14

Найпростіший спосіб зробити це - запустити Powershell за допомогою жетонів адміністрування. Для цього ви клацніть правою кнопкою миші на Powershell (або ярлик до нього) і натисніть "запустити як адміністратор". Крім того, ви можете використовувати elevate.cmd .


25

За словами Microsoft , спосіб Powershell v2 полягає в тому, щоб клацнути правою кнопкою миші на ярлику та вибрати пункт Запустити як адміністратор .

І піднятись у вікно Powershell:

start-process powershell verb runAs

Який із пакетного файлу cmd.exe, ярлика або рядка Run виглядатиме так (повторно) приблизно так:

powershell "start-process powershell -verb runas"

10

Це відкриває новий екземпляр оболонки:

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, щоб ви могли зламати його там.


5

Якщо ви хочете завжди запускати PowerShell з адміністративними привілеями, ви можете клацнути правою кнопкою миші ярлик PowerShell, потім натиснути кнопку "Додатково ..." на вкладці "Ярлик", а потім вибрати "Запустити як адміністратор".


0

Найпростіший спосіб ...

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

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.