Я написал скрипт для PowerShell 1.0 (теперь использую 2.0), который выполняет поиск в моей Active Directory. Код следующий:
$filter = "some filter"
$rootEntry = New-Object System.DirectoryServices.DirectoryEntry
$searcher = New-Object System.DirectoryServices.DirectorySearcher
$searcher.SearchRoot = $rootEntry
$searcher.Filter = $filter
$searcher.SearchScope = "Subtree"
$colResults = $searcher.FindAll()
После вызова метода FindAll() экземпляра DirectorySearcher я распечатываю результаты, чтобы посмотреть, что у меня получилось.
Дело в том, что если я запускаю PowerShell.exe и вызываю скрипт в командной строке, я могу увидеть результаты. Но если я попытаюсь вызвать его с помощью cmd.exe, используя тот же фильтр, я не увижу никаких результатов. FindAll() возвращает пустой набор результатов.
Я запускаю это на сервере Windows 2003. Он не поставлялся с PowerShell 1.0, поэтому я скачал его и установил на сервер. У него есть .Net Framework 2.0.
Какие-либо предложения?
Большое спасибо.