我有几个小组,需要将结果导出到一个文件中。然而,我尝试了一些方法,但无法使其发挥作用。如果我使用$group
,那么格式就不对了。我想仍然保留选择结果,如名称和计数。我应该添加什么代码才能使其正常工作?
$group2 | Get-ADGroupMember -Recursive |
Where-Object { $_.objectClass -eq "User" } |
Select-Object -Unique |
Get-ADUser -Properties canonicalName |
Select-Object @{Name='container';Expression={($_.canonicalname -split '/')[2,3]}}, Count |
Group-Object container
Select Name, Count
$group3 | Get-ADGroupMember -Recursive |
Where-Object { $_.objectClass -eq "User" } |
Select-Object -Unique |
Get-ADUser -Properties canonicalName |
Select-Object @{Name='container';Expression={($_.canonicalname -split '/')[2,3]}}, Count |
Group-Object container
Select Name, Count
$group4 | Get-ADGroupMember -Recursive |
Where-Object { $_.objectClass -eq "User" } |
Select-Object -Unique |
Get-ADUser -Properties canonicalName |
Select-Object @{Name='container';Expression={($_.canonicalname -split '/')[2,3]}}, Count |
Group-Object container
Select Name, Count
Write-Output User, $Group2, $group3, Group4 |
Out-File -FilePath C:\Temp\Group_User$timestamp.csv -Append
答案 0 :(得分:0)
您的问题不清楚您想要实现的目标。你应该给我们几行所需的输出。 然后人们会说你想要的是什么。 话虽如此,作为脚本编写者,您希望尝试使代码进行迭代,而不是一遍又一遍地编写相同的代码。 所以对你来说,你应该研究一个foreach循环。 通过这种方式,您的代码会重复多次。
$groups = @("group1","group2")
$report = @()
foreach ($group in $groups){
$report += $group | Get-ADGroupMember -Recursive |
Where-Object { $_.objectClass -eq "User" } |
Select-Object -Unique |
Get-ADUser -Properties Name,canonicalname |
Select Name, canonicalname
}
$report