PowerShell может быть чрезвычайно полезен для решения многих повседневных задач, но если вам нужно настроить некоторые функции с учетом требований безопасности, то как определить функцию так, чтобы она требовала повышения прав? В сегодняшней статье SuperUser Q & A есть ответ на интересный вопрос читателя.
Сегодняшняя сессия вопросов и ответов приходит к нам благодаря SuperUser – подразделению Stack Exchange, группы веб-сайтов вопросов и ответов, управляемой сообществом.
Вопрос
Читатель SuperUser Vlastimil хочет знать, как определить функцию PowerShell, требующую повышения прав:
Поскольку я не могу найти альтернативы Linux-команде sudo , у меня возникает следующий вопрос. Как определить функцию PowerShell, требующую повышения прав, например, при активации запроса UAC в моей 64-разрядной системе Windows 8.1 Pro? Например, допустим, я запускаю следующую функцию:
Со следующими результатами:
Для полной ясности, если я запускаю PowerShell как «пользователь», а затем запускаю вышеупомянутую функцию system-check , я хочу, чтобы функция была повышена, чтобы иметь возможность выполнять команду (я хочу UAC подскажите появиться).
Как вы определяете функцию PowerShell, которая требует повышения прав?
Ответ
Участник SuperUser Эштон имеет ответ для нас:
Чтобы запустить определенную команду из окна с повышенными правами:
Например:
Чтобы запустить определенный скрипт из окна с повышенными правами:
Чтобы запустить весь сеанс PowerShell, который запрашивает UAC:
Функция, которая возвращает $ True или $ False , если текущее окно работает с повышенными разрешениями:
Чтобы скрипт запускался только от имени администратора, добавьте его в начало:
В PowerShell v4.0 вышесказанное можно упростить с помощью оператора #Requires :
Источник: Запускать с повышенными разрешениями [SS64.com]
Есть что добавить к объяснению? Отключить звук в комментариях. Хотите узнать больше ответов от других опытных пользователей Stack Exchange? Ознакомьтесь с полной веткой обсуждения здесь.