Ошибка при выполнении Get-Module в powershell 2.0 - PullRequest
0 голосов
/ 08 апреля 2019

Я новичок в powershell. Я столкнулся с ошибкой при работе над существующим скриптом. В C: / Scripts у меня 3 файла. Один файл .ps1 и 2 файла .psm1.

Имя файла ps1: RunScript.ps1
Это импортирует файлы .psm1, как показано ниже.

$modules = @(
    "$PsscriptRoot\Modules\Module1.psm1",
    "$PsscriptRoot\Modules\Module2.psm1"
)

foreach ($module in $modules) {
    if (-not $(Get-Module $module)) {
        Import-Module $module -Force -WarningAction SilentlyContinue
    }
}

Этот код выше дает мне ошибку, как показано ниже

Get-Module: запуск командлета Get-Module без ListAvailable Параметр не поддерживается для имен модулей, которые содержат путь. название Параметр имеет этот элемент 'C: \ Scripts \ Modules \ Module1.psm1', который разрешает путь. Обновите параметр имени, чтобы не иметь пути элементы, а затем повторите попытку.

Ожидается, что не будет указан путь к файлу. Но как мне сделать Get-Module в этом сценарии. Любая помощь очень полезна. Спасибо.

1 Ответ

0 голосов
/ 08 апреля 2019

Get-Module возвращает модули, импортированные в текущий сеанс, или установленные модули, доступные для импорта.Вы должны установить свой модуль, тогда он будет доступен с командлетом get-module с использованием имени вашего модуля.

Я не совсем уверен, что вы пытаетесь сделать со своим сценарием?Вы хотите импортировать его, только если он еще не импортирован?

Я бы добавил это как комментарий, но пока не могу ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...