У меня есть файл .ps1 с переменными, которые мне нужно импортировать, но я не знаю пути при запуске и мне нужно импортировать скрипт в функцию.Я могу убедиться, что скрипт существует, но ни одна из переменных не импортирована.
vars.ps1: $ var1 = 4
class Foo
{
static [string]GetFilename()
{
return join-path $path "vars.ps1"
}
static [void] ImportScript()
{
$settingsFile = GetFilename()
Import-Module $settingsFile
write-host "testing settings path $settingsFile : $(Test-Path $settingsFile)"
}
static [void] Print()
{
$var1= $script:var1
write-host "var1: $var1"
}
}
вывод: var1:
Itпохоже, что есть ограничение на импорт модулей внутри функций.Я также попытался использовать $ global и обычную функцию вместо метода класса, но получил тот же результат.
извлечение логики из функций и запуск ее на уровне сценария.