Добавление и вызов команд

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

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

  1. Запустить оболочку PowerShell и в ней запустить скрипт (ввести путь до файла и имя файла, например, так: C:Scriptstest.ps1, или перейти в папку скрипта командой cd C:Scripts и запустить его командой .test.ps1) Оболочку можно найти и запустить множеством способов. Один из способов – через меню “Пуск”. Для Windows 7 – нужно зайти во “Все программы” – “Стандартные” – “Windows PowerShell” и запустить оболочку “Windows PowerShell”. Для Windows 10 – нужно найти группу на букву “W” и в ней вы найдете “Windows PowerShell”.
  2. Запустить “Интегрированную среду сценариев Windows PowerShell ISE” – это программа – среда разработки, позволяющая редактировать и отлаживать скрипты PowerShell, которая так же есть по-умолчанию вместе с самим PowerShell. Запустив ее, нужно просто нажать кнопку “Открыть” или зайти в меню Файл – Открыть и выбрать нужный скрипт, затем нажать F5 или кнопку “Выполнить скрипт”.Найти Windows PowerShell ISE можно там же, где и оболочку PowerShell – в меню “Пуск”.
  3. Запустить стандартную коммандную строку и в ней написать: powershell -file (пример: powershell -file myscript.ps1)

Если вы раньше не запускали скрипты PowerShell, то скорее всего, вы получите сообщение: Не удается загрузить файл , так как выполнение скриптов запрещено для данной системы. Введите «get-help about_signing» для получения дополнительных сведений. Связано это с тем, что из соображений безопасности и недопущения случайного выполнения вредоносного кода, все скрипты должны быть подписаны цифровой подписью.

Создание

Представим, что каждое утро вы проверяете 50 последних логов за 14 часов журнала Application с помощью этой команды:

Команда не очень сложная, но в скором времени ее надоест писать. Для сокращения этой работы ее можно выделить в отдельную функцию:

Любая функция обязательно должна состоять из трех вещей:

  • function — объявляет и говорит что после нее будет название;
  • имя функции — название, по которому мы будем ее вызывать. В нашем случае имя Get-DayLog;
  • скобки — обозначают начало и конец выражения.

После написания функции она вызывается по имени:

Учитывая, что нам может потребоваться получить данные не за последние 14 часов и более чем за 50 дней нам может потребуется изменить ее передав параметры.

Выполнение сценария

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

Политика выполнения по умолчанию предотвращает выполнение всех скриптов, включая скрипты, которые вы пишете на локальном компьютере. Подробнее см. в разделе about_Execution_Policies.

Политика выполнения сохраняется в реестре, поэтому ее необходимо изменить только один раз на каждом компьютере.

Чтобы изменить политику выполнения, используйте следующую процедуру.

В командной строке введите:

или диспетчер конфигурации служб

Изменение вступает в силу немедленно.

Чтобы выполнить сценарий, введите полное имя файла скрипта и полный путь к нему.

Например, чтобы запустить сценарий Get-ServiceLog.ps1 в каталоге C:\Scripts, введите:

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

Например, чтобы запустить сценарий ServicesLog.ps1 в локальном каталоге, введите:

Если у скрипта есть параметры, введите параметры и значения параметров после имени файла скрипта.

Например, следующая команда использует параметр ServiceName скрипта Get-ServiceLog, чтобы запросить журнал действия службы удаленного управления Windows.

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

Запуск с помощью PowerShell

Начиная с PowerShell 3,0 можно запускать сценарии из проводника.

Чтобы использовать функцию «Запуск с помощью PowerShell», сделайте следующее:

Запустите проводник, щелкните правой кнопкой мыши имя файла скрипта и выберите команду «запустить с помощью PowerShell».

Функция «запустить с помощью PowerShell» предназначена для выполнения скриптов, которые не имеют обязательных параметров и не возвращают выходные данные в командную строку.

Дополнительные сведения см. в разделе about_Run_With_PowerShell.

Выполнение сценариев на других компьютерах

Чтобы запустить сценарий на одном или нескольких удаленных компьютерах, используйте параметр FilePath командлета.

Введите путь и имя файла скрипта в качестве значения параметра FilePath . Скрипт должен находиться на локальном компьютере или в каталоге, к которому локальный компьютер может получить доступ.

