对于 XML 配置的替代方案,如果您可以灵活地使用其他类型的配置。我建议使用全局 PS 配置文件,方法如下:
创建一个 Powershell 配置文件(例如 Config.ps1),然后将所有配置作为全局变量并将其作为第一步进行初始化,以便配置值应该在您的脚本上下文中可用.
这种方法的好处是可以在 Config.ps1 PS 文件中使用各种类型的数据结构,例如标量变量、集合和散列,并在 PS 代码中轻松引用。
以下是一个实例:

这是 C:\Config\Config.ps1 文件:
$global:config = @{
Var1 = "Value1"
varCollection = @{
item0 = "colValue0"
item1 = "colValue1"
item2 = "colValue2"
}
}
然后从模块 C:\Module\PSModule.psm1 中的 Config.ps1 文件中加载函数/变量,如下所示:
$scriptFiles = Get-ChildItem "$PSScriptRoot\Config\*.ps1" -Recurse
foreach ($script in $scriptFiles)
{
try
{
. $script.FullName
}
catch [System.Exception]
{
throw
}
}
最后,初始化脚本包含以下这一行:( C:\Init.ps1 )。
Import-Module $PSScriptRoot\Module\PSModule.psm1 -Force
运行 Init.ps1 后。global:config 变量将在您的脚本上下文中可用。这是输出:
