Назад | Перейти на главную страницу

Список компьютеров домена Windows без средств удаленного администрирования сервера (RSAT)

Я хотел бы получить список компьютеров, которые являются частью домена Windows, членом которого является моя рабочая станция Windows 7.

Я хотел бы добиться этого с минимальными дополнительными установками или без них, особенно с пакетом средств удаленного администрирования сервера 230 МБ, который предлагает Microsoft.

Варианты, которые я видел до сих пор, включают инструмент DSQuery (часть пакета RSAT) и модуль ActiveDirectory для PowerShell (также часть пакета RSAT).

Что касается разрешений пользователя, который будет выполнять запрос, я хотел бы иметь возможность использовать непривилегированного пользователя домена, но администратор также является вариантом, если нет непривилегированных альтернатив.

Я также отмечу, что net view команда отображает несколько компьютеров в одной подсети или иным образом «рядом» с рабочей станцией, но, очевидно, не все компьютеры в домене. С другой стороны, команда net view /domain:<domain_name> не отображает результатов и возвращает ошибку 6118 (что странно, потому что тогда я ожидал net view чтобы также не отображать результаты).

Вы всегда можете использовать ADSI интерфейсы через PowerShell / .NET и System.DirectoryServices пространство имен.

Вот быстрый пример использования DirectorySearcher предполагая, что вы используете PowerShell как стандартный пользователь домена.

$searcher = New-Object DirectoryServices.DirectorySearcher
$searcher.Filter = '(objectclass=computer)'
$searcher.SearchRoot = 'LDAP://DC=example,DC=com'
$searcher.FindAll()

На мой взгляд, это не так хорошо, как работать с модулем ActiveDirectory. Но это определенно выполнимо и в некоторых случаях может быть быстрее, чем модуль ActiveDirectory.

Вы также можете извлечь только файлы модуля ActiveDirectory из другой установки и добавить их в свой личный профиль, вместо того, чтобы устанавливать весь пакет RSAT. Если я правильно помню, это одна папка и около 5 МБ файлов.