Следующая команда запускает сценарий на удаленных компьютерах с именем Server01 и Server02.

Что делать, если он не открывается

Проще всего найти PowerShell через Поиск. Пользователю нужно лишь написать в поисковой строке название искомого приложения на английском. Опция Поиск есть во всех версиях Виндовса. С ее помощью удается отыскать любой элемент ОС. В некоторых продуктах Win Поиск закреплен в списке меню Пуск. Именно эта опция позволяет за считанные секунды отыскать ПоверШелл. Запустить утилиту разрешается на пользовательских и администраторских правах.

Иногда, после установки очередного пакета обновлений, ПоверШелл может не открыться. В этом случае рекомендуется откатить систему назад (через точку восстановления). Можно просто удалить последние установленные на ПК обновления Виндовса и посмотреть на результат.

Если утилита ПоверШелл перестала работать, рекомендуется:

Активировать полное сканирование и проверку безопасности. Иногда инструмент не открывается из-за атаки вредоносного ПО. В первую очередь, рекомендуется просканировать ПК на вирусы из безопасного режима. Чаще всего причиной неполадок с утилитой является вирус Несущий угрозу файл обычно носит название: * 32 или * 32. Остановить вирус можно из Диспетчера задач.

Инициировать чистую загрузку:

  • активировать «Выполнить»;
  • в строчке «Открыть» написать: «msconfig»;
  • появится окошко «Конфигурация системы»;
  • перейти в «Общие»;

в подпункте «Выборочный запуск» убрать галочку около «Загружать элементы запуска»;

  • сохранить изменения, закрыть окна, перезагрузить ПК.
  • Отключить и еще раз включить приложение:
  • одновременно нажать на «Win» и «X»;
  • активировать «Панель управления»;
  • перейти в подраздел «Категория»;

потом активировать «Программы»;

отыскать PowerShell и отключить опцию;

выполнить перезагрузку ПК и опять включить утилиту.

How to run a script

Before you can run a script on Windows, you need to change the default
PowerShell execution policy. Execution policy does not apply to PowerShell
running on non-Windows platforms.

The default execution policy, , prevents all scripts from running,
including scripts that you write on the local computer. For more information,
see about_Execution_Policies.

The execution policy is saved in the registry, so you need to change it only
once on each computer.

To change the execution policy, use the following procedure.

At the command prompt, type:

or

The change is effective immediately.

To run a script, type the full name and the full path to the script file.

For example, to run the Get-ServiceLog.ps1 script in the C:\Scripts directory,
type:

To run a script in the current directory, type the path to the current
directory, or use a dot to represent the current directory, followed by a path
backslash ().

For example, to run the ServicesLog.ps1 script in the local directory, type:

If the script has parameters, type the parameters and parameter values after
the script filename.

For example, the following command uses the ServiceName parameter of the
Get-ServiceLog script to request a log of WinRM service activity.

As a security feature, PowerShell does not run scripts when you double-click
the script icon in File Explorer or when you type the script name without a
full path, even when the script is in the current directory. For more
information about running commands and scripts in PowerShell, see
about_Command_Precedence.

Run with PowerShell

Beginning in PowerShell 3.0, you can run scripts from File Explorer.

To use the «Run with PowerShell» feature:

Run File Explorer, right-click the script filename and then select «Run with
PowerShell».

The «Run with PowerShell» feature is designed to run scripts that do not have
required parameters and do not return output to the command prompt.

For more information, see about_Run_With_PowerShell.

Running scripts on other computers

To run a script on one or more remote computers, use the FilePath parameter of
the cmdlet.

Enter the path and filename of the script as the value of the FilePath
parameter. The script must reside on the local computer or in a directory that
the local computer can access.

The following command runs the script on the remote
computers named Server01 and Server02.

Собираем все воедино

