簡體   English   中英

如何定位域中的特定容器和特定計算機?

[英]How can I target a specific container and specific computers within my domain?

如何獲得域中特定節點的所有子級?

$objDomain = New-Object System.DirectoryServices.DirectoryEntry
$objSearcher = New-Object System.DirectoryServices.DirectorySearcher
$objSearcher.SearchRoot = $objDomain
$objSearcher.SearchScope = "Subtree" 
$objSearcher.PageSize = 1000 
$objSearcher.Filter = "(objectCategory=$strFilter)"
$colResults = $objSearcher.FindAll()

上面的代碼有效,但是提供了整個域。

如果域名是contoso.com,我感興趣

定位將在此容器中的計算機

 "LDAP://dc=departmentA,dc=contoso, dc=com"

另外,如果部門內有非常特定的計算機

如果departmentA是組織單位,則您的LDAP uri錯誤,它應顯示為LDAP://OU=departmentA,dc=contoso,dc=com

幫個忙,安裝AD Powershell模塊(RSAT的一部分),您的查詢將成為:

Get-ADComputer -Filter $strFilter -SearchBase "ou=departmentA,dc=contoso,dc=com"

LDAP術語中的“搜索根”是搜索適用的根節點。 沒有參數的New-Object System.DirectoryServices.DirectoryEntry返回當前會話的登錄域的根節點。 由於您要提供域的根節點作為搜索根並將范圍設置為“子樹”,因此您要搜索整個域。

如果您提供到特定容器的LDAP路徑作為字符串參數,它將返回代表該容器的DirectoryEntry對象,您可以將其用作SearchRoot屬性的值:

$objSearcher.SearchRoot = New-Object System.DirectoryServices.DirectoryEntry('LDAP://OU=departmentA,DC=contoso,DC=com')

我發現在某些情況下,如果僅指定容器DN的LDAP路徑不起作用,則此格式可以使用: LDAP://<FQDN>/<Container's DN> ,在此示例中為LDAP://contoso.com/OU=departmentA,DC=contoso,DC=com 但是,我僅在向其他域進行身份驗證時才遇到此問題。 如果要搜索登錄域,則無需添加FQDN。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM