none
Проблемы с расширением хардварной инвентаризации RRS feed

  • Вопрос

  • Всем доброго времени суток.

    Службе хелпдеска очень хочется видеть серийные номера монитора/мониторов рабочих станций. В порыве помощи коллегам я пошел копать инет/TechNet и другие ресурсы по данному вопросу. В итоге выяснилось что с Windows Vista в WMI появился специальный класс WmiMonitorID  в котором хранятся данные о мониторах и в том числе об их серийных номерах. Однако хранятся они в виде последовательности кодов char символов, то есть серийный номер QQK092081090 зашифрован как 16тиричный массив двузначных чисел (81,81,75,48,57,50,48,56,49,48,57,48,0,0,0,0). Включив данный класс в инвентаризацию я начал получать на SCCM ошибки о том что MIF файлы инвентаризации плохие и начал сваливать их в беды.

    Суть проблемы в том что SCCM почему-то решил что часть полей должна иметь формат Integer и сам же спотыкается на их обработке:

    Start Group
    Name = "WmiMonitorID"
    ID = 326
    Class = "MICROSOFT|WMIMONITORID|1.0"
    Pragma = "SMS:ADD"
    Key = 2
    Start Attribute Name = "Active" ID = 1 Type = Integer Value = 1 End Attribute
    Start Attribute Name = "InstanceName" ID = 2 Type = String Value = "DISPLAY\\AUO22EC\\4&21ac0fd8&0&UID67568640_0" End Attribute
    Start Attribute Name = "ManufacturerName" ID = 3 Type = Integer Value = 65, 85, 79, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 End Attribute
    Start Attribute Name = "ProductCodeID" ID = 4 Type = Integer Value = 50, 50, 69, 67, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 End Attribute
    Start Attribute Name = "SerialNumberID" ID = 5 Type = Integer Value = 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 End Attribute
    Start Attribute Name = "UserFriendlyNameLength" ID = 6 Type = Integer Value = 0 End Attribute
    Start Attribute Name = "WeekOfManufacture" ID = 7 Type = Integer Value = 1 End Attribute
    Start Attribute Name = "YearOfManufacture" ID = 8 Type = Integer Value = 2009 End Attribute
    End Group

    Таблица в базе тоже была создана с полями Int.

    а

    Powerhsell выдает следующее:

    PS C:\Windows\system32> Get-WmiObject -Namespace root\WMI -Class WMIMonitorID |Get-Member
    
    
       TypeName: System.Management.ManagementObject#root\WMI\WmiMonitorID
    
    Name                   MemberType    Definition
    ----                   ----------    ----------
    PSComputerName         AliasProperty PSComputerName = __SERVER
    Active                 Property      bool Active {get;set;}
    InstanceName           Property      string InstanceName {get;set;}
    ManufacturerName       Property      uint16[] ManufacturerName {get;set;}
    ProductCodeID          Property      uint16[] ProductCodeID {get;set;}
    SerialNumberID         Property      uint16[] SerialNumberID {get;set;}
    UserFriendlyName       Property      uint16[] UserFriendlyName {get;set;}
    UserFriendlyNameLength Property      uint16 UserFriendlyNameLength {get;set;}
    WeekOfManufacture      Property      byte WeekOfManufacture {get;set;}
    YearOfManufacture      Property      uint16 YearOfManufacture {get;set;}
    __CLASS                Property      string __CLASS {get;set;}
    __DERIVATION           Property      string[] __DERIVATION {get;set;}
    __DYNASTY              Property      string __DYNASTY {get;set;}
    __GENUS                Property      int __GENUS {get;set;}
    __NAMESPACE            Property      string __NAMESPACE {get;set;}
    __PATH                 Property      string __PATH {get;set;}
    __PROPERTY_COUNT       Property      int __PROPERTY_COUNT {get;set;}
    __RELPATH              Property      string __RELPATH {get;set;}
    __SERVER               Property      string __SERVER {get;set;}
    __SUPERCLASS           Property      string __SUPERCLASS {get;set;}
    ConvertFromDateTime    ScriptMethod  System.Object ConvertFromDateTime();
    ConvertToDateTime      ScriptMethod  System.Object ConvertToDateTime();

    Каким образом можно ему вправить мозги и указать на его ошибки ?



    21 ноября 2013 г. 12:30

Ответы

  • Здраствуйте Андрей,

    Посмотрите статью внизу, возможно она Вам поможет:

    Reporting Monitor information with Configuration Manage


    Мнения, высказанные здесь, являются отражением моих личных взглядов, а не позиции корпорации Microsoft. Вся информация предоставляется "как есть" без каких-либо гарантий. Не забывайте помечать сообщения как ответы и полезные, если они Вам помогли.

    • Помечено в качестве ответа Sidorenko Andrey 22 ноября 2013 г. 11:31
    22 ноября 2013 г. 8:59
    Модератор

Все ответы

  • Здраствуйте Андрей,

    Посмотрите статью внизу, возможно она Вам поможет:

    Reporting Monitor information with Configuration Manage


    Мнения, высказанные здесь, являются отражением моих личных взглядов, а не позиции корпорации Microsoft. Вся информация предоставляется "как есть" без каких-либо гарантий. Не забывайте помечать сообщения как ответы и полезные, если они Вам помогли.

    • Помечено в качестве ответа Sidorenko Andrey 22 ноября 2013 г. 11:31
    22 ноября 2013 г. 8:59
    Модератор
  • Петр, добрый день.

    Огромное спасибо за статью, странно что мне не удалось её на гуглить. Новые таблицы создалась корректно с типом nvarchar,  так что думаю дело пойдет веселее.

    22 ноября 2013 г. 11:31
  • не за что, был рад помочь


    Мнения, высказанные здесь, являются отражением моих личных взглядов, а не позиции корпорации Microsoft. Вся информация предоставляется "как есть" без каких-либо гарантий. Не забывайте помечать сообщения как ответы и полезные, если они Вам помогли.

    22 ноября 2013 г. 12:46
    Модератор