Возможности PSService.ps1 На основе всего того, что мы обсудили на данный момент, я могу создать ту службу Windows PowerShell, о которой я мечтал, — скрипт PSService.ps1, который:

  • может сам себя устанавливать и удалять (используя функции Windows PowerShell для управления службами);
  • может сам себя запускать и останавливать (используя тот же набор функций);
  • включает короткий фрагмент C#-кода, создающий PSService.exe для SCM (с помощью команды Add-Type);
  • делает обратный вызов из заглушки PSService.exe в скрипт PSService.ps1 для выполнения реальной операции службы (в ответ на события OnStart, OnStop и др.);
  • управляется из панели SCM и всех утилит командной строки (благодаря заглушке PSService.exe);
  • является отказоустойчивым и успешно обрабатывает любую команду, находясь в любом состоянии. Например, он может автоматически остановить службу перед ее удалением или ничего не делать, если ему поступит запрос запустить уже выполняемую службу;
  • поддерживает Windows 7 и все более поздние версии Windows (используя функциональность только Windows PowerShell v2).

Заметьте, что в этой статье я затронул лишь критически важные части проекта и реализации PSService.ps1. Скрипт-пример также содержит отладочный код и в какой-то мере поддерживает необязательную функциональность служб, но их описание здесь усложнило бы пояснения безо всякой необходимости.

Архитектура PSService.ps1 Скрипт организуется в серию разделов:

  • комментарий-заголовок, описывающий файл;
  • справочный блок в виде комментариев;
  • блок Param, определяющий ключи командной строки;
  • глобальные переменные;
  • вспомогательные процедуры: Now и Log;
  • блок исходного кода на C# для создания заглушки PSService.exe;
  • основную процедуру, обрабатывающую все ключи командной строки.

Стандартные способ запуска

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

Еще один простой способ запуска Windows PowerShell – это поиск в меню «Пуск». Чтобы воспользоваться данным вариантом просто откройте меню «Пуск» и введите в поиск название программы. После этого операционная система найдет нужную программу и предложит ее открыть.

После этого программу можно запустить, просто кликнув по ней в результатах поиска. Оба этих способа одинаково работают что в Windows 7, что в Windows 10.

Полезные ресурсы

Существует несколько видео и записей блогов, которые могут оказаться полезными при начале работы с расширением PowerShell для Visual Studio Code:

Видео

  • Использование Visual Studio Code в качестве редактора PowerShell по умолчанию
  • Visual Studio Code: подробный обзор отладки сценариев PowerShell

Записи блога

  • Расширение PowerShell
  • Написание и отладка в сценариев PowerShell в Visual Studio Code
  • Руководство по отладке Visual Studio Code
  • Отладка PowerShell в Visual Studio Code
  • Приступая к разработке PowerShell в Visual Studio Code
  • Функции редактирования Visual Studio Code для разработки PowerShell. Часть 1
  • Функции редактирования Visual Studio Code для разработки PowerShell. Часть 2
  • Отладка сценария PowerShell в Visual Studio Code. Часть 1
  • Отладка сценария PowerShell в Visual Studio Code. Часть 2

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

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

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

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

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

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

Как разрешить выполнение неподписанного скрипта PowerShell?

1. В оболочке PowerShell, перед тем как запускать скрипт, выполнить команду, разрешающую выполнение неподписанных скриптов для текущего сеанса оболочки:

Set-ExecutionPolicy RemoteSigned -Scope Process

2. При запуске из стандартной коммандной строки использовать параметр -executionpolicy, т.е. запускать скрипт так:

powershell -executionpolicy RemoteSigned -file <имя_скрипта>

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

3. Разрешить запуск навсегда: запустить оболочку PowerShell от имени «Администратора», затем выполните команду:

Set-ExecutionPolicy RemoteSigned

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

Примечание: Если скрипт был загружен из интернета, то чтобы избежать запроса на подтверждение запуска, нужно вместо RemoteSigned использовать Bypass — полное отключение любых запросов и предупреждений.

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

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

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

Изменение параметров политики запуска скриптов, с помощью групповых политик.

В груповой политике, параметр контролирующая запуск скриптов находиться по пути:

для MachinePolicy:

Computer Configuration/Policies/Administrative Templates/Windows Components/Windows PowerShell

или

Конфигурация компьютера/Административные шаблоны/Компоненты Windows/Windows PowerShell

для UserPolicy:
User Configuration/Policies/Administrative Templates/Windows Components/Windows PowerShell

или

