PowerShell에서 CmdLets를 사용하지 않고 활성 디렉토리의 보안 그룹에있는 모든 사용자를 나열하려고합니다. 이상하게도 내 스크립트를 사용하면 전체 디렉토리를 나열하면 작동하지만 목록에 넣고 싶은 LDAP 쿼리를 지정하면 작동하지 않습니다. 나는 다른 비슷한 vbs에서 사용했기 때문에 나의 LDAP 쿼리가 정확하다는 것을 안다. 주석 처리 된 줄은 내가 쿼리에 넣으려고하는 곳입니다.CmdLets없이 powershell 스크립트를 사용하여 재귀 적으로 광고 그룹에 사용자 나열
$strFilter = "(&(objectCategory=person)(objectClass=user))"
#$strFilter = "(&(objectCategory=person)(objectClass=user)(memberOf=CN=Common Name,OU=User Groups,...,DC=ad,DC=domain,DC=com))" #... is just left out part of query
#$objDomain = New-Object System.DirectoryServices.DirectoryEntry
$objDomain = New-Object System.DirectoryServices.DirectoryEntry("LDAP://CN=Common Name,OU=User Groups,...,DC=ad,DC=domain,DC=com") #... is just left out part of query
$objSearcher = New-Object System.DirectoryServices.DirectorySearcher
$objSearcher.SearchRoot = $objDomain
$objSearcher.PageSize = 1000
$objSearcher.Filter = $strFilter
$objSearcher.SearchScope = "Subtree"
$colProplist = "name"
foreach ($i in $colPropList){$objSearcher.PropertiesToLoad.Add($i)}
$colResults = $objSearcher.FindAll()
foreach ($objResult in $colResults)
{$objItem = $objResult.Properties; $objItem.name}
왜 cmdlet을 사용할 수 없습니까? 마치 "메서드를 사용하지 않고 C#에서 무언가를 프로그램하고 싶다"는 말입니다. – JNK
사람들은 내가 설치해야 할 것이라고 제안하고 나는이 스크립트를 모든 컴퓨터에서 실행하기를 원합니다. – yoyomommy
CmdLets는 PowerShell 2.0의 활성 디렉토리 모듈과 함께 사용할 수 있습니다. – JPBlanc