我正在寻找一个脚本/Powershell命令,它将列出所有具有值的AD用户不是teletexterminalidentifier 属性中为 NULL,因此必须为它们设置一个值。
默认情况下未设置此属性,但我们有一个应用程序可以修改此属性(包含十六进制字符串),因此我正在寻找将此属性设置为某些值的所有用户的列表。
谢谢!
答案1
您应该能够使用以下方法获取用户:
Get-ADUser -Filter 'teletexterminalidentifier -like "*"'
然后,您可以通过管道命令来过滤您需要的内容:
Get-ADUser -Filter 'teletexterminalidentifier -like "*"' | Select-Object name,teletexterminalidentifier | Export-Csv file.csv
您可以从哪里Select-Object
按名称选择要从中获取信息的字段。
答案2
我认为您要找的是 Where-Object cmdlet。以下是一些伪代码,可以帮助您:
Get-ADUser -Filter * | Where-Object {$_.teletexterminalidentifier -ne $null} | Export-Csv c:\list.csv
答案3
如果要根据此属性过滤用户,则必须将-properties
开关添加到Get-ADuser
Cmdlet。事实上,如果没有此开关,它只会加载用户对象的基本属性(成员)。
因此,这里是实现您想要的完整命令:
Get-ADUser -filter * -Properties * | ? {$_.teletexterminalidentifier -ne $null} | Select-Object CN,SamAccountName,Teletexterminalidentifier
它会产生这样的结果:
然后您将能够将结果导出为所需的格式。
希望这可以帮助 !