HelpF.pro

Получение списка компьютеров сети (домена)

Код 1C v 7.x
 
спКомп = СоздатьОбъект("СписокЗначений");
Попытка
ScrptCtrl=СоздатьОбъект("MSScriptControl.ScriptControl");
ScrptCtrl.Language="vbscript";
ScrptCtrl.AddCode("
|Function GetComputers()
| Set WinNT = GetObject(""WinNT:"")
| WinNT.Filter = Array(""domain"")
| For Each Domain In WinNT
| Set ADSI = GetObject(""WinNT://"" & Domain.Name)
| ADSI.Filter = Array(""computer"")
| For Each Comp In ADSI
| strInfo=strInfo & Domain.Name & "";"" & Comp.Name & vbCrLf
| Next
| Next
| GetComputers = strInfo
|End Function
|");
Текст=СокрЛП(ScrptCtrl.Run("GetComputers"));
ScrptCtrl = "";
Исключение
Предупреждение(ОписаниеОшибки());
Возврат;
КонецПопытки;

Для Индекс=1 по СтрКоличествоСтрок(Текст) Цикл
СтрТекста=СтрПолучитьСтроку(Текст,Индекс);
Разделитель=Найти(СтрТекста,";");
Домен=Лев(СтрТекста,Разделитель-1);
Компьютер=Прав(СтрТекста,СтрДлина(СтрТекста)-Разделитель);
спКомп.ДобавитьЗначение(Компьютер,Домен+""+Компьютер);
КонецЦикла;
спКомп.Сортировать();


Код 1C v 8.х
 
спКомп = Новый СписокЗначений;
Попытка
ScrptCtrl= Новый COMОбъект("MSScriptControl.ScriptControl");
ScrptCtrl.Language="vbscript";
ScrptCtrl.AddCode("
|Function GetComputers()
| Set WinNT = GetObject(""WinNT:"")
| WinNT.Filter = Array(""domain"")
| For Each Domain In WinNT
| Set ADSI = GetObject(""WinNT://"" & Domain.Name)
| ADSI.Filter = Array(""computer"")
| For Each Comp In ADSI
| strInfo=strInfo & Domain.Name & "";"" & Comp.Name & vbCrLf
| Next
| Next
| GetComputers = strInfo
|End Function
|");
Текст=СокрЛП(ScrptCtrl.Run("GetComputers"));
ScrptCtrl = "";
Исключение
Предупреждение(ОписаниеОшибки());
Возврат;
КонецПопытки;

Для Индекс=1 по СтрЧислоСтрок(Текст) Цикл
СтрТекста=СтрПолучитьСтроку(Текст,Индекс);
Разделитель=Найти(СтрТекста,";");
Домен=Лев(СтрТекста,Разделитель-1);
Компьютер=Прав(СтрТекста,СтрДлина(СтрТекста)-Разделитель);
спКомп.Добавить(Компьютер,Домен+""+Компьютер);
КонецЦикла;
спКомп.СортироватьПоПредставлению();
//Выберем комп
спКомп.ВыбратьЭлемент();


Опубликовано на сайте: https://HelpF.pro
Прямая ссылка: https://HelpF.pro/faq8/view/145.html