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

使用PowerShell按AD用户生日(extensionAttribute6)排序报错求助

解决AD用户按出生日期(月/日)+姓名排序的PowerShell错误问题

错误原因

你执行的命令中,Sort-Object无法直接通过extensionAttribute6.substring(4,5)这种方式调用属性方法作为排序键——PowerShell会将其视为无效的位置参数,因此抛出"找不到接受参数的位置参数"错误。

正确命令

要实现按月份、日期、姓名的顺序排序,需要使用脚本块({})来动态计算每个用户的排序键:

Get-ADUser -Filter 'enabled -eq "true"' -Properties extensionAttribute6 | 
    # 先按出生日期的月日部分排序,再按姓名排序
    Sort-Object { $_.extensionAttribute6.Substring(5) }, Name | 
    Format-Table Name, extensionAttribute6 -AutoSize

补充说明

  1. 排序键计算:$_.extensionAttribute6.Substring(5)会提取YYYY-MM-DD格式中从第5位开始的子串(即MM-DD部分),确保先按月份、再按日期排序。
  2. 过滤无效数据:如果存在未设置出生日期或格式不正确的用户,可以在过滤条件中添加格式校验,避免报错:
Get-ADUser -Filter 'enabled -eq "true" -and extensionAttribute6 -like "????-??-??"' -Properties extensionAttribute6 | 
    Sort-Object { $_.extensionAttribute6.Substring(5) }, Name | 
    Format-Table Name, extensionAttribute6 -AutoSize
  1. 优化输出:添加-AutoSize参数可以让表格列宽自动适配内容,可读性更好。

预期输出

执行后会得到符合需求的排序结果:

Name               extensionAttribute6
----               -------------------
John Doe           1969-02-28
Albert Einstein    1897-03-14
Karl Meier         1973-12-01
James Bond         1975-12-22

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.25 14:46:03