Блог

Большинство популярных модулей PowerShell устанавливаются в онлайн-режиме из официального репозитория PowerShell Gallery (PSGallery) с помощью команды Install-Module. Однако, если ваш компьютер находится в изолированной от интернета сети или доступ к PSRepository ограничен, установка модулей PowerShell становится проблемой. В этой статье мы рассмотрим способы офлайн установки модулей PowerShell и их импорта с удаленного компьютера на примере модуля для управления SQL Server.

На сайте PowershellGallery.com отсутствуют ссылки на загрузку модулей. Единственное, что вы можете загрузить с сайта это пакет NuGet (файл .nupkg ), но это будет не совсем полноценная установка модуля (основная проблема – не устанавливаются зависимости).

Ручная установка модуля PowerShell в офлайн системах

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

1. Проверьте версию PowerShell на компьютере, она должна быть не ниже 5.1:

$PSVersionTable.PSVersion

2. Убедитесь, что нужный модуль доступен в PowerShell Gallery:

Find-Module –Name *SqlServer* | Select Name, Version, Repository

3. Скачайте нужный модуль на компьютер:

Save-Module –Name SqlServer –Path C:\ps\

Это скачает модуль SqlServer в указанный каталог.

4. Скопируйте папку с модулем на офлайн-компьютер, куда хотите его установить.

5. Определите, в каких каталогах PowerShell хранит модули:

$env:PSModulePath -split ";"

Вы увидите пути, где PowerShell хранит модули, например:

C:\Users\root\Documents\WindowsPowerShell\Modules — модули доступны только данному пользователю. (CurrentUser)

C:\Program Files\WindowsPowerShell\Modules — путь для установки модулей для всех пользователей компьютера. (Scope AllUsers)

C:\Windows\system32\WindowsPowerShell\v1.0\Modules — каталог для встроенных модулей по-умолчанию

6. Скопируйте модуль в каталог C:\Program Files\WindowsPowerShell\Modules.

7. Проверьте доступность модуля:

Get-Module -Name SQLServer -ListAvailable

8. Узнайте путь, где установлен модуль:

(Get-Module -ListAvailable SQLServer).path

9. Выведите список команд модуля:

Get-Command -Module SQLServer

Аналогичным образом вы можете установить любой модуль. Чаще всего используют этот способ для установки PowerShell модуля SQLServer, PSWindowsUpdate и PowerCLI для VMWare.

Импорт PowerShell модуля по сети с другого компьютера

Если вы не хотите устанавливать модуль на всех компьютерах, можно импортировать модуль с другого компьютера через PSRemoting.

1. Создайте сессию PowerShell с удаленным компьютером:

$session = New-PSSession -ComputerName msk-sql01

2. Выведите список установленных модулей на удаленном компьютере:

Get-Module -PSSession $session –ListAvailable

3. Импортируйте нужный модуль на ваш локальный компьютер:

Import-Module -PSsession $session -Name SqlServer

4. После завершения работы закройте сессию:

Remove-PSSession $session

Импорт модулей через неявное удаленное управление (Implicit Remoting)

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

1. Подключитесь к удаленному компьютеру и импортируйте модуль:

$session = New-PSSession -ComputerName msk-sql01

Invoke-Command {Import-Module SqlServer} -Session $session

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

Export-PSSession -Session $session -CommandName *-Sql* -OutputModule RemSQLServer -AllowClobber

Это создаст на вашем компьютере новый PowerShell модуль RemSQLServer (в каталоге C:\Program Files\WindowsPowerShell\Modules ).

3. Закройте сессию:

Remove-PSSession $session

4. Теперь вы можете использовать командлеты, импортировав новый модуль:

Import-Module RemSQLServer

Командлеты модуля SQL Server будут доступны до тех пор, пока сессия PowerShell остается активной.

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

Подписаться
Уведомить о
guest
0 комментариев
Межтекстовые Отзывы
Посмотреть все комментарии