запуск скрипта powershell с правами администратора
Как запустить 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 от имени администратора
В этой базовой инструкции подробно описано 7 способов запустить PowerShell от имени администратора, в Windows.
Запуск PowerShell с правами администратора, частая необходимость при получении доступа или изменении параметров системы.
Содержание
Запуск PowerShell от имени администратора, с помощью:
Меню Пуск
Первый способ — это запуск PowerShell от имени администратора, используя кнопку Пуск.
Меню Быстрые ссылки
Второй способ — это запуск PowerShell от имени администратора, используя меню Быстрые ссылки.
Меню Файл
Третий способ запустить PowerShell от имени администратора — это используя меню Файл при выделении файла или папки в проводнике Windows.
Меню Поиск
Четвертый способ запуска PowerShell с правами администратора — это используя Поиск Windows из начального меню.
Запуск PowerShell от имени администратора с помощью Командной строки
Пятый способ — это запуск PowerShell от имени администратора, с помощью командной строки.
Запустите командную строку и выполните команду:
Запуск PowerShell от имени администратора с помощью PowerShell (с правами пользователя)
Шестой способ — это запуск PowerShell от имени администратора, с помощью консоли PowerShell запущенной с правами пользователя.
Запустите консоль PowerShell и выполните команду:
Меню Выполнить
Седьмой способ — используйте меню Выполнить, для запуска Windows PowerShell с правами администратора.
Откройте меню Выполнить.
🟢 В этой статье обсуждалось как запустить PowerShell с правами администратора, для запуска программ или изменения параметров системы требующих повышенных прав. Я надеюсь, вы смогли запустить консоль PowerShell с повышенными правами выбранным способом. Однако, если вы столкнулись с каким-то проблемами при запуске PowerShell, не стесняйтесь написать в комментариях. Я постараюсь помочь.
Запускать команду от имени администратора с помощью PowerShell?
Вы знаете, как, если вы являетесь администратором системы и можете просто щелкнуть правой кнопкой мыши, скажем, пакетный скрипт и запустить его от имени администратора, не вводя пароль администратора?
Все, что я прочитал, требует от вас ввода пароля администратора.
Если текущая консоль не имеет повышенных прав и для операции, которую вы пытаетесь выполнить, требуются повышенные привилегии, вы можете запустить powershell с Run as administrator параметром:
Вот дополнение к предложению Шей Леви (просто добавьте эти строки в начале сценария):
Это приводит к тому, что текущий сценарий передается новому процессу powershell в режиме администратора (если текущий пользователь имеет доступ к режиму администратора и сценарий не запускается от имени администратора).
Самоподъемный скрипт PowerShell
Windows 8.1 / PowerShell 4.0 +
По сути, он получает удостоверение, связанное с текущим процессом, проверяет, является ли он администратором, а если нет, создает новый процесс PowerShell с правами администратора и завершает старый процесс.
Вы можете создать командный файл ( *.bat ), который запускает ваш скрипт powershell с правами администратора при двойном щелчке. Таким образом, вам не нужно ничего менять в вашем скрипте powershell. Для этого создайте командный файл с тем же именем и расположением вашего скрипта powershell, а затем поместите в него следующее содержимое:
Cmd выполнит команду
Откроется новый сеанс powershell, и будет выполнена следующая команда:
В system32 папке откроется еще один новый сеанс PowerShell с правами администратора, и ему будут переданы следующие аргументы:
Следующая команда будет выполнена с правами администратора:
Когда аргументы пути и имени сценария заключены в двойные кавычки, они могут содержать символы пробела или одинарные кавычки ( ‘ ).
Вот самоподъемный фрагмент сценариев Powershell, который сохраняет рабочий каталог :
Сохранение рабочего каталога важно для сценариев, которые выполняют операции, связанные с путем. Почти все другие ответы не сохраняют этот путь, что может привести к непредвиденным ошибкам в остальной части сценария.
пока не заявлено. Вроде бы там только начиная с PowerShell 4.0.
Когда этот параметр переключателя добавляется в ваш оператор require, он указывает, что сеанс Windows PowerShell, в котором вы запускаете сценарий, должен быть запущен с повышенными правами пользователя (Запуск от имени администратора).
Мне кажется, это хороший способ сделать это, но я пока не уверен в полевом опыте. Среда выполнения PowerShell 3.0, вероятно, игнорирует это или, что еще хуже, выдает ошибку.
Когда скрипт запускается как не администратор, выдается следующая ошибка:
Сценарий ‘StackOverflow.ps1’ не может быть запущен, поскольку он содержит оператор «#requires» для запуска в качестве администратора. Текущий сеанс Windows PowerShell не работает от имени администратора. Запустите Windows PowerShell с помощью параметра «Запуск от имени администратора» и попробуйте снова запустить сценарий.
(обновлен до более простого скрипта от @Shay)
В основном в HKCR:\Microsoft.PowershellScript.1\Shell\runas\command значение по умолчанию для вызова сценария с помощью Powershell.
Код, размещенный Джонатаном и Шей Леви, не работает для меня.
Пожалуйста, найдите рабочий код ниже:
Мой код представляет собой упрощенный фрагмент сценария Microsoft, который автоматически создается при создании пакета приложения для приложений Магазина Windows.
Добавляя мои 2 цента. Моя простая версия, основанная на сетевой сессии, которая до сих пор работает в Windows 7 / Windows 10. Почему это усложняет?
просто добавьте в начало сценария, и он будет работать от имени администратора.
, вы можете установить его, bypass но bypass может быть опасно. Установите его на AllSigned
Однако я подозреваю, что если вы запустите сам PowerShell с повышенными правами, он сможет запускать пакетные файлы без повторного запроса пароля, пока вы не закроете PowerShell.
Вы также можете заставить приложение открываться от имени администратора, если, конечно, у вас есть учетная запись администратора.
Найдите файл, щелкните правой кнопкой мыши> свойства> Ярлык> Дополнительно и выберите Запуск от имени администратора.
C:\Users\»username»\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Windows PowerShell где находится ярлык PowerShell. Он также все еще идет в другое место для вызова фактического exe ( %SystemRoot%\system32\WindowsPowerShell\v1.0\powershell.exe ).
Щелкните правой кнопкой мыши и выберите свойства. Нажмите кнопку «Дополнительно» на вкладке «Ярлык», расположенной прямо под текстовым полем «Комментарии», справа от двух других кнопок, «Открыть расположение файла» и «Изменить значок», соответственно.
Теперь всякий раз, когда вы нажимаете этот значок, он вызывает UAC для эскалации. После выбора «ДА» вы увидите, что консоль PowerShell открыта, и она будет помечена как «Администратор» в верхней части экрана.
Теперь все, что вам нужно сделать, это нажать на ту комбинацию кнопок, которую вы назначили, и вы увидите, что UAC будет вызван, и после выбора «ДА» вы увидите консоль PowerShell, а в строке заголовка отобразится «Администратор».
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 в 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 10 и его нужно устанавливать из Microsoft Store. В Windows 11 данная программа установлена по умолчанию.
Перейдите в меню пуск и начните писать «Terminal»:
Если вы не видите пункт «Запуск от имени администратора», то нажмите стрелочку, чтобы развернуть весь список:
Кликните на пункте «Запуск от имени администратора».
4. Как запустить PowerShell с правами администратора в командной строке
Если у вас уже открыта консоль PowerShell с правами обычного пользователя, то прямо из неё вы можете запустить новый процесс PowerShell с повышенными правами:
Эта команда запустит версию PowerShell 5 или PowerShell 6 — в зависимости от того, что у вас установлено в системе по умолчанию. Чтобы запустить последнюю версию, которую вы установили вручную, то есть PowerShell 7, выполните команду:
Как запустить PowerShell с правами администратора в Linux
Для запуска PowerShell с повышенными правами в Linux выполните команду с sudo: