在PowerShell中,我已经知道如何使用DirectoryEntry和DirectorySearcher获取某个OU中的用户列表。这种方法的结果大部分是我在AD中查找的内容,但通过使用WMI查询Win32_UserAccount来获取相同的信息似乎更容易。我更喜欢这个类的属性,并且SID已经是正确的字符串格式(在第一种方法中,它需要从一个十六进制字节数组转换为字符串)。如何通过OU过滤Win32_UserAccount结果
我在使用Win32_UserAccount时遇到的问题是我无法找到一种方法来通过OU进行过滤。我可以通过域名和名称成功过滤,并且已经尝试了几次WQL猜测,但似乎无法找到OU过滤器的任何语法。我的大多数尝试都会导致“无效查询”。下面是一个可行的查询的例子:
$user = gwmi Win32_UserAccount -filter "name='somebody' AND domain='mydomain'"
如果没有办法通过OU来过滤这个话,我会回去使用的DirectoryEntry /的DirectorySearcher。
这是我即将做,从的DirectorySearcher通过OU得到用户的列表,并他们使用Win32_UserAccount(从Win32_Account继承其他属性)并从那里获取其余的信息。对于WMI来说,这将是一个简单的单一调用,并循环遍历结果,但是如果OU属性不可用,那么我想它不能被它过滤。 – Bratch 2012-03-20 17:17:56