Скрипт получения списка компьютеров в домене.

Скрипт позволяет получить список имен компьютеров домена и вывести его в текстовый файл. Полученный файл содержит имя компьютера и версию его операционной системы.

On Error Resume Next
Dim UserPCs(10000,1)
Set FSO = CreateObject("Scripting.FileSystemObject")
Set TF = FSO.CreateTextFile("C:\file_name.txt", True)
Const ADS_SCOPE_SUBTREE = 2
Set objConnection = CreateObject("ADODB.Connection")
Set objCommand = CreateObject("ADODB.Command")
objConnection.Provider = "ADsDSOObject"
objConnection.Open "Active Directory Provider"
Set objCommand.ActiveConnection = objConnection
objCommand.CommandText = _
"SELECT Name, operatingSystem FROM 'LDAP://DC=domain,DC=local' WHERE objectClass='computer' "
objCommand.Properties("Page Size") = 1000
objCommand.Properties("Searchscope") = ADS_SCOPE_SUBTREE 
Set objRecordSet = objCommand.Execute
i=1
objRecordSet.MoveFirst
Do Until objRecordSet.EOF
strComputer = objRecordSet.Fields("Name").Value
UserPCs(i,0)=strComputer&".domain.local"
UserPCs(i,1)=objRecordSet.Fields("operatingSystem").Value
objRecordSet.MoveNext
TF.Write (UserPCs(i,0))
TF.Write "|"
TF.Write (UserPCs(i,1))
TF.Write vbCrLf
i=i+1
Loop

Вместо domain и local подставляем свои данные.

Один комментарий к “Скрипт получения списка компьютеров в домене.

  1. Алексей

    Код хороший, но я бы для таких целей воспользовался программой, которая выгржуает не только указанную информацию, но и многие другие аттрибуты. Например, когда именно компьютер последний раз был доступен, какая версия Service Pack установлена, включено ли делегирование. Кроме того программа может выгрузить и список пользователй и групп домена. Скачать можно тут: http://sysadminsoft.ru/export-from-ad

Добавить комментарий для Алексей Отменить ответ

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.