Powershell установка модулей.
В работе сисадмина могут понадобиться модули, которые изначально отсутствуют в Powershell, давайте узнаем, как это исправить.
Посмотреть список доступных в системе модулей можно командой:
1 |
Get-Module -ListAvailable |
Процесс установки модулей будем рассматривать на примере модуля VMware.PowerCLI, который очень помогает тем, кто работает с системой виртуализации от VMware.
Итак, если ваш компьютер имеет доступ в Интернет, то установка модуля сводится к двум командам в консоли Powershell:
1 |
Find-Module -Name VMware.PowerCLI |
и
1 |
Install-Module -Name VMware.PowerCLI |
Если нужна определенная версия модуля:
1 |
Install-Module -Name VMware.PowerCLI -RequiredVersion 10.1.1.8827524 |
Powershell установка модулей offline
Давайте подробнее рассмотрим вариант установки модулей, когда ваш компьютер не имеет выхода в Интернет, а действия после установки будут аналогичны для обоих вариантов.
Для того, чтобы установить модуль на компьютере, не имеющем выхода во внешнюю сеть, нужно скачать модуль на машине с выходом в Интернет. Удобнее всего это сделать при помощи Powershell, введя команды:
1 |
Find-Module -Name VMware.PowerCLI |
и
1 |
Save-Module -Name VMware.PowerCLI -Path C:\path-to-folder |
После того, как загрузка завершится, вы увидите в папке файлы модулей:
Теперь на компьютере, на котором нужно установить этот модуль, поместите скачанные файлы в место, где Powershell ищет установленные модули. Посмотреть места размещения модулей Powershell можно, введя в консоли
1 |
$env:PSModulePath |
Лучше выбирать первые два, причем, если вы хотите, чтобы модуль был доступен только текущему пользователю, то выбирайте первый, а если всем пользователям — второй.
После того, как файлы модулей скопированы, запустите Powershell и выполните еще раз команду:
1 |
Get-Module -ListAvailable |
Теперь вы должны увидеть в списке доступных ваши модули
Если попробуем выполнить команду из нового модуля сейчас, то получим ошибку
Нужно импортировать модуль в текущую сессию командой
1 |
Import-Module |
При этом нужно разрешить выполнение сценариев на компьютере(если вы этого не сделали ранее), иначе получим ошибку:
Посмотреть текущую политику можно так:
1 |
Get-ExecutionPolicy |
В нашем примере выполнение сценариев запрещено.
Разрешить выполнение скриптов можно командой:
1 |
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned |
Выполнять ее нужно в консоли, запущенной от имени Администратора. После ее выполнения команды модуля станут доступны.
Аналогично можно установить и другие необходимые модули Powershell.
О том, как использовать PowerCLI в работе с виртуальными машинами, можно прочитать в рубрике, посвященной виртуализации от VMware.
В статье использованы материалы https://blogs.vmware.com/PowerCLI/2017/04/powercli-install-process-powershell-gallery.html