目前正在编写一个脚本来配置Citrix服务器场的策略。 我有一些策略,每个策略有7-8个设置,并可以单独添加:
set-ctxgrouppolicyconfiguration [policyName] [type] [setting] [value]
set-ctx....
set-ctx....
有没有办法将这些设置读入数组并将其传递给cmdlet?
答案 0 :(得分:1)
我不太熟悉Citrix,但您始终可以在CSV中创建设置列表:
"PolicyName","Type","Setting","Value"
"foo","User","some","23"
"foo","User","other","42"
"bar","User","...","..."
...
定义一个这样的自定义函数:
function Set-MyPolicies {
[CmdletBinding()]
Param(
[Parameter(ValueFromPipeline=$true)]
[PSObject[]]$Policies
)
Process {
$Policies | % {
Set-CtxGroupPolicyConfiguration @_
}
}
}
并将所有内容组合在一起:
Import-Csv 'C:\path\to\policies.csv' | Set-MyPolicies
该函数使用splatting进行简化的参数处理(CSV的列标题以允许此参数的名称命名)。