Конфигурация пользователя/Административные шаблоны/Компоненты Windows/Windows PowerShell

Параметр Execution Policy может принимать 3 значения:

Значение параметра Execution Policy в групповой политики Значение параметра отображающееся в Get-Executionpolicy
Разрешить все скрипты.(Allow all scripts) Unrestricted
Разрешить локальные скрипты и удаленные подписанные скрипты.(Allow local scripts and remote signed scripts) RemoteSigned
Разрешить только подписанные скрипты.(Allow all scripts) AllSigned

Отключить PowerShell в Windows 10

Прежде чем продолжить, рекомендуется создать точку восстановления системы. Теперь следуйте приведенным ниже советам, чтобы отключить Windows PowerShell в Windows 10:

1] Отключить PowerShell в Windows 10 с помощью политики безопасности

Локальная политика безопасности предлагает пользователям способ заблокировать доступ PowerShell в Windows 10. Для этого следуйте приведенным ниже инструкциям:

  1. Нажмите «Пуск», введите «Локальная политика безопасности» и выберите результат в списке меню.
  2. Перейдите на левую панель и разверните Политики ограниченного использования программ.
  3. Щелкните правой кнопкой мыши Дополнительные правила и выберите Новое правило хеширования вариант.
  4. Если вы не найдете способ расширить Политики ограниченного использования программ затем щелкните правой кнопкой мыши Политики ограниченного использования программ и выберите Новые политики ограниченного использования программ.

Если у вас не запускается редактор локальной групповой политики, то прочитайте эту статью

В окне New Has Rule нажмите на Просматривать вариант. Теперь откройте проводник с помощью клавиш Windows + E, введите следующий путь в адресной строке и нажмите Enter:

%SystemRoot%\system32\WindowsPowerShell\v1.0

Это позволит найти 32-разрядную версию PowerShell. Выберите powershell.exe из списка, а затем щелкните Открыть > Применить> ОК.

Отключить PowerShellISE

Если вы хотите отключить PowerShellISE на своем компьютере с Windows 10, выберите из списка powershell_ise.exe (вместо powershell.exe).

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

Снова откройте проводник и скопируйте и вставьте путь, указанный ниже, в адресную строку. Затем нажмите клавишу Enter, чтобы выбрать 64-разрядную версию PowerShell.

%SystemRoot%\SysWOW64\WindowsPowerShell\v1.0

На следующей странице прокрутите вниз и выберите параметр powershell.exe, а затем щелкните значок Открыть.

Примечание: Вам нужно выбрать опцию powershell_ise.exe, если вы хотите отключить PowerShellISE.

Затем нажмите Подать заявление а затем выберите Ok кнопка.

После выполнения вышеуказанных шагов перезагрузите компьютер, чтобы сохранить изменения. Это отключит доступ к Powershell на вашем ПК.

2] Отключить PowerShell в Windows 10 с помощью групповой политики

Редактор локальной групповой политики — это мощный инструмент, доступный в Windows 10 Pro или Enterprise, который упрощает несколько задач на ПК.

Пользователи с версией Windows 10 Pro или Enterprise могут использовать инструмент групповой политики для блокировки PowerShell. Выполните следующие шаги, чтобы отключить PowerShell с помощью групповой политики:

  • Прежде всего, нажмите кнопки Windows + R сочетание клавиш, чтобы открыть диалоговое окно «Выполнить».
  • Введите gpedit.msc и нажмите Enter.
  • В окне редактора локальной групповой политики перейдите по указанному ниже пути:

Конфигурация пользователя > Административные шаблоны > Система

Перейдите на правую панель и дважды щелкните значок Не запускать указанные приложения Windows политика.

  • На следующей странице нажмите на Включено, как показано на изображении выше. Затем перейдите в Опции разделов и нажмите на Показать.
  • Теперь вам нужно открыть новую ячейку, тип powershell.exe, и щелкните Ok. Это отключит доступ к PowerShell.
  • Вы также можете отключить интерфейс PowerShell ISE. Для этого откройте новую ячейку, введите powershell_ise.exe и нажмите кнопку ОК.
  • Однако, если вам нужно отключить PowerShell 7, введите pwsh.exe в новой ячейке, а затем щелкните Ok.
  • Наконец, нажмите Применить > ОК чтобы сохранить изменения.

