使用 IntelliSense 传递数组列表
Pass an array list using IntelliSense
大家下午好!
有没有一种方法可以使用 IntelliSense 选项传递数组?
就像在传递数组的内容一样。我尝试了以下操作,但我不太确定接下来我该怎么做才能让它发挥作用(如果可能的话)。
ENUM GroupsList{
Group1
Group2
Group3
}
$Group1 = @(
"Name 1",
"Name 2",
"Name 3"
)
$Group2 = @(
"Name 4",
"Name 5",
"Name 6"
)
$Group3 = @(
"Name 7",
"Name 8",
"Name 9"
)
Function Add-Groups{
Param(
[parameter(Mandatory=$True)]
[GroupsList]
$GroupName
)
Foreach($Group in $GroupName){
"$Group"}
}
请注意,我只是在试验;没有真正的理由让我想出这个。
Add-Groups [-GroupName] <string>
是我。
我明白了。我只是最终使用 switch
语句根据选择引用回数组。
$Group1 = @(
"Name 1",
"Name 2",
"Name 3"
)
$Group2 = @(
"Name 4",
"Name 5",
"Name 6"
)
$Group3 = @(
"Name 7",
"Name 8",
"Name 9"
)
Function Add-Groups{
Param(
[parameter(Mandatory=$True)]
[validateset("Group1","Group2","Group3")]
[string[]]$GroupName
)
$Groups = switch -Exact ($GroupName){
"Group1" {$Group1}
"Group2" {$Group2}
"Group3" {$Group3}
}
Foreach($Group in $Groups){
"$Group"
}
}
输出:
PS C:\WINDOWS\system32> Add-Groups -GroupName Group3
Name 7
Name 8
Name 9
大家下午好!
有没有一种方法可以使用 IntelliSense 选项传递数组? 就像在传递数组的内容一样。我尝试了以下操作,但我不太确定接下来我该怎么做才能让它发挥作用(如果可能的话)。
ENUM GroupsList{
Group1
Group2
Group3
}
$Group1 = @(
"Name 1",
"Name 2",
"Name 3"
)
$Group2 = @(
"Name 4",
"Name 5",
"Name 6"
)
$Group3 = @(
"Name 7",
"Name 8",
"Name 9"
)
Function Add-Groups{
Param(
[parameter(Mandatory=$True)]
[GroupsList]
$GroupName
)
Foreach($Group in $GroupName){
"$Group"}
}
请注意,我只是在试验;没有真正的理由让我想出这个。
Add-Groups [-GroupName] <string>
是我。
我明白了。我只是最终使用 switch
语句根据选择引用回数组。
$Group1 = @(
"Name 1",
"Name 2",
"Name 3"
)
$Group2 = @(
"Name 4",
"Name 5",
"Name 6"
)
$Group3 = @(
"Name 7",
"Name 8",
"Name 9"
)
Function Add-Groups{
Param(
[parameter(Mandatory=$True)]
[validateset("Group1","Group2","Group3")]
[string[]]$GroupName
)
$Groups = switch -Exact ($GroupName){
"Group1" {$Group1}
"Group2" {$Group2}
"Group3" {$Group3}
}
Foreach($Group in $Groups){
"$Group"
}
}
输出:
PS C:\WINDOWS\system32> Add-Groups -GroupName Group3
Name 7
Name 8
Name 9