循环遍历要处理的组名称的值列表
Cycling through a list of values for Group Names to Process
我正在尝试正确使用 PowerShell 语法来创建一个 AD 组名称列表,然后我可以继续循环处理该列表。 one 命名组的工作代码是:
$Groups = (Get-AdGroup -identity "My_Group_Name" |
select name -expandproperty name)
他们将这个 AD 组分成 8 个子组,因此现在要求
`$Groups` is a list of 8 known groups. So I am aiming for something like:
$GroupList = "My_Group_Name1,My_Group_Name2,My_Group_Name3,My_Group_Name4";
$Groups = $GroupList.split(",");
$Groups = (Get-AdGroup -identity ***each group member of $Groups*** |
select name -expandproperty name)
这是 ***each group member of $Groups***
我正在努力解决的问题。
您需要遍历组数组。
foreach ($group in $grouplist) {
your code here
}
尝试以下操作:
$GroupList = "My_Group_Name1","My_Group_Name2","My_Group_Name3","My_Group_Name4"
$GroupMembers = @()
$GroupList | ForEach-Object {
$GroupMembers += (Get-AdGroup -identity $_ | Get-ADGroupMember | select -expandproperty name)
}
$GroupMembers
我不会使用一个字符串来存储您所有的组名,请尝试使用一组字符串,这样您就不需要使用拆分命令了。上面的代码将获取一组组名并将它们的成员添加到变量 $GroupMembers
.
改变这个:
$Groups = $GroupList.split(",");
$Groups = (Get-AdGroup -identity ***each group member of $Groups*** |
select name -expandproperty name)
进入这个:
$Groups = $GroupList.Split(",") | Get-ADGroupMember |
Select-Object -ExpandProperty Name
更好的是,立即将 $GroupList
定义为数组(如 所建议的那样),因此您不需要首先拆分字符串:
$GroupList = 'My_Group_Name1', 'My_Group_Name2', 'My_Group_Name3',
'My_Group_Name4'
$Groups = $GroupList | Get-ADGroupMember | Select-Object -Expand Name
$Grouplist = @(
"group1",
"group2"
)
foreach($group in $Grouplist){
Get-ADGroupMember -identity $group |select name -expandproperty name
}
我正在尝试正确使用 PowerShell 语法来创建一个 AD 组名称列表,然后我可以继续循环处理该列表。 one 命名组的工作代码是:
$Groups = (Get-AdGroup -identity "My_Group_Name" |
select name -expandproperty name)
他们将这个 AD 组分成 8 个子组,因此现在要求
`$Groups` is a list of 8 known groups. So I am aiming for something like:
$GroupList = "My_Group_Name1,My_Group_Name2,My_Group_Name3,My_Group_Name4";
$Groups = $GroupList.split(",");
$Groups = (Get-AdGroup -identity ***each group member of $Groups*** |
select name -expandproperty name)
这是 ***each group member of $Groups***
我正在努力解决的问题。
您需要遍历组数组。
foreach ($group in $grouplist) {
your code here
}
尝试以下操作:
$GroupList = "My_Group_Name1","My_Group_Name2","My_Group_Name3","My_Group_Name4"
$GroupMembers = @()
$GroupList | ForEach-Object {
$GroupMembers += (Get-AdGroup -identity $_ | Get-ADGroupMember | select -expandproperty name)
}
$GroupMembers
我不会使用一个字符串来存储您所有的组名,请尝试使用一组字符串,这样您就不需要使用拆分命令了。上面的代码将获取一组组名并将它们的成员添加到变量 $GroupMembers
.
改变这个:
$Groups = $GroupList.split(",");
$Groups = (Get-AdGroup -identity ***each group member of $Groups*** |
select name -expandproperty name)
进入这个:
$Groups = $GroupList.Split(",") | Get-ADGroupMember |
Select-Object -ExpandProperty Name
更好的是,立即将 $GroupList
定义为数组(如
$GroupList = 'My_Group_Name1', 'My_Group_Name2', 'My_Group_Name3',
'My_Group_Name4'
$Groups = $GroupList | Get-ADGroupMember | Select-Object -Expand Name
$Grouplist = @(
"group1",
"group2"
)
foreach($group in $Grouplist){
Get-ADGroupMember -identity $group |select name -expandproperty name
}