2014-05-01 13:09:26 +0000 2014-05-01 13:09:26 +0000
12
12

查找具有特定AD属性NOT NULL的AD用户。

我正在寻找一个脚本/Powershell命令,它将列出所有在teletexterminalidentifier属性中的值not NULL的AD用户,因此他们必须有一个设置的值。

默认情况下,这个属性是没有设置的,但是我们有一个应用程序可以修改这个属性(包含一个十六进制字符串),所以我正在寻找一个列表,列出所有将这个属性设置为某项内容的用户。

谢谢!

答案 (3)

10
10
10
2014-05-01 13:32:26 +0000

你应该可以通过使用以下命令来获取用户。

Get-ADUser -Filter 'teletexterminalidentifier -like "*"'

然后你可以通过管道命令来过滤你需要的信息:

Get-ADUser -Filter 'teletexterminalidentifier -like "*"' | Select-Object name,teletexterminalidentifier | Export-Csv file.csv

其中Select-Object让你选择你想从哪个字段获取信息的名字。

4
4
4
2014-05-01 13:23:46 +0000

我想你要找的是Where-Object cmdlet。这里有一些伪代码可以帮助你。

Get-ADUser -Filter * | Where-Object {$_.teletexterminalidentifier -ne $null} | Export-Csv c:\list.csv
1
1
1
2014-05-02 09:33:04 +0000

如果你想根据这个属性过滤用户,你必须在-properties Cmdlet中添加Get-ADuser开关。事实上,如果没有这个开关,它只加载用户对象的基本属性(成员)。

因此,以下是实现你想要的完整命令:

Get-ADUser -filter * -Properties * | ? {$_.teletexterminalidentifier -ne $null} | Select-Object CN,SamAccountName,Teletexterminalidentifier

它将产生这样的结果:

然后你将能够把结果导出为所需的格式。

希望能帮到你!