PowerShell 101: Поиск и установка новых модулей

Управление задачами в PowerShell часто кажется волшебством — пока не потребуется недостающая функциональность. Будь то автоматизация обновлений, управление учетными записями пользователей или доступ к расширенным функциям, вы быстро обнаружите, что встроенных инструментов недостаточно. В таких случаях вы понимаете: Мне нужны дополнительные модули, но с чего начать?

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

Погружайтесь в это и становитесь профессионалом по модулям PowerShell!

Поиск модуля в галерее PowerShell

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

Если вы не уверены в точном имени модуля, начните с использования подстановочного символа при поиске с помощью Find-Module:

Find-Module '*windowsupdate*'

Эта команда перечисляет модули, соответствующие шаблону подстановки.

После того как вы найдете нужный модуль, уточните поиск, указав имя модуля (т.е. PSWindowsUpdate):

Find-Module -Name 'PSWindowsUpdate'

Установка модуля

Нахождение модуля — это только первый шаг; следующий — загрузить его на вашу систему. Модули в галерее PowerShell похожи на приложения в магазине приложений. Вы можете быстро загрузить и установить их, как только поймете, что ищете.

Загрузите модуль напрямую, передав вывод Find-Module в Install-Module:

Find-Module -Name 'PSWindowsUpdate' | Install-Module

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

Для предотвращения повторяющихся запросов можно установить политику репозитория на Trusted:

Set-PSRepository -Name PSGallery -InstallationPolicy Trusted

Повторите команду установки:

Find-Module -Name 'PSWindowsUpdate' | Install-Module

Проверка установленного модуля

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

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

Чтобы подтвердить местоположение установленного модуля в PowerShell, используйте:

Get-Module -Name PSWindowsUpdate -ListAvailable | Select-Object ModuleBase

Эта команда возвращает местоположение модуля в файловой системе. По умолчанию модули устанавливаются в папку Documents вашего профиля пользователя.

Чтобы перечислить все доступные команды в модуле:

Get-Command -Module PSWindowsUpdate

Удаление модуля

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

Чтобы удалить определенный модуль:

Uninstall-Module -Name PSWindowsUpdate

Если модуль в настоящее время используется, PowerShell может предотвратить его удаление.

Проверьте, загружен ли модуль:

Get-Module PSWindowsUpdate

Если загружен, выгрузите его:

Remove-Module PSWindowsUpdate

Теперь повторите попытку удаления:

Uninstall-Module -Name PSWindowsUpdate

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

Заключение

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

Обладая этими навыками, вы готовы исследовать другие модули в Галерее PowerShell для улучшения автоматизации и решения задач в вашей среде. Например, рассмотрите модули для управления Active Directory или Azure, или даже попробуйте создавать собственные модули для обмена с другими.

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

Source:
https://adamtheautomator.com/powershell-module-management/