После завершения вышеуказанного процесса вы больше не сможете получить доступ к Powershell.

Отключить PowerShell 7 в Windows 10

Если на вашем устройстве установлен PowerShell 7, вы можете отключить его, удалив его  с компьютера. Вот шаги, которые вам необходимо выполнить:

  1. Щелкните правой кнопкой мыши кнопку Пуск
  2. Выберите «Параметры».
  3. В приложении «Настройки» выберите категорию «Приложения».
  4. Затем выберите Приложения и функции вариант на левой панели.
  5. Теперь перейдите на правую панель, прокрутите вниз и выберите приложение PowerShell.
  6. Нажмите кнопку «Удалить».
  7. Если Windows попросит вас подтвердить, нажмите кнопку Удалить еще раз.

Таким образом, вы можете отключить доступ пользователя к PowerShell версии 7.

Как разрешить выполнение неподписанного скрипта powershell?

1. В оболочке PowerShell, перед тем как запускать скрипт, выполнить команду, разрешающую выполнение неподписанных скриптов для текущего сеанса оболочки:

Set-ExecutionPolicy RemoteSigned -Scope Process

2. При запуске из стандартной коммандной строки использовать параметр -executionpolicy, т.е. запускать скрипт так:

powershell -executionpolicy RemoteSigned -file <имя_скрипта>

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

3. Разрешить запуск навсегда: запустить оболочку PowerShell от имени «Администратора», затем выполните команду:

Set-ExecutionPolicy RemoteSigned

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

Примечание: Если скрипт был загружен из интернета, то чтобы избежать запроса на подтверждение запуска, нужно вместо RemoteSigned использовать Bypass — полное отключение любых запросов и предупреждений.

Get-Command

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

Заметьте: в предыдущем примере, где выполнялся командлет , используется параметр Noun, а командлет указан в качестве значения для параметра Noun. Что делать, если вы не знаете, как использовать командлет ? можно использовать для вывода раздела справки для .

Параметры Name, Noun и Verb поддерживают добавление подстановочных знаков. В приведенном ниже примере показаны подстановочные знаки, используемые с параметром Name.

Я стараюсь не использовать подстановочные знаки с параметром Name для , так как он возвращает и исполняемые файлы, которые не являются собственными командами PowerShell.

При использовании подстановочных знаков с параметром Name рекомендую ограничить результаты с помощью параметра CommandType.

Оптимально использовать параметр Verb или Noun либо оба этих параметра, так как только команды PowerShell состоят из глаголов и существительных.

Что делать, есть в разделе справки найдены ошибки? Можете не волноваться: материалы разделов справки в PowerShell открыты и доступны в репозитории PowerShell-Docs на сайте GitHub. Исправив неверную информацию, вы поможете не только себе, но и другим пользователям. Для этого разместите репозиторий документации PowerShell на сайте GitHub, обновите раздел справки и отправьте запрос на включение внесенных изменений.
После того как этот запрос будет принят, исправленный документ появится в общем доступе.

Запуск

За управление службами отвечает SCM. Каждая операция запуска должна проходить через SCM, чтобы он мог отслеживать состояния служб. Поэтому, даже если пользователь хочет вручную инициировать запуск через скрипт службы, этот запуск должен быть выполнен как запрос к SCM. В этом случае последовательность операция перечислена ниже.

  1. Пользователь (администратор) запускает первый экземпляр: PSService.ps1 –Start.
  2. Этот первый экземпляр сообщает SCM запустить службу: Start-Service $serviceName.
  3. SCM выполняет PSService.exe. Ее процедура Main создает объект службы, а затем вызывает его метод Run.
  4. SCM вызывает метод OnStart объекта службы.
  5. C#-метод OnStart запускает второй экземпляр скрипта: PSService.ps1 –Start.
  6. Этот второй экземпляр, теперь выполняемый в фоне как системный пользователь, запускает третий экземпляр, который останется в памяти как настоящая служба: PSService.ps1 –Service. Этот экземпляр и работает как служба.

В итоге будут выполняться две задачи: PSService.exe и экземпляр PowerShell.exe, выполняющий PSService.ps1 –Service.

