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

使用Get-ADUser结合Select后部分列返回{}或ADPropertyValueCollection问题

解决Get-ADUser筛选属性返回{}或ADPropertyValueCollection的问题

问题原因

  • 属性名不匹配:AD中LastName并非原生属性,它是Surname的别名,直接调用会返回空集合;FullName也不是AD用户的默认属性,通常用Name或DisplayName替代。
  • 属性未赋值或未加载:若用户对象未设置目标属性值,或未通过-Properties参数指定加载该属性,就会返回空的ADPropertyValueCollection(显示为{})。
  • 多值属性特性:AD部分属性为多值类型,即便无数据也会返回集合对象,导出CSV时会显示其类型名称。

修复方案

1. 使用正确的AD原生属性

替换错误属性名,调用AD内置属性:

Get-ADUser -Properties DisplayName | Select-Object Surname, Name, DisplayName
  • Surname对应用户姓氏,Name是AD用户的名称属性,DisplayName为用户显示全名。

2. 用计算属性映射别名

如果需要保留LastName/FullName这类别名(比如报表格式要求),通过计算属性将原生属性映射过去:

Get-ADUser -Properties * | Select-Object Surname, 
    @{Name='LastName'; Expression={$_.Surname}},
    @{Name='FullName'; Expression={$_.DisplayName}},
    DisplayName
  • 强制将Surname赋值给LastName,DisplayName赋值给FullName,避免空集合返回。

3. 导出CSV时处理类型显示

若导出CSV仍出现类型名称,可将属性强制转为字符串:

Get-ADUser -Properties * | Select-Object Surname, 
    @{Name='LastName'; Expression={[string]$_.Surname}},
    @{Name='FullName'; Expression={[string]$_.DisplayName}},
    DisplayName | Export-Csv -Path "ADUsers.csv" -NoTypeInformation
  • [string]会将空集合转为空字符串,导出后CSV显示正常。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.07 21:10:28