假设我在DSC设置中有两个角色,并且我的设置中有可变数量的节点:
$configdata = @{
AllNodes = @(
@{
NodeName = "*Web*" # < problem lies here
# can be prodWeb## or devWeb##
Role = "IIS", "basic"
}
@{
NodeName = "*"
Role = "basic"
}
)
}DSC资源:
Configuration CFG
{
$AllNodes.where{ $_.Role.Contains("Basic") }.NodeName
{
...
}
$AllNodes.where{ $_.Role.Contains("IIS") }.NodeName
{
...
}
}我能做到吗?
发布于 2017-05-12 19:30:24
所以,基本上我所做的是:
Configuration Windows
{
node $allnodes.NodeName {
switch ($Node.Role) {
"Role1" {
...
}
"Role2" {
...
}
"Role3" {
...
}
}
}
}我的配置数据:
@{ AllNodes = @( @{ NodeName = "web"; Role = "Role1", "Role2" } ) }对于另一组节点:
@{ AllNodes = @( @{ NodeName = "other"; Role = "Role1", "Role3" } ) }我使用Azure自动化将配置分配给节点,因此它不检查节点名称,它只应用配置在编译时所扮演的任何角色。
发布于 2017-04-19 19:18:36
配置数据中的AllNodes条目是一个哈希表数组。每个哈希表都需要一个密钥NodeName。该值将在表达式计算时被替换。所以像web这样的名字是行不通的
https://stackoverflow.com/questions/43415205
复制相似问题