Как писать и как запускать скрипты powershell

Вы только что установили Windows и перед вами стоит задача установки совта: браузер, архиватор, антивирус, читалка PDF-ов, файловый менеджер и так далее.

Политики выполнения скриптов в PowerShell

Если вы увидели ошибку «Выполнение сценариев отключено в этой системе», то можем проверить конфигурацию политик для запуска сценариев, которые настроены в Windows 10. Откройте PowerShell от имени администратора и:

  • Get-ExecutionPolicy -List

Мы можем видеть несколько уровней разрешений политик для запуска сценариев.

Чтобы изменить политику запуска скрипта, вы должны знать различные уровни привилегий, которые мы можем назначить каждому из областей.

  • Restricted: заблокировано выполнение любых скриптов, но разрешается работа интерактивных команд.
  • RemoteSigned: загруженные скрипты должны быть подписаны доверенным издателем. Локальные скрипты работают без подписи
  • AllSigned: разрешает выполнение любого подписанного скрипта, как локального, так и удаленного (загруженного).
  • Unrestricted: без ограничений. Вы можете запустить все сценарии, даже те, которые не подписаны.
Политики выполнения скриптов в PowerShell
  • Set-ExecutionPolicy Unrestricted -Scope CurrentUser — запуск без ограничения для пользователя.
  • Set-ExecutionPolicyRestricted -Scope CurrentUser вернуть назад, если будет нужно.

Разрешает без ограничений выполнять сценарии для локального пользователя. Ключ -Scope определяет, к чему применяется изменение политики. Когда вы вводите «CurrentUser«, то применяется только к текущему пользователю, а когда вы вводите «LocalMachine«, он применяется ко всей системе.

Если выше способ не помог вам запустить свой скрипт и ошибка «Выполнение сценариев отключено в этой системе» появляется, то можно снять полностью ограничения. Вы должны понимать, что это большой риск и ваш скрипт должен быть безопасен на 101%. Откройте PowerShell от имени админа и:

  • Set-ExecutionPolicy Unrestricted — разрешить выполнение скриптов без ограничений.
  • Set-ExecutionPolicy Restricted— вернуть назад по умолчанию.

Смотрите еще:

  • Что за папка ProgramData Windows 10
  • Исправить ошибку Boot Device Not Found на ноутбуке или ПК
  • Antimalware Service Executable (MsMpEng) — Грузит Систему
  • Ошибка 0x80070490 в Центре обновления Windows 10
  • Защитник Windows: Ограничить нагрузку на процессор

Написание и запуск скриптов в PowerShell

Программа PowerShell — это альтернативная командная строка с обширной функциональностью. Многие владельцы компьютеров, которые неплохо ориентируются в системных процессах, интересуются возможностями её использования на Windows 10 и предыдущих версиях этого обеспечения, чтобы менять конкретные процессы и настройки ПК под себя.

В использовании программы PowerShell нет ничего сложного. Просто следуйте всем инструкциям из этой статьи и у вас все получится

Если вы не являетесь знатоком в подобной тематике, только начинаете изучение командных строк и действий, доступных к выполнению в них, вам будет полезно узнать ответы на главные вопросы по пользованию таким приложением. Например, как запустить Windows PowerShell ISE Windows 10 и писать, работать со скриптами.

Как открыть PowerShell?

Это можно сделать несколькими следующими способами:

  • Через Пуск — вы найдёте приложение в общем списке компонентов под буквой W.
  • При помощи поиска в Панели задач — откройте её, и введите слово PowerShell для поиска.
  • Используя меню «Выполнить» — запустите его через комбинацию Win+R и напишите название утилиты, после чего она будет найдена в системе.
  • В коммандере задайте действие PowerShell — но, вы должны знать, что будете работать с приложением через уже запущенную строку, а не в отдельном окне.
  • В параметрах Windows выберите «Свойства панели задач» и меню «Пуск». Во вкладке «Навигация» поставьте флажок на строке «Заменить командную строку оболочкой PowerShell…». Теперь вы сможете включать утилиту комбинацией Win+X.

Как писать и запускать скрипты?

Как создать скрипт PowerShell и запустить его? Это можно попросту сделать в блокноте — используя его, укажите в новом документе необходимые вам команды. После сохраните его, но поменяйте формат на .ps1 — именно такое расширение имеют файлы этой системной утилиты.

Писать скрипты в самом приложении можно так:

  • Запустите его.
  • Нажмите на пункт «Создать».
  • Или кликните на «Файл», и в появившемся списке выберите «Создать».
  • Напишите все команды, которые нужно выполнить, сохраните файл.

Скрипты ещё можно писать и редактировать в FAR Manager, но их нельзя использовать непосредственно в таком приложении, ведь оно отображает файлы этого типа через стандартную строку cmd. Однако прочие действия выполняются таким же образом, как и в «родной» утилите.

Запустить скрипт вы сможете таким образом:

  1. Зайдите в PowerShell от имени администратора.
  2. При помощи команд cd укажите месторасположение требуемого файла. Например, e: cd cd work . имя_файла. Ps1, или e: work имя_
  3. В этом случае e: — имя жёсткого диска, где находится файл.
  4. Жмите Enter.
Написание и запуск скриптов в PowerShell

Программа обязательно покажет вам сообщение с текстом «Не удаётся загрузить файл ___ .Ps1, так как выполнение скриптов запрещено для этой системы…», когда вы будете первый раз запускать команду.

Дело в том, что Windows оснащён защитой от вмешательства благодаря разработчикам, поэтому никто из пользователей по умолчанию не имеет доступа на выполнение таких действий.

Но, это ограничение можно очень просто обойти.

Как? В тексте, возникающем вместе с ошибкой, будет рекомендация ввести команду get-help about_signing, чтобы получить больше информации. Вы можете выполнить эти указания, или использовать комбинацию Set-ExecutionPolicy remotesigned — после её ввода потребуется подтверждение, и ограничение будет снято.

Другие вопросы по пользованию

У многих возникает вопрос, как узнать версию PowerShell? Для этого выполните следующее:

  1. Откройте приложение.
  2. Введите $PSVersionTable.
  3. Если это ни к чему не привело, значит, у вас версия 1.0 — для неё есть команда $
  4. В ином случае появится подробная информация о том, какая версия приложения установлена на ПК.

Ещё один вопрос, на который стоит дать ответ — как удалить PowerShell? Для этого потребуются такие действия:

  • Зайдите через Панель управления в меню установки и удаления программ.
  • Найдите ветку Microsoft Windows
  • Удалите обновление для компонента WindowsPowerShell (TM), следуйте инструкциям системы.

Теперь вы знаете всё о том, как писать и запускать скрипты PowerShell, сможете пользоваться такой командной строкой для многих операций в системе.

Дополнительно вы всегда имеете возможность узнать версию этого продукта и даже частично удалить его — из-за того, что он установлен вместе с системными компонентами, полностью сделать это всё равно не получится.

Посоветуем только быть аккуратным при выполнении всех подобных действий, чтобы не навредить компьютеру в целом.

Цели и задачи создания новой оболочки

Новая оболочка Windows PowerShell была задумана разработчиками Microsoft как более мощная среда для написания сценариев и работы из командной строки. Разработчики PowerShell преследовали несколько целей, главная из которых – создание среды составления сценариев, которая наилучшим образом подходила бы для современных версий ОС Windows и была бы более функциональной, расширяемой и простой в использовании, чем какой-либо аналогичный продукт для любой другой ОС. В первую очередь эта среда должна была подходить для решения задач, стоящих перед системными администраторами, а также удовлетворять требованиям разработчиков программного обеспечения, предоставляя им средства для быстрой реализации интерфейсов управления к создаваемым приложениям.

Для достижения этих целей были решены следующие задачи:

  • Обеспечение прямого доступа из командной строки к объектам COM, WMI и .NET. В новой оболочке присутствуют команды, позволяющие в интерактивном режиме работать с COM-объектами, а также с экземплярами классов, определенных в информационных схемах WMI и .NET.

  • Организация работы с произвольными источниками данных в командной строке по принципу файловой системы. Например, навигация по системному реестру или хранилищу цифровых сертификатов выполняется из командной строки с помощью аналога команды CD интерпретатора

  • Разработка интуитивно понятной унифицированной структуры встроенных команд, основанной на их функциональном назначении. В новой оболочке имена всех внутренних команд (в PowerShell они называются командлетами) соответствуют шаблону «глагол-существительное», например, Get-Process (получить информацию о процессе), Stop-Service (остановить службу), Clear-Host (очистить экран консоли) и т.д. Для одинаковых параметров внутренних команд используются стандартные имена, структура параметров во всех командах идентична, все команды обрабатываются одним синтаксическим анализатором. В результате облегчается запоминание и изучение команд.

  • Обеспечение возможности расширения встроенного набора команд. Внутренние команды PowerShell могут дополняться командами, создаваемыми пользователем. При этом они полностью интегрируются в оболочку, информация о них может быть получена из стандартной справочной системы PowerShell.

  • Организация поддержки знакомых команд из других оболочек. В PowerShell на уровне псевдонимов собственных внутренних команд поддерживаются наиболее часто используемые стандартные команды из оболочки и Unix-оболочек. Например, если пользователь, привыкший работать с Unix-оболочкой, выполнит ls, то он получит ожидаемый результат: список файлов в текущем каталоге (то же самое относится к команде dir).

  • Разработка полноценной встроенной справочной системы для внутренних команд. Для большинства внутренних команд в справочной системе дано подробное описание и примеры использования. В любом случае встроенная справка по любой внутренней команде будет содержать краткое описание всех ее параметров.

  • Реализация автоматического завершения при вводе с клавиатуры имен команд, их параметров, а также имен файлов и папок. Данная возможность значительно упрощает и ускоряет ввод команд с клавиатуры.

Главной особенностью среды PowerShell, отличающей ее от всех других оболочек командной строки, является то, что единицей обработки и передачи информации здесь является объект, а не строка текста.

Основы: Get-Command, Get-Help, Get-Member

Все команды Powershell принимают форму глагола-существительного. Глаголы обычно: Получить, установить и новый.

Get-Command позволяет видеть каждую доступную команду. Запустив Get-Command, вы увидите, что с этих команд начинаются тонны команд.

Копаясь дальше только от имен командлетов, вы начинаете видеть, что все они имеют схожую структуру. Вы вызываете их по имени, как вы это делали с Get-Command. Использование параметров изменяет информацию, которую вы получаете. Однако, если вы когда-либо использовали команду только с параметрами по умолчанию, как вы узнаете, как использовать расширенные параметры?

С использованием Получить помощь Командлет с Get-Command показывает дополнительную информацию о командлете. Мы используем командлет со следующим синтаксисом:

Get-Help Get-Command

Затем вы увидите основную информацию о параметрах. Если вы хотите увидеть подробности параметра и некоторые примеры использования, добавьте параметр -Full.

Если вы хотите увидеть только примеры, вы можете запустить:

Get-Help Get-Command -Examples

Этот командлет возвращает только примеры из файла справки. Эти примеры весьма полезны, потому что они включают описания. В этом справочном тексте объясняется, что делают командлет и параметры при запуске.

Если вы хотите вывести файл справки в отдельное окно, вы можете использовать -Витрина. Итак, если вы запустите:

Get-Help Get-Command -ShowWindow

Powershell выскакивает окно с полным файлом справки. Вам не нужно использовать параметр Full здесь, так как окно выводит всю статью.

По мере того, как вы будете продвигаться вперед с Powershell, вы обнаружите, что вы чаще используете Get-Member. Это простой способ увидеть, какие поля доступны из возвращенных данных, а также другие методы, которые вы можете запустить. Часто командлеты будут иметь -Имущество параметр, чтобы вы могли вызвать их.

Другие вопросы по пользованию

У многих возникает вопрос, как узнать версию PowerShell? Для этого выполните следующее:

Другие вопросы по пользованию
  1. Откройте приложение.
  2. Введите $PSVersionTable.
  3. Если это ни к чему не привело, значит, у вас версия 1.0 — для неё есть команда $
  4. В ином случае появится подробная информация о том, какая версия приложения установлена на ПК.
Другие вопросы по пользованию

Ещё один вопрос, на который стоит дать ответ — как удалить PowerShell? Для этого потребуются такие действия:

Другие вопросы по пользованию
  • Зайдите через Панель управления в меню установки и удаления программ.
  • Найдите ветку Microsoft Windows
  • Удалите обновление для компонента WindowsPowerShell (TM), следуйте инструкциям системы.
Другие вопросы по пользованию

Теперь вы знаете всё о том, как писать и запускать скрипты PowerShell, сможете пользоваться такой командной строкой для многих операций в системе. Дополнительно вы всегда имеете возможность узнать версию этого продукта и даже частично удалить его — из-за того, что он установлен вместе с системными компонентами, полностью сделать это всё равно не получится. Посоветуем только быть аккуратным при выполнении всех подобных действий, чтобы не навредить компьютеру в целом.

PowerShell: Выполнение сценариев отключено в этой системе

В операционной системе Windows 10 имеется мощный инструмент для управления и выполнения различных задач — это PowerShell.

Эта консоль предназначена для администраторов, поскольку она позволяет им контролировать всю операционную систему с помощью сценариев (script).

PowerShell используется многими фоновыми приложениями для внесения изменений в систему и это ставит под угрозу безопасность нашего ПК.

Сценарий (script) — простая программа написана в коде, который работает линейно на нашем компьютере. Мы можем создавать и выполнять собственные сценарии для автоматизации задач, или приложения могут выполнять их для выполнения определенных конфигураций и задач.

По умолчанию Windows 10 не запрещает ни приложениям, ни нам запускать сценарии в системе, если они подписаны или являются «своими». Проблема возникает, когда мы запускаем свой скрипт, и нам выдает ошибку «Выполнение сценариев отключено в этой системе».

Это многоуровневая мера безопасности в PowerShell, которая предотвращает запуск вредоносных сценариев и может нанести вред системе. Давайте разберем, как изменить политики безопасности для PowerShell.

Политики выполнения скриптов в PowerShell

Если вы увидели ошибку «Выполнение сценариев отключено в этой системе», то можем проверить конфигурацию политик для запуска сценариев, которые настроены в Windows 10. Откройте PowerShell от имени администратора и:

  • Get-ExecutionPolicy -List
PowerShell: Выполнение сценариев отключено в этой системе

Мы можем видеть несколько уровней разрешений политик для запуска сценариев.

Чтобы изменить политику запуска скрипта, вы должны знать различные уровни привилегий, которые мы можем назначить каждому из областей.

  • Restricted: заблокировано выполнение любых скриптов, но разрешается работа интерактивных команд.
  • RemoteSigned: загруженные скрипты должны быть подписаны доверенным издателем. Локальные скрипты работают без подписи
  • AllSigned: разрешает выполнение любого подписанного скрипта, как локального, так и удаленного (загруженного).
  • Unrestricted: без ограничений. Вы можете запустить все сценарии, даже те, которые не подписаны.

Когда вы знаете условия и ограничения скриптов, то можете изменить их. К примеру, чтобы исправить ошибку «Выполнение сценариев отключено в этой системе» достаточно ввести один апплет. Откройте PowerShell от имени админа и:

  • Set-ExecutionPolicy Unrestricted -Scope CurrentUser — запуск без ограничения для пользователя.
  • Set-ExecutionPolicyRestricted -Scope CurrentUser вернуть назад, если будет нужно.

Разрешает без ограничений выполнять сценарии для локального пользователя. Ключ -Scope определяет, к чему применяется изменение политики. Когда вы вводите «CurrentUser«, то применяется только к текущему пользователю, а когда вы вводите «LocalMachine«, он применяется ко всей системе.

Если выше способ не помог вам запустить свой скрипт и ошибка «Выполнение сценариев отключено в этой системе» появляется, то можно снять полностью ограничения. Вы должны понимать, что это большой риск и ваш скрипт должен быть безопасен на 101%. Откройте PowerShell от имени админа и:

  • Set-ExecutionPolicy Unrestricted — разрешить выполнение скриптов без ограничений.
  • Set-ExecutionPolicy Restricted— вернуть назад по умолчанию.

Другие способы открыть PowerShell

Выше перечислены далеко не все способы открытия Windows PowerShell, но, уверен, что их будет вполне достаточно. Если же нет, то:

  • Можно найти PowerShell в меню пуск. Для запуска от администратора используйте контекстное меню. 
  • Можно запустить файл exe в папке C:\Windows\System32\WindowsPowerShell. Для прав администратора, аналогично, используем меню по правому щелчку мышью. 
  • Если ввести powershell в командной строке, также будет запущен нужный инструмент (но в интерфейсе командной строки). Если при этом командная строка была запущена от имени администратора, то и PowerShell будет работать от имени администратора. 

Также, бывает, спрашивают, а что такое PowerShell ISE и PowerShell x86, которые находятся, например, при использовании первого способа. Отвечаю: PowerShell ISE — «Интегрированная среда сценариев PowerShell». По сути, с её помощью можно выполнять все те же команды, но, помимо этого, в ней присутствуют дополнительные возможности, облегчающие работу со скриптами PowerShell (справка, инструменты отладки, цветовая разметка, дополнительные горячие клавиши и т.п.). В свою очередь версии x86 нужны в случае, если вы работаете с 32-битными объектами или с удаленной системой x86.

в Телеграм

А вдруг и это будет интересно:

  • Лучшие бесплатные программы для Windows
  • Нестандартные способы использования Android
  • Анимация окон Windows 10 в Stardock WindowFX
  • Как подключить Bluetooth наушники к ноутбуку или компьютеру
  • Как убрать рекламу в правом нижнем углу экрана Windows 10
  • Как скачать драйвер Intel HD Graphics
  • Лучшие ноутбуки 2021

Замена командной строки на PowerShell в контекстном меню «Пуск».

Вот во втором способе, мы использовали контекстное меню «Пуска» и там по-умолчанию добавлена командная строка. Это можно исправить. Скажем для системных администраторов, все чаще нужен PowerShell, вместо командной строки и вместе с добавлением контекстного меню, Microsoft добавили возможность замены командной строки на Windows PowerShell. Для этого, необходимо кликнуть правой клавишей мыши по пустому месту на «Панели задач». И выбрать её «Свойства».

Замена командной строки на PowerShell в контекстном меню «Пуск».

На вкладке «Навигация» ставим галочку на «Заменить командную строку оболочкой Windows PowerShell…» и жмём ОК.

Теперь в контекстном меню можно сразу же запускать Windows PowerShell.

Замена командной строки на PowerShell в контекстном меню «Пуск».

Материал сайта

Замена командной строки на PowerShell в контекстном меню «Пуск».

Еще по теме:

  • Как просто запустить командную строку (от имени…
  • Как запустить очистку дисков стандартные средствами…
  • Как отключить Windows SmartScreen в Windows 10, 8.1, 8
  • Как открыть настройки на Windows 10
Читайте также:  Windows Server 2019 – установка бесплатной пробной версии