Путь скрипта PowerShell из модуля - PullRequest
0 голосов
/ 30 апреля 2020

У меня есть этот myModule.psm1 в каталоге модулей:

function my-test{
    $global:PSCommandPath>C:\test.txt;C:\test.txt
}

и этот myScript.ps1

my-test

Когда я запускаю myScript.ps1 с PowerShell ISE, я получаю путь к myScript.ps1 в файле test.txt, как я и ожидал.

Когда я запускаю myScript.ps1 с PowerShell, я получаю пустой файл test.txt.

Как это исправить?

1 Ответ

0 голосов
/ 30 апреля 2020

Это материал PowerShell уровня 100.

Если это действительно модуль, файл .psm1 , то он должен находиться в каталоге ваших модулей (или напрямую вызываться из пути каталога) и иметь правильное имя, затем загружаться в память, используя ...

Import-Module -Name 'YourModuleName'

Если вы пытаетесь использовать функцию из файла .ps1, она также должна быть загружена путем прямого запуска сценария или dot-sourcing it .

. .\my-test.ps1

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

См. Файлы справки, веб-статьи, видеоролики Youtube, касающиеся загрузки файла .ps * и запуска функций из файлов .ps *. Я предоставил ссылку выше на Youtube.

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