PowerShell:在LDAP过滤器中使用ByteArray

今天,我从一个朋友那里得到了一个很好的问题。让我们叫我的朋友史蒂夫,毕竟他的名字是史蒂夫。不管怎样,我的朋友想要返回一个域中没有字节数组值的所有用户作为logonHours属性。自然,我对自己说,这很简单,这是你的过滤声明:

! (logonHours = FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF)

是的…但这并没有奏效。所以,我咨询了我的第二个大脑:谷歌。我没有立即看到任何东西,但那一定是因为我使用了错误的搜索词。奇怪的是,这时我的脑海里出现了一个唠叨的声音:“泰森,你知道这个。”我花了一分钟,然后我意识到我不仅知道这个话题,而且我甚至写了关于它的第二篇文章nd版本的Windows PowerShell释放的书:

最后,如果搜索过滤器包含二进制数据,则需要表示该数据,以便使用反斜杠"\"后跟两个十六进制数字转义二进制数据的每个字节。例如,要检索GUID = "659cd735f7fc4182b007b650b621d4de"的对象,您将使用以下过滤器语句。

”(objectGUID = \ 65 \ 9 c \ d7 35 \ \ f7 \ fc \ 41 \ 82 \ b0 \ 07年50 \ b6 \ \ b6 \ \ d4 \ de 21日)”

这并不常见,你自己去找。无论如何,现在我知道了过滤器不工作的原因,我给Steve下面的PowerShell一行程序,它使用Quest的AD cmdlet的Get-QADUser cmdlet:

get-qaduser -IncludeAllProperties -ldapfilter’(! (logonHours = \ FF \ FF \ FF \ FF \ FF \ FF \ FF \ FF \ FF \ FF \ FF \ FF \ FF \ FF \ FF \ FF \ FF \ FF \ FF \ FF \ FF))”|选择名字,logonHours

如果你喜欢这篇文章,可以看看泰森的其他文章:

如果你愿意,你也可以看看泰森的最新出版物:

最后,参观微软子网浏览更多来自互联网的新闻、博客和观点。或者报名参加每两周微软简报(点击新闻/微软新闻警报)

加入网络社区有个足球雷竞技app脸谱网LinkedIn上面的评论主题思想。
相关:

版权©2008Raybet2

工资调查:结果是在