You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过PowerShell查看AD用户自定义属性值以完成批量修改?

解决AD自定义属性PowerShell查询不到的问题

要查看AD用户的自定义属性,核心是明确指定要返回的属性名——因为Get-ADUser默认仅返回基础属性集合,不会包含自定义属性。以下是具体解决方法:

1. 已知自定义属性的LDAP显示名

直接在Get-ADUser命令中通过-Properties参数指定该属性:

# 查询单个用户的自定义属性
Get-ADUser -Identity "张三" -Properties customAttributeName

# 批量查询多个用户(假设用户列表存于CSV,列名为SamAccountName)
$userList = Import-Csv -Path "C:\users.csv"
foreach ($user in $userList) {
    Get-ADUser -Identity $user.SamAccountName -Properties customAttributeName | Select-Object SamAccountName, customAttributeName
}

注意:必须使用属性的LDAP显示名,而非AD用户界面中的友好名称。

2. 未知自定义属性的LDAP显示名

如果不确定属性的LDAP名称,可以先返回用户的所有属性再筛选:

# 返回单个用户的所有属性,通过关键词筛选自定义属性
Get-ADUser -Identity "张三" -Properties * | Select-Object *custom*

也可以通过ADSI编辑器确认:

  • 打开ADSI编辑器,定位到目标用户对象
  • 右键选择「属性」,在「属性编辑器」标签中找到目标属性,查看其「LDAP显示名」

3. 批量导出自定义属性值

若需批量导出大量用户的自定义属性,可使用以下脚本:

$results = @()
$userList = Import-Csv -Path "C:\users.csv"
foreach ($user in $userList) {
    $adUser = Get-ADUser -Identity $user.SamAccountName -Properties customAttributeName
    $results += [PSCustomObject]@{
        用户名 = $adUser.Name
        SamAccountName = $adUser.SamAccountName
        自定义属性值 = $adUser.customAttributeName
    }
}
$results | Export-Csv -Path "C:\custom_property_results.csv" -NoTypeInformation -Encoding UTF8

内容的提问来源于stack exchange,提问作者Houman Alavehzadeh

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.24 12:57:53