powershell запуск скрипта с правами администратора
Запуск скриптов PowerShell
Как запустить скрипт PowerShell?
Есть несколько различных способов запуска скрипта, ниже приведены основные:
Как разрешить выполнение неподписанного скрипта PowerShell?
Оба способа устанавливают политику только для текущего сеанса, при этом, политика безопасности выполнения скриптов PowerShell, прописанная в реестре, не будет изменена и останется прежней. Если вы хотите поменять политику безопасности выполнения скриптов «на постоянно», то используйте такой способ:
3. Разрешить запуск навсегда : запустить оболочку PowerShell от имени «Администратора», затем выполните команду:
Set-ExecutionPolicy RemoteSigned
Однако, я бы не рекомендовал такой способ, чтобы не подвергать ваш компьютер возможным угрозам, т.к. так вы разрешаете выполнение скриптов всем и всегда.
Как запустить скрипт PowerShell в фоновом режиме?
Запуск скрипта PowerShell c параметрами
Собственно запуск нужно делать как если бы вы запускали обычную программу или bat-файл с параметрами. Например, для запуска скрипта с параметрами из командной, можно написать такую команду:
В самом скрипте вы можете получить эти параметры так:
В интегрированной среде PowerShell ISE запустить скрипт с параметрами можно аналогично, используя область команд.
Как запустить скрипт PowerShell с помощью ярлыка?
Осуществить такую задачу можно двумя способами:
Таким образом, например, чтобы запустить скрипт powershell при входе пользователя, можно просто создать ярлык, как описано во 2-м пункте и поместить его в автозагрузку. Так же, создание ярлыка одним из способов выше позволит легко запустить скрипт от имени администратора или от имени любого другого пользователя как обычную программу.
PowerShell: запуск команды от имени администратора
вы знаете, как, если вы являетесь административным пользователем системы, и вы можете просто щелкнуть правой кнопкой мыши, скажем, пакетный скрипт и запустить его как администратор без ввода пароля администратора?
Мне интересно, как это сделать со сценарием PowerShell. Я не хочу вводить свой пароль; я просто хочу имитировать щелчок правой кнопкой мыши Запуск От Имени Администратора метод.
все, что я читал до сих пор требует от вас ввести пароль администратора.
24 ответов
если текущая консоль не повышена, а операция, которую вы пытаетесь выполнить, требует повышенных привилегий, вы можете запустить powershell с опцией «Запуск от имени администратора»
вот дополнение к предложению Шая Леви (просто добавьте эти строки в начале скрипта):
в результате текущий сценарий передается новому процессу powershell в режиме администратора (если текущий пользователь имеет доступ к режиму администратора, а сценарий не запускается как администратор).
Самоподъемный сценарий PowerShell
Windows 8.1 / PowerShell 4.0+
Бенджамин Армстронг опубликовал отличная статья о самоподъемных сценариях PowerShell. Там несколько незначительных проблем с его кодом; измененная версия на основе исправлений, предложенных в комментарии ниже.
в основном он получает идентификатор, связанный с текущим процессом, проверяет, является ли он администратором, и если нет, создает новый процесс PowerShell с правами администратора и завершает процесс.
вы можете создать пакетный файл ( *.bat ), который запускает сценарий powershell с правами администратора при двойном щелчке. Таким образом, вы не нужно ничего менять в скрипте powershell.Для этого создайте пакетный файл с тем же именем и расположением сценария powershell, а затем поместите в него следующее содержимое:
cmd выполнит команду
откроется новый сеанс powershell и будет выполнена следующая команда:
еще один новый сеанс powershell с правами администратора откроется в system32 папка и следующее ему будут переданы аргументы:
следующая команда будет выполнена с правами администратора:
после того, как путь к сценарию и имя аргументов двойные кавычки, они могут содержать пробелы или одинарные кавычки символов ( ‘ ).
(обновлено до более простого скрипта от @Shay)
в основном HKCR:\Microsoft.PowershellScript.1\Shell\runas\command задайте значение по умолчанию для вызова скрипта с помощью Powershell.
пока не указано. Кажется, он существует только с PowerShell 4.0.
когда этот параметр коммутатора добавляется в инструкцию requires, он указывает, что сеанс Windows PowerShell, в котором вы находитесь запустив скрипт должен быть запущен с повышенными правами пользователя (Run as Администратор.)
когда скрипт запускается как неадминистратор, выдается следующая ошибка:
скрипт ‘ StackOverflow.ps1 ‘ не может быть запущен, потому что он содержит «#необходима» инструкция для запуска от имени администратора. Электрический ток оболочка Windows PowerShell сеанс выполняется не от имени администратора. Начать Windows PowerShell с помощью параметра Запуск от имени администратора, а затем попробуйте запустить сценарий еще раз.
код, опубликованный Джонатаном и Шей Леви, не работал для меня.
пожалуйста, найдите рабочий код ниже:
вам нужно перезапустить сценарий с правами администратора и проверить, был ли сценарий запущен в этом режиме. Ниже я написал скрипт, который имеет две функции:DoElevatedOperations и стандартные операции. Вы должны поместить свой код, требующий прав администратора, в первую и стандартные операции во вторую. The IsRunAsAdmin переменная используется для идентификации режима администратора.
мой код является упрощенным извлечением из сценария Microsoft, который автоматически создается при создании пакета приложений для приложений Магазина Windows.
C:\Users\»username»\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Windows PowerShell где ярлык PowerShell находится. Он тоже по-прежнему идет в другое место, чтобы вызвать фактический «exe» ( %SystemRoot%\system32\WindowsPowerShell\v1.0\powershell.exe ).
щелкните правой кнопкой мыши и выберите пункт Свойства. Нажмите кнопку » Дополнительно «под вкладкой» ярлык», расположенной прямо под текстовым полем» комментарии «справа от двух других кнопок» открыть местоположение файла «и» изменить значок», соответственно.
теперь всякий раз, когда вы нажимаете этот значок, он будет вызывать УАК для эскалации. После выбора » да «вы заметите, что консоль PowerShell открыта, и в верхней части экрана она будет помечена как» администратор».
теперь все, что вам нужно сделать, это нажать эту комбинацию кнопок, которую вы назначили, и вы увидите, что UAC вызывается, и после выбора «да» вы увидите консоль PowerShell и » администратор» отображается в строке заголовка.
вы также можете заставить приложение открыться как администратор. Если у вас есть учетная запись администратора, конечно.
найдите файл, щелкните правой кнопкой мыши > Свойства > ярлык > Дополнительно и проверьте Запуск от имени администратора
ряд ответов здесь близки, но немного больше работы, чем нужно.
создайте ярлык для своего скрипта и настройте его на «запуск от имени администратора»:
Powershell запуск скрипта с правами администратора
Вопрос
Доброго времени суток.
Для того, что бы запустить PowerShell c повышенными правами, можно использовать команду:
Однако, UAC потребует подтвердить запуск с повышенными правами.
Как можно запустить PowerShell c повышенными правами без подтверждения или задать подтверждение в самой команде?
Какие либо изменения в UAC хотелось бы исключить.
Все ответы
в обоих случаях ошибка:
Опишите все Ваши действия подробно, включая версии операционной системы и PowerShell.
копирую в текстовый файл
переименовываю в XML
указываю при импорте
Ещё момент, мне не просто нужно запускать PowerShell (или CMD) с повышенными привилегиями, мне нужно делать это из групповой политики. Т.е. на клиентском компьютере будет выполняться некий скрипт с повышенными правами. Выполняться будет от имени администратора компьютера, но сам пользователь, к которому применяется политика, таковым не является.
Ещё момент, мне не просто нужно запускать PowerShell (или CMD) с повышенными привилегиями, мне нужно делать это из групповой политики. Т.е. на клиентском компьютере будет выполняться некий скрипт с повышенными правами. Выполняться будет от имени администратора компьютера, но сам пользователь, к которому применяется политика, таковым не является.
да, для импорта использовал графический интерфейс. из первого сообщения импортировалось успешно.
задачу при входе пользователя я не смогу настроить без групповой политики для 100 пользователей.
отображение интерфейса во время выполнения не нужно, т.к. задача будет менять системные настройки для этого пользователя.
Сегодня попробую импортированную задачу. Ведь я могу там добавить в аргументах какой скрипт запускать )
вообщем нашёл пока только такой выход:
1) создаём пользователя classid, через групповые политики назначаем для всех рабочих станций членом группы Network Configuration Operators
2) создаём в групповых политиках задачу выполняемую при входе. задача выполняется от имени classid
3) в задаче будет скрипт cmd.bat с содержанием \\server\shara\ipconfig.bat доступ к шаре только у пользователя classid
тогда у пользователя должен запустится PowerShell. Пока ещё не проверял. Без задачи сам скрипт выполняется и запускает PowerShell. Осталось докурить после powershell.exe нужный скрипт.
Как запустить PowerShell в Windows 7 или Windows 10
Windows PowerShell – это мощный язык для написания скриптов, а также программа для Windows, которая эти скрипты выполняет. Язык был представлен в 2006 году как часть второго сервис-пака для операционной системы Windows XP. С тех пор PowerShell присутствует во всех версиях Windows. В 2008 году была представлена вторая версия языка, она используется начиная с Windows 7. Скрипты на данном языке сохраняются в файлах с расширением PS1 и могут выполняться как знакомые всем BAT и CMD файлы.
В данной статье мы расскажем о том, как запустить Windows PowerShell с правами пользователя и от имени администратора в Windows 7 и Windows 10, а также как выполнять скрипты написанные на этом языке.
Стандартные способ запуска
Еще один простой способ запуска Windows PowerShell – это поиск в меню « Пуск ». Чтобы воспользоваться данным вариантом просто откройте меню « Пуск » и введите в поиск название программы. После этого операционная система найдет нужную программу и предложит ее открыть.
После этого программу можно запустить, просто кликнув по ней в результатах поиска. Оба этих способа одинаково работают что в Windows 7, что в Windows 10.
Запуск PowerShell от имени администратора
Также поиск в меню « Пуск » — это самый простой способ запустить PowerShell от имени администратора. Для этого нужно воспользоваться поиском и когда программа будет найдена, кликнуть по ней правой кнопкой мышки. В открывшемся меню будет доступен вариант запуска от имени администратора. Данный способ запуска от имени администратора также доступен в Windows 7 и Windows 10
Кроме этого, в Windows 10 есть дополнительная возможность, которая позволяет запускать PowerShell как с правами пользователя, так и от имени администратора. Чтобы воспользоваться этим вариантом нужно кликнуть правой кнопкой мышки по кнопке « Пуск » и в открывшемся меню выбрать « PowerShell ».
Если же в этом меню вместо PowerShell у вас отображается обычная командная строка, то это можно исправить. Откройте меню « Параметры » (комбинация клавиш Win-i ) и перейдите в раздел « Персонализация – Панель задач ». Здесь нужно включить опцию, которая заменяет командную строку на PowerShell, после чего описанный выше способ будет работать.
Как запустить PowerShell в папке
Если вам нужно запустить PowerShell в сразу определенной папке, то в Windows 10 для этого нужно открыть эту папку при помощи проводника и нажать на кнопку « Файл » в левом верхнем углу окна. В результате появится меню с помощью которого можно будет запустить данную программу с правами пользователя или от имени администратора.
В операционной системе Windows 7 вы можете запустить PowerShell в папке при помощи адресной строки. Для этого откройте нужную папку и введите в адресную строку команду « powershell ».
В результате PowerShell откроется сразу в выбранной вами папке.
Кстати, таким образом вы можете запускать и стандартную командную строку, но в этом случае нужно вводить « cmd ».
Как запустить скрипт PowerShell
В PowerShell есть несколько режимов работы, которые определяют возможность запуска скриптов:
После выполнения данной команды вы сможете запускать скрипты просто введя в консоль их полный адрес. Например, на скриншоте внизу мы выполнили скрипт « c:\test.ps1 ».
Если же вы хотите навсегда разрешить запуск скриптов, то для этого нужно выполнить команду « Set-ExecutionPolicy RemoteSigned » и нажать на клавишу « Y » для подтверждения.
Но, если ваш скрипт был скачан из интернета, то описанного выше варианта может быть недостаточно. Для того чтобы полностью и навсегда отключить любые предупреждения при запуске скриптов используйте « Set-ExecutionPolicy Bypass ».
Обратите внимание, постоянное разрешение на запуск скриптов подвергает ваш компьютер опасности, поэтому желательно использовать временные разрешения, которые работают до завершения сеанса.
Создатель сайта comp-security.net, автор более 2000 статей о ремонте компьютеров, работе с программами, настройке операционных систем.
Чтобы установит на 7-ку новый PS еще те танцы с «бубном», а так статья уж больно стара судя по скрину PS.
PowerShell: системное администрирование и программирование
Всё о PowerShell в Windows и на Linux. Системное администрирование Windows
Как запустить PowerShell с правами администратора
Использование некоторых команд и командлетов требует повышенных прав. Примерами действий, требующих прав администратора, являются управление службами (установка, запуск, остановка, удаление) и управление пакетами (добавление и удаление провайдеров пакетов, установка и удаление пакетов).
К примеру, следующий командлет с попыткой добавить нового провайдера пакетов:
Вызовет следующую ошибку:
Чтобы исправить эту ошибку, нужно запустить PowerShell с правами администратора.
Как запустить PowerShell с правами администратора в Windows
Рассмотрим несколько способов.
1. Запуск PowerShell с правами администратора через Меню продвинутого пользователя
Нажмите Win+x и в открывшемся меню выберите пункт «Windows PowerShell (администратор)»:
Если у вас в ОС установлено две версии PowerShell (предустановленная с Windows версия PowerShell 5, а также установленная вручную версия PowerShell 7), то таким образом откроется PowerShell 5.
2. Запуск PowerShell с правами администратора из меню Пуск
Чтобы от имени администратора открыть PowerShell 7 нажмите меню Пуск и введите в поиск «PowerShell», выберите пункт «Run as Administrator»:
3. Как запустить Windows Terminal с правами администратора в Windows
По умолчанию в Windows Terminal используется оболочка PowerShell, поэтому если запустить Terminal с правами администратора, то в нём Terminal также будет с повышенными правами.
Напомним, что терминал не входит в стандартный набор программ Windows и его нужно устанавливать из Microsoft Store.
Перейдите в меню пуск и начните писать «Terminal»:
Если вы не видите пункт «Запуск от имени администратора», то нажмите стрелочку, чтобы развернуть весь список:
Кликните на пункте «Запуск от имени администратора».
4. Как запустить PowerShell с правами администратора в командной строке
Если у вас уже открыта консоль PowerShell с правами обычного пользователя, то прямо из неё вы можете запустить новый процесс PowerShell с повышенными правами:
Эта команда запустит версию PowerShell 5 или PowerShell 6 — в зависимости от того, что у вас установлено в системе по умолчанию. Чтобы запустить последнюю версию, которую вы установили вручную, то есть PowerShell 7, выполните команду:
Как запустить PowerShell с правами администратора в Linux
Для запуска PowerShell с повышенными правами в Linux выполните команду с sudo: