PowerShell сохраняет сценарии в формате .PS1. Вы можете использовать собственную папку и имена файлов. Для нашей демонстрации мы создали как файл, так и папку:
С:СценарииМой Первый Сценарий.ps1
Создать новый файл и добавить командлет
Создайте новый файл .PS1 и добавьте командлет Write-Host (командлет – это другое слово для команды).
Write-Host Привет, мир!Сохраните и попробуйте выполнить сценарий
Сохраните свой файл .PS1 и вернитесь в окно PowerShell. Чтобы запустить сценарий, наиболее распространенным методом является его вызов в терминале PowerShell. (Вы также можете использовать PowerShell ISE или VS Code).
& C:СценарииМой Первый Сценарий.ps1Попробуйте выполнить эту команду. Вы должны получить ошибку, которая говорит, что сценарии отключены на вашей системе. Это сделано из соображений безопасности.
Измените политику выполнения
Для предотвращения запуска вредоносных сценариев на вашей системе, PowerShell применяет политику выполнения. Чтобы использовать наш созданный сценарий, нам нужно изменить нашу политику выполнения, чтобы разрешить запуск нашего примера сценария PowerShell. Существует четыре политики выполнения.
Поскольку мы не подписали наш новый пример сценария PowerShell цифровой подписью, наши варианты для политики выполнения ограничены RemoteSigned и Unrestricted. Мы собираемся изменить ее на RemoteSigned.
Команда Set-ExecutionPolicy запрашивает подтверждение того, что вы действительно хотите изменить политику выполнения. Продолжайте и выберите Y для да, затем закройте и снова откройте окно PowerShell.
Запустите ваш сценарий
После перезапуска окна PowerShell попробуйте снова запустить ваш сценарий .PS1.
Он должен записать в окне Привет, мир!.
Поздравляем – вы только что написали свой первый сценарий PowerShell!
Примеры PowerShell для начинающих
Или попробуйте очистить временную папку, которая занимает место неиспользуемых документов:
Remove-Item C:Temp* -ForceИли проверьте, есть ли ключ реестра на компьютере:
Test-Path HKLM:SoftwareMicrosoftWindowsCurrentVersionUninstallЭто все быстрые победы, которые вы можете получить из коробки. Весь мир откроется, когда вы погрузитесь в модули и начнете работать со сценариями против критических систем, таких как Azure, VMWare, AWS или Active Directory.
Продолжите свой путь с PowerShell
Теперь у вас есть удивительная возможность создавать и запускать свои собственные сценарии и командлеты.
Jordan провел всю жизнь, размышляя, почему задачи, которые ему не хотелось выполнять, не имели вариантов для выполнения самих. В конечном итоге ему пришлось сделать это сам. Оказалось, что ему нравится, когда задачи выполняются сами по себе, и PDQ подумал, что это то, о чем он должен рассказать в интернете.

PowerShell – это мощный сценарный язык и инструмент для операционных систем Windows, который может автоматизировать задачи, управлять конфигурациями и выполнять анализ. Однако написание и запуск сценариев PowerShell также может привести к ошибкам, ошибкам и угрозам безопасности, если не протестировать их должным образом. В этой статье вы узнаете некоторые из наиболее эффективных стратегий тестирования сценариев PowerShell в Windows, таких как использование среды интегрированной сценарной среды PowerShell (ISE), применение лучших практик для кодирования и отладки, а также использование инструментов и фреймворков для модульного тестирования и охвата кода.
Применение лучших практик кодирования и отладки
Третья стратегия для тестирования ваших сценариев PowerShell в Windows – использовать некоторые инструменты и фреймворки, доступные для модульного тестирования и оценки покрытия кода. Модульное тестирование – это метод проверки того, что каждый отдельный блок или компонент вашего кода работает как ожидается, а покрытие кода – это мера того, сколько вашего кода выполняется вашими тестами. Некоторые популярные инструменты и фреймворки для модульного тестирования и оценки покрытия кода в PowerShell включают Pester, PSCodeHealth и PowerShell Script Analyzer. Pester – это фреймворк тестирования, позволяющий вам писать и запускать тесты с использованием простого синтаксиса, основанного на подходе BDD (Behavior-Driven Development). PSCodeHealth – это инструмент, который анализирует качество вашего кода и генерирует отчеты о метриках, таких как сложность кода, поддерживаемость и покрытие тестами. PowerShell Script Analyzer – это инструмент, который проверяет ваш код на соответствие лучшим практикам и стандартам, а также предлагает рекомендации по улучшению. Используя эти инструменты и фреймворки, вы можете обеспечить надежность, безопасность и эффективность ваших сценариев PowerShell.
Операционные системы
Мы создали эту статью с помощью ИИ. Что вы думаете об этом?
Спасибо за ваш отзыв
Ваш отзыв является конфиденциальным. Нажмите Нравится или добавьте реакцию, чтобы привлечь внимание к вашему мнению.
Еще интересного для чтения
Когда я пытаюсь запустить сценарий PowerShell (например, MyScript.ps1), я получаю ошибку:
Невозможно загрузить MyScript.ps1, потому что исполнение сценариев отключено на этой системе.
Как мне включить выполнение сценариев?
Решение
Чтобы запустить сценарии PowerShell, может потребоваться изменить политику выполнения PowerShell. Политика выполнения на большинстве современных систем Windows установлена по умолчанию на Restricted, что предотвращает выполнение любых сценариев PowerShell. Это мера безопасности, так как сценарии PowerShell могут иметь мощные и опасные функции.
Чтобы временно обойти политику выполнения и запустить сценарии в одном сеансе PowerShell, мы можем указать флаг -ExecutionPolicy Bypass при запуске PowerShell из командной строки Windows или диалогового окна Run.
Например, следующая команда запустит MyScript.ps1 без изменения политики выполнения:
powershell -noexit -ExecutionPolicy Bypass -File MyScript.ps1
Для постоянного включения выполнения сценариев можно использовать командлет Set-ExecutionPolicy в PowerShell.
Это позволит выполнить любые локально написанные сценарии PowerShell, но также потребует, чтобы сценарии PowerShell, загруженные из Интернета, были цифрово подписаны доверенным издателем. Это настройка по умолчанию для серверов Windows.
Если эта политика все еще слишком ограничительна, мы можем удалить все ограничения с помощью этой команды:
Set-ExecutionPolicy UnrestrictedЭто позволит выполнить любые сценарии. Вас все равно будут спрашивать о разрешении при выполнении сценария из Интернета.
Полный список параметров политики выполнения доступен здесь.




