Загрузка пользовательских функций в Powershell
У меня есть некоторые дополнительные функции, которые я определил в дополнительном файле Powershell script, который я пытаюсь загрузить в основной файл .ps1. Однако, когда я вызываю файл .ps1 из приглашения Powershell, он не запускается через эти команды.
В следующем примере кода build_functions.ps1 имеет код, который определяет различные пользовательские функции. Если я запустил файл отдельно (например, запустив его сам по себе, а затем выполнив основной script), он отлично работает. Build_builddefs.ps1 содержит ряд переменных, которые также должны быть заполнены до запуска первичного script.
В начале моего основного script у меня есть это:
.\build_functions.ps1
.\build_builddefs.ps1
Однако, похоже, что они не запускаются, поскольку первичный script терпит неудачу, когда он пытается выполнить первую настраиваемую функцию. Что я делаю неправильно?
Ответы
Ответ 1
Вы должны dot source
их:
. .\build_funtions.ps1
. .\build_builddefs.ps1
Обратите внимание на дополнительный .
Эта статья heyscriptingguy
должна помочь - http://blogs.technet.com/b/heyscriptingguy/archive/2010/08/10/how-to-reuse-windows-powershell-functions-in-scripts.aspx
Ответ 2
Я продолжал использовать это все это время
Import-module .\build_functions.ps1 -Force