Системный Администратор (WSH&WMI) + Скрипт: Серийный номер Windows
















1С и Windows Script Host (WSH) и Windows Management Instrumentation (WMI).
+ Скрипт: Серийный номер Windows.
Файл и Клиент-Сервер.
Обычная и Управляемая формы.

СИСТЕМНЫЙ АДМИНИСТРАТОР 8.4


СРЕДСТВА АДМИНИСТРИРОВАНИЯ:

— Универсальный редактор. Мультиобработчик. //infostart.ru/public/100967/
— Системный Администратор (WSH & WMI).
— Настройка прав пользователей. БСП. //infostart.ru/public/174375/
— LiteManager (удалённое управление компьютерами). //infostart.ru/public/169176/

В основе обработки материалы статей:

1С и WSH и WMI. ОТ ТЕОРИИ К ПРАКТИКЕ.

Часть I: //infostart.ru/public/165702/

Часть II: //infostart.ru/public/166391/

Часть III: //infostart.ru/public/166440/


ИСТОРИЯ ИЗМЕНЕНИЙ:

ВЕРСИЯ 8.4  (07.2026)
— Добавлены «Загрузка пользователей» из Windows, Active Directory.

ВЕРСИЯ 8.3.2  (08.2014).
— Добавлена поддержка «Режим использования модальности = НеИспользовать» (платформа 8.3.Х).
— Дополнена таблица логичских дисков информацией о сетевых дисках.


Microsoft Windows Script Host (WSH) — сервер сценариев Windows.

WSH-СХЕМА

(упрощенная схема)

Используется в качестве инструмента разработки и выполнения специальных сценариев для операционной системы Windows. Сценарии WSH пишутся на специализированных языках:
Microsoft Visual Basic Script Edition (VBScript) или Microsoft JScript. Свойства и методы объектов Microsoft WSH доступны также в приложениях, способных выступить в роли OLE-клиента.

WSH позволяет работать с:

 — Файловой системой;
 — Ресурсами локальной сети;
 — Реестром;
 — Специальными папками и ярлыками Windows;
 — Процессами. Запускать и контролировать их выполнение.

WSH позволяет взаимодействовать с Microsoft ActiveX:

 — ActiveX Data Object (ADO) — Доступ к базам данных;
 — Active Directory Service Interface (ADSI) — Службы каталогов;
 — Windows Management Instrumentation (WMI) — Инструментарий управления Windows.


Windows Management Instrumentation (WMI) — инструментарий управления Windows.

WMI-СХЕМА

(упрощенная схема)

WMI — это одна из базовых технологий для централизованного наблюдения и управления компьютерной инфраструктуры под управлением платформы Windows.
WMI – это расширенная и адаптированная компанией Microsoft реализация стандарта WBEM (WebBased Enterprise Management) компании DMTF Inc.
Основа WBEM — Common Information Model (CIM), реализующая объектно-ориентированный подход к представлению компонентов системы.

WMI позволяет работать с:

 — Системой;
 — Приложениями;
 — Оборудованием;
 — Сетями;
 — др. управляемыми компонентами.


Обработка «1С:СИСТЕМНЫЙ АДМИНИСТРАТОР (WSH&WMI)»:

 

1С:Системный администратор

Возможности:

Получение основных характеристик компьютера:
 — Операционная система;
 — Материнская плата;
 — BIOS:
 — Процессор(ы);
 — Память;
 — Видео;
 — Мониторы;
 — Физические диски;
 — Логические диски;
 — Сетевые карты;
 — Принтеры;
 — Службы;
 — Процессы;
 — Журналы событий;
 — Сетевое окружение;
 — Открытые на сервере сессии;
 — Подключения к ресурсам сервера;
 — Терминальные сессии сервера;
 — Учетные записи пользователей;
 — Некоторые (в т.ч. переназначаемые) переменные окружения;
 — Установленные программы.
Подключиться к удаленному компьютеру и получить системную информацию (WMI).
Подлючиться к удаленному компьютеру, используя программу LiteManager, установленную в каталог по-умолчанию.
Запустить на выполнение оснастку и произвести изменения в настройке локального компьютера:
 — Панель управления.
Сформировать отчет: «Системная информация о компьютере».
С помощью отдельного скрипта (get_windows_key_via_reg_wmi.vbs), не входящего в обработку, возможно получение серийного номера Windows локального/удаленного компьютера.

Назначение скрипта:
1. Получение серийного номера Windows, локального/удаленного компьютера.
2. Проверка состояния службы удаленного реестра (запущена/не запущена).
3. Проверка возможности доступа по WMI к удаленным компьютерам.
Скрипт позволяет осуществить проверку без использования 1С:Предприятия и данной обработки.
Поддержка операционных систем Windows, вплоть до Windows 8.

