【发布时间】:2021-06-10 07:01:15
【问题描述】:
我想要的是 $report_groups val 在 Export-CSV 中为我提供我在终端中获得的输出。但我想不通他为什么给我数字。
$get_AD_Groups = Get-ADGroup -Filter '*' | Select-Object Name
$report_groups = New-Object -TypeName System.Collections.ArrayList
foreach ($item in $get_AD_Groups) {
$get_users = $item.Name | Get-ADGroupMember | Select-Object Name
$disabled_user = 0
foreach ($user in $get_users) {
$status = $user.Name | Get-ADUser -ErrorAction SilentlyContinue
if(($status.ObjectClass -eq 'user') -and ($status.Enabled -ne 'True')) {
$disabled_user++
}
}
if ($get_users.Count -eq $disabled_user) {
$report_groups.Add($item.Name)
}
}
$report_groups | Export-Csv -Path "..\report.csv" -NoTypeInformation -Force -Delimiter ";"
现在,当我在终端中运行 $report_groups 时,我会得到 AD 组的列表,但是一旦我执行 Export-CSV,这就是我得到的:
【问题讨论】:
-
这意味着您将 STRINGS 发送到导出 cmdlet。您需要发送更复杂的结构化对象 - 例如 PSCustomObject 项目。看一下 >>>
'' | select *Length。 [咧嘴] -
天哪,这进一步帮助了我。我现在要去某个地方哭x)。
-
很高兴“帮助”了一点... [grin]
-
您要查找所有成员(AD 用户)都被禁用的所有 AD 组,对吗?