Netwrix Auditor for Active Directory
- 运行 Netwrix Auditor。转到“Reports”-> 点击“Predefined”-> 展开“Active Directory”部分 -> 转到“Active Directory – State-in-Time”-> 选择“Group Members”-> 点击“View”。
- 在“Status”字段中指定“Enabled”,并在“Member Type”字段中输入“user” -> 点击“View Report”。
- 查看您的报告:
- 要将报告导出为文件,请单击“Floppy”按钮并选择所需格式。
了解更多:Netwrix Auditor for Active Directory
原生解决方案
- 在域控制器上打开 PowerShell ISE,然后运行以下 PowerShell 脚本:
import-module activedirectory
$Path = "C:\Temp\UserGroups.csv"
$username = "*"
$ADuser = Get-ADUser -filter {(Name -like $username -or SamAccountName -like $username) -and (Enabled -eq $true)}
$out = foreach($user in $ADuser) {
$groups = Get-ADPrincipalGroupMembership $user
foreach ($group in $groups){
$rec = New-Object PSObject
foreach($GP in $group.psobject.Properties) {
foreach($UP in $user.psobject.Properties) {
$rec | Add-Member -Type NoteProperty -Name ("U_" + $UP.Name) -Value $UP.value -Force
$rec | Add-Member -Type NoteProperty -Name ("G_" + $GP.Name) -Value $GP.value -Force
}
}
$rec|select U_Name, U_DistinguishedName,G_name,G_GroupCategory, G_GroupScope, G_distinguishedName
}
}
$out |Export-Csv $Path -NoTypeInformation
仅为单个用户身份列出组名时,请将 "*" 替换为用户帐户名称。
如需生成信息更少的摘要报告,可以从 $rec|select 语句中省略字段。
您可以只保留 U_Name(或 U_SamAccountName)和 G_name(或 G_SamAccountName),从而仅获取“用户名 + 组名”的摘要。
- 查看 .csv 报告:
获取 AD 组成员报告
最佳实践建议使用 AD 组为用户分配访问权限。然而,随着时间推移,你的 AD 组结构可能会变得非常复杂,这会使你更难知道谁拥有对哪些资源的访问权限。要手动审查访问权限或排查权限问题,域管理员必须先查看用户属于哪些组,然后再审查这些已列出组所授予的权限。
获取用户组成员信息的更简单方法是使用 PowerShell。只要你的 AD 结构较为清晰,你就可以通过 Active Directory PowerShell 模块中的 Get-ADPrincipalGroupMembershipcmdlet 来获取组和用户路径。(要列出计算机成员信息,则必须使用不同的命令。)不过,如果你的组织有大量的组名称列表,那么 PowerShell 不适合作为除偶尔的临时(ad-hoc)分析之外的方案。
Netwrix Auditor 可大幅简化对组成员关系的审查与故障排查。只需运行预定义的报告,即可获取用户所属的 AD 组。无需使用 PowerShell,因此你不必花时间编写和维护脚本。企业管理员能够及时、轻松地找到所需信息,并导出为 CSV、XLSX,甚至 PDF,从而便于定期审查并加快问题解决。
分享到