Реализовано 2 метода чтения серийного номера Windows из реестра:
1. С помощью утилиты командной строки REG.EXE (Редактирование системного реестра Windows из командной строки).
   На целевом (удаленном) компьютере должна быть запущена служба «Удаленный реестр».
2. C помощью WMI (Windows Management Instrumentation — Инструментарий управления Windows).
   Необходимые настройки описаны в разделе «Настройки WMI».

Результатом выполнения скрипта является файл, имя которого содержит имя компьютера.
При успешном чтении серийного номера будет создан файл, содержащий примерно следующее:
PC: IS-PC
OS: Windows 8 Single Language
REG: T4XTK-NCGZ2-RYKYD-C65MD-7T87Q
WMI: T4XTK-NCGZ2-RYKYD-C65MD-7T87Q

При неуспешном чтении серийного номера будет создан файл, содержащий примерно следующее:
PC: IS-PC
OS: Windows 8 Single Language
REG: Error= 1: Error read \IS-PChklmsoftwaremicrosoftwindows ntcurrentversionDigitalProductId.
WMI: Error= 462: Error create WinMGMT. Компьютер удаленного сервера не существует или недоступен.

Примеры запуска скрипта:
1. get_windows_key_via_reg_wmi.vbs
2. get_windows_key_via_reg_wmi.vbs ИмяПК
По-умолчанию (без параметра) скрипт выполняется относительно локального компьютера.


Настройка WMI:

 

WMI

Перед применением Обработки на локальном/удаленном компьютере необходимо проверить и, при необходимости, изменить настройки Windows:
(выполняется локально на каждом компьютере. Необходимы права Администратора Windows)

1. Состояние службы Windows Management Instrumentation (WMI):
   
   Имя Службы: «Инструментарий управления Windows»
   Запуск: «Автоматически».

2. UAC (User Account Control) — Контроль учетных записей пользователей:

   Активный UAC на целевом (удаленном) компьютере блокирует удаленный доступ по WMI.
   «HKLMSOFTWAREMicrosoftWindowsCurrentVersionPoliciesSystemEnableLUA» = 1-Активен, 0-Неактивен.

3. Разрешение в брандмауэре Windows:

   ОБЯЗАТЕЛЬНО:

   Общий доступ к файлам и принтерам.
   Если используется брандмауэр Windows,то он автоматически открывает порты, необходимые для предоставления общего доступа к файлам и принтерам, после включения обнаружения сети.

   Для Функционирования функциия Computer_Programs_Product() на Windows 2003 (см. Часть III):
   Функция, позволяющая получить информацию об установленных программах локальном/удаленном компьютере.

   При запуске на  на компьютере под управлением Windows Server 2003 возможна ошибка чтения данных,
   т.к. поставщик объекта Win32_Product по умолчанию в Windows Server 2003 не устаналивается.
   Установка:
   Панель управления — Установка и уделение программ — Установка компонентов Windows — Средства наблюдения и управления:
   Компонента: «Поставщик установщика Windows через WMI».

   Разрешение для PING:

   Вкладка «Дополнительные параметры — ICMP»:
   Разрешить запрос входящего эха.

   Разрешить «Удаленное управление Windows»:
   (Становится доступным «Сервер RPC»).

   Windows XP:
   Из комендной строки:
   netsh firewall set service type = REMOTEADMIN mode = ENABLE scope = SUBNET

   Windows 7:
   Предпочтительный способ:
   Включить в оснастке брандмауэра исключения для «Удаленное управление Windows».
   ИЛИ
   Из комендной строки:
   netsh advfirewall firewall set rule group=»Удаленное управление Windows» new enable=Yes

   Разрешить «Инструментарий управления Windows (WMI)»:
   (Становится доступным «Сервер RPC»).

   Windows 7:
   Предпочтительный способ:
   Включить в оснастке брандмауэра исключения для «Инструментарий управления Windows (WMI)».
   ИЛИ
   Из комендной строки:
   netsh advfirewall firewall set rule group=»Инструментарий управления Windows (WMI)» new enable=Yes

   Разрешить удаленное управление (TCP 135, 445):

   Открыть порт TCP 135 для локальной подсети.
   
   Открытие порта TCP 445:
   Если разрешено «Совместное использование файлов и принтеров», то
   Открывать порт 445 не нужно, иначе — открыть.

   Windows Vista и выше:
   UAC:
   Активированный UAC на целевом (не локальный) компьютере блокирует удаленный доступ по WMI.

   Локальная политика безопасности:
   Параметры безопасности:
   — Контроль учетных записей: Режим одобрения администратором для встроенной учетной записи администратора
     Значение по-умолчанию: Отключено. Оставить таким.
   — Контроль учетных записей: Все администраторы работают в режиме одобрения администратором
     Значение по-умолчанию: Включено.
     При установке: Отключено становятся доступными администратору,
     не являющемуся встроенным администратором диски C$ по UNC, а также WMI при включенном UAC.

