Сценарий импорта Powershell с параметром - PullRequest
0 голосов
/ 05 июля 2018

Я хотел бы импортировать мой основной скрипт в свой тестовый скрипт (для модульных тестов), но с
. ("P:\Documents\PS\ppmc_Cronet_Interface.ps1") или
Import-Module P:\Documents\PS\ppmc_Cronet_Interface.ps1 он автоматически выполняет основной скрипт.

Есть ли какой-нибудь общий способ, как справиться с этим? Я попытался добавить параметр . ("P:\Documents\PS\ppmc_Cronet_Interface.ps1 -t"), но он не будет импортировать файл.

Заранее спасибо!

1 Ответ

0 голосов
/ 05 июля 2018

Общий код в Powershell Вы можете просто поместить код, который вы хотите включить в другой файл PS1, а затем «поставить точку» этого файла, чтобы включить его в текущую область:

. D:\script_common\MyCode.ps1

Вот и все.

Использование модуля Вместо этого вы можете рассмотреть возможность использования модуля, который можно включить с помощью командлета Import-Module. Вы могли бы использовать это для работы с такими вещами, как Active Directory, где вы могли бы сделать что-то вроде этого:

Import-Module ActiveDirectory

В этом случае вам нужно только имя модуля, потому что он находится в специальном каталоге.

Чтобы написать свои собственные модули в Powershell, вы называете модуль расширением .psm1. Как правило, вы не делаете свободно плавающий код в одном из них; вы пишете функции, которые затем доступны для кода, который импортирует модуль.

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

Import-Module D:\script_common\MyModule.psm1
...