helpf.pro
Регистрация
 0 
Распечатать

1С 7.x : Получение списка компьютеров сети (домена)

Код 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);
Компьютер=Прав(СтрТекста,СтрДлина(СтрТекста)-Разделитель);
спКомп.Добавить(Компьютер,Домен+""+Компьютер);
КонецЦикла;
спКомп.СортироватьПоПредставлению();
//Выберем комп
спКомп.ВыбратьЭлемент();

Разместил:   Версии: | 7.x | 8.x |  Дата:   Прочитано: 10408
 0 
Распечатать
Возможно, вас также заинтересует
Использование регулярных выражений (RegExp) в 1С 1
Регулярные выражения (Regular Expressions) являются известным и мощным средством для поиска, тестирования и замены подстрок. Эта технология доступна и в 1С - через объект VBScript.RegExp. Нужный объект уже встроен в современные версии...
Кратко: Установка на сервер MS SQL Server 7.0-2000 и 1С 7.7 SQL: 0
Установка: 1. Убедитесь, что на сервере установлена MS Windows NT Server и он является PDC; MS IE (не ниже 4.01) и протокол TCP/IP. 2. Запустить установку MS SQL Server 7.0-2000, выбрав следующие параметры: * Install SQL Server 7.0-2000 Componen
Маркировка ключей защиты 1С:Предприятия 4
Для 1С 8 в настоящий момент используется 4 типа ключей: https://helpf.pro/uploads/img/_1-yAdWSSJXLy.jpg - Однопользовательский . Это HASP HL Basic. Ключ синего цвета, не имеет внутренней памяти и персонального номера. https://helpf.pro/uploads
Неудачная попытка создания объекта (AddIn.XMLParser)? 0
В чем дело, программа пишет " Неудачная попытка создания объекта (AddIn.XMLParser)" ? Очевидно, что Вы запускаете обработку, которая использует внешнюю библиотеку v7plus.dll. В данном случае для работы с файлами формата XML. Но файл...
Скрипт принудительного завершения процессов 1С на всех компьютерах 0
В примере " 1cv7s.exe" , для 8-ки замениете на " 1cv8.exe" Скрипт демонстрирует возможность принудительного завершения процессов 1С на всех компьютерахуказанного домена. Данный код можно применять непосредственно перед...
Посмотреть все результаты поиска похожих
Вы не можете отправить комментарий анонимно, пожалуйста войдите или зарегистрируйтесь.