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 |  Дата:   Прочитано: 16183
 0 
Распечатать
Возможно, вас также заинтересует
Использование регулярных выражений (RegExp) в 1С 1
Регулярные выражения (Regular Expressions) являются известным и мощным средством для поиска, тестирования и замены подстрок. Эта технология доступна и в 1С - через объект VBScript.RegExp. Нужный объект уже встроен в современные версии Windows (начин
Кратко: Установка на сервер 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С:Предприятия 11
Для 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. Но файл (библиотеку) v7p
Скрипт принудительного завершения процессов 1С на всех компьютерах 0
В примере " 1cv7s.exe" , для 8-ки замениете на " 1cv8.exe" Скрипт демонстрирует возможность принудительного завершения процессов 1С на всех компьютерахуказанного домена. Данный код можно применять непосредственно перед пакетным запуском 1С:Пре
Посмотреть все результаты поиска похожих
Вы не можете отправить комментарий анонимно, пожалуйста войдите или зарегистрируйтесь.