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

Получить статус сетевой карты(устройства), Работает или уже нет

Код 1C v 7.x
 // Глобальная переменная в которой будем хранить
// известные нам типы статусов сетевой карты
перем сзТипСтатуса;
// Глобальная переменая
перем обШелл;

//*******************************************
// стрСтатусАдаптера(стрИмя = "")
//
// Параметры:
//  стрИмя - Строка. Имя сетевой статус которой надо определить.
//           В том виде как показа в сетвых подключениях.
//
// Возвращаемое значение:
//  Строка. Статус заданой сетевой.
//
// Описание:
//  Функция определяет статус сетевой.
//
функция стрСтатусАдаптера(стрИмя = "")
    Ответ = "";
    // Попытаемся получить статус через контрол скриптов
    попытка
        сзСтевые = создатьобъект("списокзначений");
        // Выполняем скрипт. Из полученного значения пытаемся
        // сформировать список значений
        сзСтевые = значениеизстроки(обШелл.Run("strGetAdapterInfo"));
    исключение
        // По каким-то причинам выполнить скрипт не удалось
        Ответ = "Статус установить не удалось";
    конецпопытки;
    // Если в возращаемом значение пустая строка, то скрипт
    // выполнился. Можно смотреть дальше.
    если Ответ = "" тогда
        // Получаем индекс статуса сетевой.
        стрСтатус = строка(сзСтевые.Получить(стрИмя));
        // Проверяем на пустое значение индекса.
        если пустоезначение(стрСтатус) = 1 тогда
            // Если индекс пуст, то сетевая суказанным именем отсуствует
            Ответ = "Сетевая с таким именем отсуствует";
        иначе
            // Ищем индекс статуса в известных нам типов статуса.
            чисПозиция = сзТипСтатуса.НайтиЗначение(стрСтатус);
            если чисПозиция = 0 тогда
                // Не нашли. Смотрим MSDN
                Ответ = "Не известный тип статуса сетевой";
            иначе
                // Получаем строковое представление статуса.
                сзТипСтатуса.ПолучитьЗначение(чисПозиция, Ответ);
            конецесли;
        конецесли;
    конецесли;
    // Возвращаем полученный статус
    возврат Ответ;
конецфункции;

//*******************************************
// Этот блок обязателен.
// Необходимо что бы он отработал до первого вызова
// функции стрСтатусАдаптера
//*******************************************
// Создаем объект для управления скриптами
обШелл = создатьобъект("MSScriptControl.ScriptControl");
// Устанавливаем рабочий язык для выполнения скриптов
обШелл.Language = "VBScript";
// Сам срипт который соберет статусы всех сетевых устройств
тхтКод = "
|function strGetAdapterInfo()
|  dim objNetworkAdapter
|  Answer = ""{""""СписокЗначений"""",{""
|  set objWMI = getobject(""WinMgmts:\\.\Root\CIMV2"")
|  set objNetworkAdapters = objWMI.ExecQuery(""S_elect * FROM Win32_NetworkAdapter"", , 48)
|  for each objNetworkAdapter in objNetworkAdapters
|    Answer = Answer & ""{{""""Строка"""","""""" & objNetworkAdapter.NetConnectionStatus &_
|             """"""}, """""" & objNetworkAdapter.NetConnectionID & """""",""""0""""}""
|            
|  next
|  Answer = Answer & ""}}""
|  strGetAdapterInfo = Answer
|  end function";
// Добавим наш скрипт в котрол скриптов
обШелл.AddCode(тхтКод);
// Создадим список значений в который поместим все известные нам
// виды статуса сетевых устройств.
сзТипСтатуса = создатьобъект("списокзначений");
// Поместим в список значений виды статусов их строковое представление
сзТипСтатуса.ДобавитьЗначение("0", "Отключенно");
сзТипСтатуса.ДобавитьЗначение("1", "Подключение");
сзТипСтатуса.ДобавитьЗначение("2", "Подключено");
сзТипСтатуса.ДобавитьЗначение("3", "Отключение");
сзТипСтатуса.ДобавитьЗначение("4", "Устройство не представленно");
сзТипСтатуса.ДобавитьЗначение("5", "Устройство отключено");
сзТипСтатуса.ДобавитьЗначение("6", "Устройство не исправно");
сзТипСтатуса.ДобавитьЗначение("7", "Соединение разорвано");
сзТипСтатуса.ДобавитьЗначение("8", "Аутентификация");
сзТипСтатуса.ДобавитьЗначение("9", "Аутентификация прошла успешно");
сзТипСтатуса.ДобавитьЗначение("10", "Аутентификация не прошла");
сзТипСтатуса.ДобавитьЗначение("11", "Неправильный адресс");
сзТипСтатуса.ДобавитьЗначение("12", "Требуется полномочия");


IUnknown
Разместил:   Версии: | 7.x |  Дата:   Прочитано: 10300
 0 
Распечатать
Возможно, вас также заинтересует
17 правил для составления оптимального ЗАПРОСа к данным базы 1С 53
Для формирования и выполнения запросов к таблицам базы данных в платформе 1С используется специальный объект языка программирования Запрос . Создается этот объект вызовом конструкции Новый Запрос . Запрос удобно использовать, когда требуется получ
1C и Google Maps 21
была поставлена задача отображения на географической карте медицинских учреждений. После обзора предлагаемых решений был выбран сервис google. Но так же подобного рода подход будет работать и с картами сервиса yandex. Во время решения задачи было реш
1C медленно работает по сети с базой на SQL Server 23
Данное обстоятельство может быть обусловлено многими причинами. Одна из них - неоптимальная настройка MS SQL . Перечислим неоптимальности в настройке: 1) Неправильно указанный сетевой протокол, используемый для взаимодействия 1С с SQL Server. П
1C: Enterprise Development Tools 52
И вот случилось долгожданное: Вышел 1C: Enterprise Development Tools - это среда для разработки конфигурации в IDE Eclipse. С сайта 1С: « 1C:Enterprise Development Tools » – это инструмент нового поколения для разработчиков бизнес-приложений систем
1С Предприятие что это? 13
Что такое 1С? 1С — это фирма , у которой одно из направлений деятельности — разработка программного обеспечения для автоматизации бизнес-процессов предприятий. « 1С:Предприятие » - конкретный продукт, который выпускает компания 1С . Что такое
Посмотреть все результаты поиска похожих
Вы не можете отправить комментарий анонимно, пожалуйста войдите или зарегистрируйтесь.
Загрузка... Дождитесь завершения!