4. Синхронизировать время на компьютерах.

5. Проверка функционирования доступа к WMI на локальном/удаленном компьютере:

WMIC = WMI командной строки (WMIC, WMI command-line).
Упрощенный интерфейс командной строки для работы с WMI.

Командный файл, следующего содержания:

rem Запрос: имя ОС сервера c помощью команды wmic:
wmic /node:»%1″ os get name

Где:
%1 — Имя локального/удаленного компьютера.

Тестовая среда:
Операционная система (x32/x64): Windows XP x32 SP3, Windows 7 x64 SP1, Windows Server 2003 R2 x32 SP2, Windows 8.0 x64.
1С:Предприятие:
   Платформа: 8.2.19/8.3.X
   Архитектура: Файл и Клиент-Сервер.
   Режим совместимости: НеИспользовать.
   Режим использования модальности = Использовать/НеИспользовать.
   Режим запуска: Обычное и Управляемое приложение.

P.S.:
Некоторая документация, описывающая WMI и WSH, доступна в ссылках для скачивания:
WMI (Автор: Бегер Юрий ака Uriu)
WSH (Автор: script-coding.com)

МА! С уважением к сообществу МА!


99 Comments

  1. dyak84

    Судя по описаниям и возможностям был приятно удивлен и столько работы проделано и такие возможности. Автор так держать!!!!!!!

    Reply ↓
  2. dyak84

    А в обичной форме обработка есть, или только в управляемой форме??????

    Reply ↓
  3. Re:аниматор

    При попытке открыть обработку

    {Форма.Управляемая.Форма(209,12)}: Процедура или функция с указанным именем не определена (ТекущаяУниверсальнаяДатаВМиллисекундах)

    Время = <<?>>ТекущаяУниверсальнаяДатаВМиллисекундах();



    перед тем как выкладывать нужно делать проверку на ошибки!

    Reply ↓
  4. StepByStep

    (1) dyak84,

    Спасибо.

    Reply ↓
  5. StepByStep

    (2) dyak84,

    Пока только управляемая.

    Reply ↓
  6. StepByStep

    (3) Re:аниматор,

    Версия платформы ?!

    Платформа 8.2.17.153 — такая функция есть.

    Reply ↓
  7. StepByStep

    (3) Re:аниматор,

    Тестирование производилось на Windows XP/7/2003.

    Reply ↓
  8. StepByStep

    (3) Re:аниматор,

    Подправил, перезалил.

    Извините за доставленные неудобства.

    Reply ↓
  9. Re:аниматор

    (6) 16 была, обновил до 17, заработало

    Reply ↓
  10. CaSH_2004

    ОТЛИЧНАЯ описаловка! Редко когда увидеш такое. И функционал вроде весь реализован какой только можно.

    Кстати (0) ты в курсе про аналог на обычных формах WindowsПроводник 1.3? Он тут уже с начала 2010-го лежит. Очень сильная вещь. Но и твой выглядит офигенно — только побольше бы картинок, по одной с закладки. Так в обычной форме ждать?

    Reply ↓
  11. webester

    Качать не стану, но плюсую, наверняка рано или поздно найдется применение 🙂

    Reply ↓
  12. StepByStep

    (10) CaSH_2004,

    Спасибо.

    Обработку эту не видел.

    Задумки по обработке есть. Будет развиваться.

    Обычная форма тоже будет.

    Reply ↓
  13. LexSeIch

    Мир этому дому!

    Однозначно плюс. Статья хорошая. Функционал на уровне. Ждем обработку для обычной формы.

    Reply ↓
  14. Al-X

    Обработка отличная !!! Единственно не все оснастки из панели управления у меня открылись.

    Ставлю + !! Давно хотел научиться обращаться к WSH через 1С. Ну вот теперь будет наглядное пособие !!

    Reply ↓
  15. KliMich

    Однозначно плюс!

    Reply ↓
  16. Жолтокнижниг

    Еще бы кнопочку, отчет — выводящую сводную информацию.

    И тогда можно будет после установки прогр. лицензии сформировать, сохранить инфу и сравнить, когда отвалится лицензия, а бухи скажут, что ничего не меняли в компе.

    Reply ↓
  17. StepByStep

    (2) dyak84, (10) CaSH_2004, (13) LexSeIch,

    Добавлена обычная форма.

    Reply ↓
  18. OrsoBear

    Отличная работа!!!

    То, что надо, и очень подошло под нашу конфигурацию,

    все программы на управляемом приложении.

    Спасибо за проделанную работу, забираю.

    Reply ↓
  19. ValeryZ

    Плюсую.

    Подозреваю, есть чему поучиться на примере этой обработки, скачаю чуть позднее.

    В мемориз, однозначно.

    Reply ↓
  20. Матрос

    «Плюс».

    Для настоящего СисАдмина.

    Reply ↓
  21. Raminus

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

    Reply ↓
  22. maverick76

    Очень порадовало…

    Reply ↓
  23. alekseies

    Пока не скачал, но плюсую, наверняка думаю рано или поздно найдем применение …………

    Reply ↓
  24. mozz

    Автор молодчага!

    Reply ↓
  25. StepByStep

    (19) ValeryZ, (20) Матрос, (21) Raminus, (22) maverick76, (24) mozz,

    СПАСИБО.

    Reply ↓
  26. luchyk007

    Здорово реализовано, спасибо, можно ли к функционалу добавить поиск установленных программ, или это трудно реализовать

    Reply ↓
  27. StepByStep

    (26) luchyk007,

    На данный момент можно воспользоваться системной оснасткой «установка и удаление программ», из последней вкладки «Панель управления».

    В перспективе «Установленные программы» — будет добавлено.

    Reply ↓
  28. Mell

    Отличная идея, хорошая реализация, подробное описание, удобный интефейс. Вобщем ПЛЮС!

    Reply ↓
  29. StepByStep

    (28) Mell,

    СПАСИБО.

    Reply ↓
  30. StepByStep

    (26) luchyk007,

    В 1С и Windows Script Host (WSH) и Windows Management Instrumentation (WMI). ОТ ТЕОРИИ К ПРАКТИКЕ. Часть III:

    http://infostart.ru/public/166440/

    Опубликована интересующая Вас функция: Computer_Programs().

    Reply ↓
  31. KroVladS

    (0) плюс за проделанную работу и качественное описание.

    Reply ↓
  32. StepByStep

    (26) luchyk007,

    Добавлена возможность получения списка установленных программ как в обычную, так и в управляемую формы:

    Две функции:



    1. Computer_Programs_Product() — WMI, используя запрос «SELECT * FROM Win32_Product»


    // Примечания:

    // 1. Только программы, установленные с помощью Windows Installer.

    // 2. Полнота информации в Windows 2000/XP/2003 ограничена.

    // 3. Может не работать на 64-битных ОС.

    // 4. Медленнее чтения из регистра.

    //

    // При запуске на на компьютере под управлением Windows Server 2003 возможна ошибка чтения данных,

    // т.к. поставщик объекта Win32_Product по умолчанию в Windows Server 2003 не устаналивается.

    // Установка:

    // Панель управления — Установка и уделение программ — Установка компонентов Windows — Средства наблюдения и управления:

    // Компонента: «Поставщик установщика Windows через WMI».

    2. Computer_Programs_Registry() — Чтение реестра Windows.

    // Примечания:

    // 1. Полнота информации [в сравнении с функцией Computer_Programs_Product()]:

    // — Количество программ больше, т.к. нет ограничения на «Только программы, установленные с помощью Windows Installer».

    // — Количество данных о конкретной программе меньше, но основная информация доступна.

    // 2. Поддержка 64-битных ОС (из-за отсутствия 64-битной Windows — не проверялось).

    // 3. Быстрее, чем при использовании WMI: («SELECT * FROM Win32_Product»).

    Reply ↓
  33. ta44ik

    Работа огромна, сделано на ура) Так держать)

    Reply ↓
  34. StepByStep

    (33) ta44ik,

    СПАСИБО.

    Reply ↓
  35. 1cmax

    Интересная работа, надо будет потестить

    Reply ↓
  36. alekseies

    на Windows 7 x64

    {Форма.Обычная.Форма(35,27)}: Процедура или функция с указанным именем не определена (LOCAL_WindowsInfo)

    ЭтотОбъект.ВиндовсИНФО = <<?>>LOCAL_WindowsInfo();

    {Форма.Обычная.Форма(39,22)}: Процедура или функция с указанным именем не определена (Computer_RegistryInformation)

    ЭтотОбъект.Реестр = <<?>>Computer_RegistryInformation();

    {Форма.Обычная.Форма(42,42)}: Процедура или функция с указанным именем не определена (LOCAL_ComputerName_UserName_UserDomain)

    ЭтотОбъект.ДоменКомпьютерПользователь = <<?>>LOCAL_ComputerName_UserName_UserDomain();

    {Форма.Обычная.Форма(49,40)}: Процедура или функция с указанным именем не определена (Computer_BuildINAdministrator)

    ЭтотОбъект.АдминистраторПоУмолчанию = <<?>>Computer_BuildINAdministrator();

    {Форма.Обычная.Форма(52,32)}: Процедура или функция с указанным именем не определена (Computer_Motherboard)

    ЭтотОбъект.МатеринскаяПлата = <<?>>Computer_Motherboard();

    {Форма.Обычная.Форма(56,20)}: Процедура или функция с указанным именем не определена (Computer_BIOS)

    ЭтотОбъект.БИОС = <<?>>Computer_BIOS();

    Reply ↓
  37. StepByStep

    (36) alekseies,

    Скажите, пожалуйста, у Вас случайно не клиент-сервер ?

    Reply ↓
  38. StepByStep

    (36) alekseies,

    Спасибо.

    В ближайшее время будет исправлено.

    Reply ↓
  39. StepByStep

    (36) alekseies,

    Возможен вопрос по 64-бит.

    Reply ↓
  40. StepByStep

    (36) alekseies,

    Добавлена поддержка Клиент-Серверной архитектуры.

    Reply ↓
  41. StepByStep

    Версия 2.5 (26.03.2013).

    Новое:

    — Открытые на сервере сессии;

    — Подключения к ресурсам сервера;

    — Терминальные сессии сервера.

    Изменено:

    — Установленные программы.

    При чтении из реестра добавлена в обработку функция: ИсключитьНеЧитаемыеСимволыИзСтроки().

    — Прочие изменения.

    Reply ↓
  42. scape

    Круто! Но зачем…

    Reply ↓
  43. echo77

    Добавьте, пожалуйста, описание к публикации(что эта штука может делать) и скриншоты.

    Эта штука по сети может всю информацию собрать?

    Reply ↓
  44. Flok

    Добрый день , автору большое спасибо обработка полезная , удобно что вся необходимая информация в одном месте и из 1С.

    У меня есть 2 вопроса :

    1) Возможно ли средствами wmi узнать сколько осталось до окончания срока действия лицензии Антивируса Касперского (очень удобно ведь можно прикрутить функцию оповещения по почте о близком сроке окончания )

    2) Есть ли возможно выгрузки данных о конфигурации пк в файл отчета ?

    Reply ↓
  45. DitriX

    Вопрос — сейчас все функции выполняюся на сервере.

    Соответственно — если я по тонкому подключился — я вижу данные сервера, а мне нужно видеть данные клиентской машины.

    Вопрос — можно ли как то переделать?

    Reply ↓
  46. CaSH_2004

    Красивое решение. Автор молодец! А про «WindowsПроводник» вкурсе? (ссылку вставить что-то не получается http://infostart.ru/public/172189/) Очень похожее решение

    Reply ↓
  47. StepByStep

    (43) echo77,

    Скриншоты — на странице публикации.

    Подключение к другим компьютерам — в одной из будущих версий.

    Reply ↓
  48. StepByStep

    (44) Flok,

    1. Антивирусом Касперского не пользуюсь. Что и где он хранит — не знаю.

    WMI имеет широкие возможности, но они, все же, ограничены определенным набором параметров.

    И параметр типа «ДатаОкончанияСрокаДействияЛицензии» мне не встречался.

    Если Касперский хранит этот параметр в реестре, то можно прочитать из него.

    В статье «1С и Windows Script Host (WSH) и Windows Management Instrumentation (WMI). ОТ ТЕОРИИ К ПРАКТИКЕ. Часть III» http://infostart.ru/public/166440/

    есть функция RegRead().

    2. Отчет о конфигурации ПК — в ближайшей версии.

    Reply ↓
  49. StepByStep

    (45) DitriX,

    Подключение к другим компьютерам — в одной из будущих версий (через одну).

    Reply ↓
  50. StepByStep

    (46) CaSH_2004,

    СПАСИБО.

    Не видел этой обработки.

    Reply ↓
  51. StepByStep

    (44) Flok,

    Версия 2.7 (23.09.2013).

    Добавлено:

    — Операционная Система (Таблица).

    — Физическая память (Таблица).

    — Монитор (Таблица).

    — Отчет «Системная информация о компьютере».

    — Прочие изменения.

    Reply ↓
  52. echo77

    Информация о серийном номере ОС присутствует?

    Не увидел на скриншотах

    Reply ↓
  53. StepByStep

    (52) echo77,

    Да. Серийный номер определяется.

    Присутствует в таблице «Операционная система» и по нажатию гиперссылки в правом нижнем углу (например, Windows XP).

    Скриншоты одной из предыдущей версии.

    Reply ↓
  54. echo77

    Каким образом получаешь серийный номер?

    Reply ↓
  55. Alex1Cnic

    Вот это действительно полезные инструменты!

    Reply ↓
  56. Alex1Cnic

    Буду с нетерпением ждать новой функции «подключение к удаленному компьютеру»

    Reply ↓
  57. StepByStep

    (54) echo77,

    Смотрите: Функция Computer_WindowsInfo() в статье:

    1С и Windows Script Host (WSH) и Windows Management Instrumentation (WMI). ОТ ТЕОРИИ К ПРАКТИКЕ. Часть I

    http://infostart.ru/public/165702/

    Reply ↓
  58. StepByStep

    (56) Alex1Cnic,

    Подключение и получение информации будет возможно, если WMI будет настроен и доступен.

    Reply ↓
  59. echo77

    (57) Эта штука позволяет получить ProductID, а не серийный номер Windows.

    Сами посмотрите что она возвращает и сравните с тем что на наклейке

    Reply ↓
  60. StepByStep

    (59) echo77,

    Да — это Product ID, а не Product Key.

    Reply ↓
  61. echo77

    (60) и собственно вопрос: как корректно получить серийный номер удаленно у машины с Win7 x64? У меня WMI цепляется к ветке WOW64node32, а там его нет

    Reply ↓
  62. StepByStep

    (61) echo77,

    Информация о ключе хранится в ключе реестра HKLMSOFTWAREMicrosoftWindows NTCurrentVersionDigitalProductId, но он там зашифрованный.

    Reply ↓
  63. echo77

    (62) Я знаю, и есть скрипты которые расшифровывают DigitalProductID, но ничего в интернете я не видел про то как получить DigitalProductID у Win7 x64.

    Если надо, выложу как публикацию рабочий скрипт получения серийного номера windows

    Reply ↓
  64. StepByStep

    (63) echo77,

    Нашел скрипт.

    Работает и на Windows 7 x64 и на Windows 8 x64.

    Reply ↓
  65. echo77

    (64) Как это сделать удаленно?

    Reply ↓
  66. StepByStep

    (65) echo77,

    Через некоторое время выпущу новую версию обработки.

    Буду осуществлять подключение к удаленному компьютеру и получение информации с него.

    Этот вопрос также посмотрю.

    Reply ↓
  67. StepByStep

    (56)Alex1Cnic,

    Версия 3.0 (08.10.2013).

    Добавлено:

    — Подключение к удаленному компьютеру:

    — Посредством WMI и сбор сиситемной информации о компьютере.

    — Используя программу LiteManager, установленную в каталог по-умолчанию.

    Reply ↓
  68. Alex1Cnic

    Ух-ты попробуем подключение к удаленному компьютеру….

    Reply ↓
  69. echo77

    Серийный номер Windows эта штука получает или все еще нет?

    Reply ↓
  70. StepByStep

    Версия 3.1 (15.10.2013).

    — Функция Computer_MAC_IP() заменена на Computer_NetworkAdapter(), дополнена таблица «Сетевые карты».

    — Изменено получение «Сетевого окружения».

    — Добавлена возможность проверки доступности WMI отдельного компьютера.

    — get_windows_key_via_wmi.vbs — Доработанный скрипт получения серийного номера Windows локального/удаленного компьютера через WMI. Отдельный скрипт, не входящий в обработку.

    — Прочие изменения.

    Reply ↓
  71. StepByStep

    (69) echo77,

    Выложил отдельный скрипт get_windows_key_via_wmi.vbs, не входящий в обработку.

    Доработанный скрипт для получения серийного номера Windows локального/удаленного компьютера через WMI (в качестве параметра принимает имя компьютера, по-умолчанию, локальный компьютер).

    Не включил в обработку по той причине, что из 1С:Предприятие не читается бинарный параметр реестра.

    Кроме того, даже если, из 1С:Предприятие запускать этот скрипт, то бинарный параметр реестра также не читается, хотя разрешение на чтение раздела реестра имеется.

    Reply ↓
  72. echo77

    (71) Этот скрипт позволяет получить s/n Windows7 x64? Судя по коду все еще нет

    Не работает при получении s/n Windows7 x64. В файл пишет вот это:

    Error=1: Error read HKLMSOFTWAREMicrosoftWindows NTCurrentVersionDigitalProductId.

    XXXXX-XXXXX-XXXXX-XXXXX-XXXXX

    что вполне логично

    Reply ↓
  73. StepByStep

    (72) echo77,

    Позволяет и на Windows 7 x64 и на Windows 8 x64.

    Проверено.

    Читайте раздел «Настройка WMI» публикации.

    Reply ↓
  74. echo77

    Выкладываю свою версию скрипта:

    http://infostart.ru/public/203858/

    И свою реализацию получения S/n из 1С

    Reply ↓
  75. StepByStep

    (74) echo77,

    Получилось ?! — Мои Вам поздравления.

    Значит — не все так плохо.

    Reply ↓
  76. echo77

    (75) Получиться то получилось, только я не понимаю, почему ваш скрипт работает у вас и не работает у меня :-/

    Reply ↓
  77. Amicus_2010

    Хорошая работа, отличная обработка!

    Reply ↓
  78. StepByStep

    Версия 3.1 (20.10.2013).

    Обновлен скрипт get_windows_key_via_reg_wmi.vbs.

    Назначение скрипта:

    1. Получение серийного номера Windows, локального/удаленного компьютера.

    2. Проверка состояния службы удаленного реестра (запущена/не запущена).

    3. Проверка возможности доступа по WMI к удаленным компьютерам.

    Скрипт позволяет осуществить проверку без использования 1С:Предприятия и данной обработки.

    Поддержка операционных систем Windows, вплоть до Windows 8.

    Реализовано 2 метода чтения серийного номера Windows из реестра:

    1. С помощью утилиты командной строки REG.EXE (Редактирование системного реестра Windows из командной строки).

    На целевом (удаленном) компьютере должна быть запущена служба «Удаленный реестр».

    2. C помощью WMI (Windows Management Instrumentation — Инструментарий управления Windows).

    Необходимые настройки описаны в разделе «Настройки WMI».

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

    При успешном чтении серийного номера будет создан файл, содержащий примерно следующее:

    PC: IS-PC

    OS: Windows 8 Single Language

    REG: T4XTK-NCGZ2-RYKYD-C65MD-7T87Q

    WMI: T4XTK-NCGZ2-RYKYD-C65MD-7T87Q

    При неуспешном чтении серийного номера будет создан файл, содержащий примерно следующее:

    PC: IS-PC

    OS: Windows 8 Single Language

    REG: Error= 1: Error read \IS-PChklmsoftwaremicrosoftwindows ntcurrentversionDigitalProductId.

    WMI: Error= 462: Error create WinMGMT. Компьютер удаленного сервера не существует или недоступен.

    Примеры запуска скрипта:

    1. get_windows_key_via_reg_wmi.vbs

    2. get_windows_key_via_reg_wmi.vbs

    По-умолчанию скрипт выполняется относительно локального компьютера.

    Reply ↓
  79. StepByStep

    (76) echo77,

    Выложил новую версию скрипта. Попробуйте его.

    Добавлено чтение из удаленного реестра.

    Имеются особенности, а именно:

    ‘ Windows x32/x64. Особенности использования. Известные проблемы (условие: настройки из раздела «Настройки WMI» произведены).

    ‘ Рекомендованный способ применения: Локально с правами администратора.

    ‘ Получение серийного номера удаленно.

    ‘ При удаленном получении серийного номера результат не всегда положительный.

    ‘ Исходный ПК x64, Целевой ПК x64 — результат положительный.

    ‘ Исходный ПК x64, Целевой ПК x32 — результат положительный.

    ‘ Исходный ПК x32, Целевой ПК x32 — результат положительный.

    ‘ Исходный ПК x32, Целевой ПК x64 — REG — отрицательный, WMI — положительный результат.

    ‘ Пояснение:

    ‘ При считывании из x32-Клиента в результате отображения x64-Ключей на x32-Ключи происходит обращение к ветке реестра:

    ‘ HKLMSOFTWAREWOW6432NodeMicrosoftWindows NTCurrentVersionDigitalProductID

    ‘ Ключ DigitalProductID в разделе HKLMSOFTWAREWOW6432NodeMicrosoftWindows NTCurrentVersion по-умолчанию отсутствует.

    Что касается WMI, то настройки достаточно подробно описаны на странице публикации. Все с чем столкнулся — описал.

    Основная причина, по которой ПК с Windows Vista и выше могут быть недоступны — это UAC.

    Причем недостаточно в «Панели управления» — «Настройка уведомления об изменении параметров компьютера»

    передвинуть ползунок в «Никогда не уведомлять». Необходимо полностью отключать UAC через реестр: «HKLMSOFTWAREMicrosoftWindowsCurrentVersionPoliciesSys­temEnableLUA» = 1-Активен, 0-Неактивен.

    Где-то это допустимо с точки зрения безопасности — где-то — нет. Это уже надо решать.

    Reply ↓
  80. echo77

    (77) Могут, но только один раз — за такое банят.

    Reply ↓
  81. Razlagutt

    Привет! Что-то у меня в сети не все компы видит. С чем это может быть связано? Потом. Как порты разрешить в смысле относительно какой программы/службы?

    Reply ↓
  82. StepByStep

    (81) Razlagutt,

    Настройки портов и др. описаны в разделе «Настройка WMI:».

    Изначально список компьютеров берется из «Сетевого окружения» — на форме «СПИСОК»

    и только потом пингуется и, если успешно — записывается в таблицу.

    Но и в сетевом окружении Windows компьютеры не сразу появляются (до 15 мин.) и это при правильных настройках.

    Если используете «WMI-PING», то попробуйте обычный визуализируемый «PING».

    Reply ↓
  83. Razlagutt

    (82) визуализируемый «WMI-PING» и спасает. Что касается настроек WMI. Делаю все по инструкции, безрезультатно. Пока фаервол не отключишь доступ к WMI не будет. Другая проблема в том, что все фаерволы отключены, а доступ к WMI на некоторых компах все равно нет (у меня 3 компа никак не хотят доступ давать). Что нужно сделать в фаерволе, чтобы WMI работал без отключения фаервола?

    Reply ↓
  84. StepByStep

    (83) Razlagutt,

    По настройкам WMI, кроме написанного добавить нечего. Видимо не столкнулся с другими проблемами, хотя проделал это на десятках компьютеров Windows XP — Windows 7.

    3 компьютера — это случайно не Windows 7/8 ?

    Если да — то см. UAC:

    Характерно для операционных систем Windows Vista и выше.

    Активный UAC на целевом (удаленном) компьютере блокирует удаленный доступ по WMI.

    «HKLMSOFTWAREMicrosoftWindowsCurrentVersionPoliciesSys­temEnableLUA» = 1-Активен, 0-Неактивен.

    Reply ↓
  85. StepByStep

    (83) Razlagutt,

    Проверка из командной строки Windows:

    Запрос: имя ОС сервера c помощью команды wmic:

    wmic /node:»Имя компьютера» os get name

    Reply ↓
  86. Razlagutt

    (84) ну я вырубал УАК, но бестолку, хотя он, кстати, не всегда мешает. На нескольких машинах забыл отрубить, но все работает.

    Reply ↓
  87. StepByStep

    (86) Razlagutt,

    Компьютеры в домене ?

    Reply ↓
  88. Razlagutt

    (85) воспользовался я этой штукой wmic /node:»Имя компьютера» os get name. Выдал он мне, что отказано в доступе, хотя в комп вхожу, УАК отключен, доступ к шарам есть, порты разрешил какие надо, в исключения добавил.

    Reply ↓
  89. StepByStep

    (89) Razlagutt,

    Спасибо. Посмотрю.

    Reply ↓
  90. Razlagutt

    (90) новости с фронта. Если я пишу wmic /node:»PCName» /user:»AdminName» /password:»AdminPassword» os get name, то все здорово (в консоли), но я так понимаю, что твоя обработка не может знать учетные данные админа поэтому доступа в WMI я не получаю.

    Reply ↓
  91. StepByStep

    (91) Razlagutt,

    В ДЕСЯТКУ. Разрабатывал, отлаживал, работая под админом, являющимся админом и на удаленных компьютерах…

    Reply ↓
  92. Razlagutt

    (92) да только вот почему с остальными пк таких траблов нет? Не требуют повышения прав.

    Reply ↓
  93. StepByStep

    (93) Razlagutt,

    Проверьте, пожалуйста:

    1. В Центр управления сетями и общим доступом — Дополнительные параметры общего доступа:

    Проверьте идентичность настроек на ПК, где все нормально и «проблемных» ПК.

    2. Пользователя+пароль на «проблемных» ПК и пользователь+пароль на ПК, на котором осуществляется запуск 1С+Обработка.

    Reply ↓
  94. Razlagutt

    (94) 1) Все совпадает.

    2) Учетки на удаленном и локальном должны совпадать разве?

    Reply ↓
  95. StepByStep

    (95) Razlagutt,

    1. Хорошо.

    2. Если пользователь, использованный в wmic совпадает с пользователем, под которым запускается 1С, то доступ к WMI в принципе должен быть. Но если пользователь, под которым запускается 1С не имеет прав доступа к целевому компьютеру — то WMI недоступен.

    3. Возможно. Если отключение брандмауера позволяет получить данные по WMI, то надо смотреть правила брандмауера.

    Reply ↓
  96. Razlagutt

    (96) последние вести с фронта. Из 4-х компом 3 «сдались». Решение: нужно создать правило или дать доступ исходящим пакетам приложения C:WindowsSysWOW64wbemWMIC.exe. Тип соединения = Исходящее, IP = all, Протокол = TCP, Удаленный порт = 49154. Прикрепил скрин.

    Но тот, который мы обсуждаем здесь не дается. Он отличается от всех тем, что на нем нет 1С, но я думаю не в этом дело. И фиг знает, что с этим делать. Я уже на хакер.ру статейку про wmi изучил, но безрезультатно =(

    Reply ↓
  97. CaSH_2004

    (17) Кстати сейчас озадачился управлением пользователями самой Windows и не могу найти инструментов нигде ни в 1С ни так — желательно без AD, хотя бы самые примитивные.

    У вас тут есть задел — список пользователей, с группами и прочими свойствами, но такой задачи не ставилось как их управление?

    Очень неудобный типовой механизм Windows — мало данных, мало инструментов. Ни группы указать списку пользователей, ни удалить сразу нескольких, ни добавить,

    Reply ↓
  98. StepByStep

    (111) CaSH_2004,

    Лучше использовать средства системы — во избежание ошибок..

    Reply ↓
  99. user643327_infostart

    (111)

    Посмотрите на

    LAPS (Local Administrator Password Solution)

    Reply ↓

Leave a Comment

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