За управление службами отвечает SCM.

Все это реализуется тремя частями кода в скрипте.

Определение ключа –Start в блоке Param в начале скрипта:

В процедуре Main в конце скрипта блок if обрабатывает ключ –Start:

Фрагмент исходного кода на C#, процедура Main и обработчик для OnStart, который выполняет команду PSService.ps1 –Start, как показано на рис. 4.

Рис. 4. Обработчик стартового кода

PowerShell ISE

Для того что бы не навредить системе и проверить работоспособность скрипта, разработку, отладку и тестирование удобно проводить в специальной среде. PowerShell ISE дает такую возможность. Интерфейс приложения разделен на 3 части. В верхней части вы можете добавлять код, в нижней части получать вывод команд, а правая часть является своеобразной справкой. В ней вы можете подсмотреть необходимые для процесса командлеты. Более того в этой среде реализованы различные функции, такие как подсветка синтаксиса, конструктор команд и авто заполнение, что существенно облегчает программирование.

Регистрация задачи в планировщике

Теперь, после выполнения минимальных требований в виде ‘action’ и ‘trigger’, мы должны объединить эти объекты. Это делается с помощью команды ‘Register-ScheduledTask’. Дополнительно мы можем определить название и описание создаваемого объекта:

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

TaskPath указывает где была создана задача. В примере выше это произошло в корне планировщика:

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

Способа узнать путь два:

  1. Через графический интерфейс;
  2. Через команду ‘Get-ScheduledTask’ (будет рассмотрена ниже).

В powershell есть еще одна команда, которая может участвовать в создании задач «New-ScheduledTask». Основное отличие такой команды в том, она не регистрирует (добавляет) задачу в сервис планировщика. Если бы мы использовали обе команды это бы выглядело так:

Установка пакета MSI

MSI-файл выглядит примерно так: . Пример:

После скачивания дважды щелкните установщик и следуйте инструкциям на экране.

Программа установки создает ярлык в меню Windows «Пуск».

  • По умолчанию пакет устанавливается в каталог .
  • Вы можете запустить PowerShell с помощью меню «Пуск» или файла .

Примечание

PowerShell 7.1 устанавливается в новом каталоге и работает параллельно с Windows PowerShell 5.1.
PowerShell 7.1 устанавливается как обновление на месте взамен PowerShell 6.x или PowerShell 7.0.

  • PowerShell 7.1 устанавливается в папке .
  • Папка добавляется в переменную .
  • Папка удалена.

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

Установка администратором из командной строки

MSI-пакеты можно устанавливать из командной строки, что позволяет администраторам развертывать их без взаимодействия с пользователем. MSI-пакет включает в себя следующие свойства для управления параметрами установки:

  • ADD_EXPLORER_CONTEXT_MENU_OPENPOWERSHELL. Это свойство позволяет добавлять пункт Открыть PowerShell в контекстное меню проводника.
  • ADD_FILE_CONTEXT_MENU_RUNPOWERSHELL. Это свойство позволяет добавлять пункт Выполнить с помощью PowerShell в контекстное меню проводника Windows.
  • ENABLE_PSREMOTING. Это свойство позволяет включать удаленное взаимодействие PowerShell во время установки.
  • REGISTER_MANIFEST. Это свойство позволяет регистрировать манифест ведения журнала событий Windows.

В следующих примерах показано, как выполнить автоматическую установку PowerShell со всеми включенными параметрами.

Полный список параметров командной строки для см. здесь.

Разделы реестра, созданные во время установки

Начиная с версии PowerShell 7.1, пакет MSI создает разделы реестра, которые хранят данные о расположении установки и версии PowerShell. Эти значения можно найти в разделе . Значение уникально для каждого типа сборки (выпуск или предварительная версия), основного номера версии и архитектуры.

Release Architecture Ключ реестра
Выпуск версии 7.1.x x86
Выпуск версии 7.1.x X64
Предварительная версия 7.1.x x86
Предварительная версия 7.1.x X64

Может использоваться администраторами и разработчиками для поиска пути к PowerShell. Значения будут одинаковыми для всех выпусков предварительных и дополнительных версий. Значения отличаются для каждого выпуска основной версии.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Adblock
detector