Системный Администратор (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.2024)
— Добавлены «Загрузка пользователей» из 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 не будет опубликован. Обязательные поля помечены *