Powershell活动目录属性

时间:2011-04-08 11:24:18

标签: powershell active-directory

我正在尝试查找活动目录的属性:

$strFilter = "(&(objectCategory=User))"

$objDomain = New-Object System.DirectoryServices.DirectoryEntry

$objSearcher = New-Object System.DirectoryServices.DirectorySearcher
$objSearcher.SearchRoot = $objDomain
$objSearcher.PageSize = 1000
$objSearcher.Filter = $strFilter
$objSearcher.SearchScope = "Subtree"

$colResults = $objSearcher.FindAll() 

foreach ($objResult in $colResults){   
    $objItem = $objResult.Properties

我可以调用$ objitem.name,但我不知道我可以访问哪些其他属性。

如何找到我可以从$ objitem访问哪些属性?

编辑:

使用此解决方案,使用以下答案:

foreach ($objResult in $colResults){   
   ($colResults)[0].Properties.PropertyNames
}

3 个答案:

答案 0 :(得分:3)

foreach ($objResult in $colResults){   
    $objResult.Properties | % {$_.propertynames}
}

应显示每个结果属性的键。

答案 1 :(得分:0)

使用get-member(别名为gm)cmdlet获取所有属性和方法。像这样,

$objItem | gm

另一种方法是将对象传递给format-list(别名为fl)cmdlet,它不会列出方法。像这样,

$objItem | fl *

答案 2 :(得分:0)

好的,前面的答案是“Powershell”功能。如果您真的想知道给定类可以达到的属性(此处为clas user ),您必须查看Schema。在Windows服务器上可以注册 schmmgmt.dll COM对象。

C:\>regsvr32 c:\WINDOWS\system32\schmmgmt.dll

JP