如何获取AD用户的完整权限及displayname等指定属性?
修改PowerShell命令以同时获取AD用户属性与权限
你需要调整原有命令,在获取权限信息的同时关联用户的DisplayName、SamAccountName和EmployeeID属性。关键是先确保获取用户时加载目标属性,再将用户属性映射到每个权限条目上:
Get-ADUser -Filter * -Properties DisplayName, SamAccountName, EmployeeID | ForEach-Object { $currentUser = $_ (Get-ACL "AD:$($currentUser.DistinguishedName)").Access | Select-Object ` @{Name='DisplayName'; Expression={$currentUser.DisplayName}}, @{Name='SamAccountName'; Expression={$currentUser.SamAccountName}}, @{Name='EmployeeID'; Expression={$currentUser.EmployeeID}}, * }
关键说明:
-Properties DisplayName, SamAccountName, EmployeeID:强制加载EmployeeID(它不属于AD用户默认返回的属性集),同时显式指定另外两个属性确保获取。- 把当前用户对象存入
$currentUser变量,避免在嵌套管道中丢失上下文。 Select-Object通过计算属性的方式,将用户的三个属性添加到每个权限条目中,*保留权限条目的原有所有属性(如权限类型、主体等)。
如果部分用户没有设置EmployeeID,该字段会显示为空值,属于正常现象。
内容的提问来源于stack exchange,提问作者Arbelac
相关产品推荐
相关产品推荐

