none
SCCM 2007 Проблема расширения инвентаризации и создания таблиц в БД RRS feed

  • Вопрос

  • Для расширения инвентаризации был отредактирован файл sms_def.mof. В результате редактирования файла был добавлен класс Win32_PhysicalMemory, некоторые поля других классов также были перенесены из False в True, что должно в принципе привести к тому, что данные будут собираться.

    В результате следующей инвентаризации данные собраны были только частично:

    a) были собраны не все поля, которые были преобразованы в True из False;

    b) не была создана таблица и представление для класса Win32_PhysicalMemory, следовательно данные не были собраны.

    Локальные проверки на компьютерах при помощи VBScript приводят к тому, что данные, запрашиваемые при помощи SCCM отображаются корректно и получается - значит они есть в WMI, однако по какой-то необъяснимой причине SCCM их собрать не может.

    Подскажите как решить данную проблему


    • Изменено Bocman7 15 января 2013 г. 9:30
    15 января 2013 г. 9:23

Ответы

Все ответы

  • Добрый день,

    >>a) были собраны не все поля, которые были преобразованы в True из False;<<

    На самом деле необходимо помотреть что вы изменяли в MOF

    >>b) не была создана таблица и представление для класса Win32_PhysicalMemory, следовательно данные не были собраны.<<

    v_GS_PHYSICAL_MEMORY отсутсвует?

    Посмотрите

    http://myitforum.com/cs2/blogs/skissinger/archive/2008/09/01/physical-memory-and-memory-slots-hardware-inventory-extension.aspx


    Maxim Sinel'nikov

    15 января 2013 г. 11:22
    Отвечающий
  • a) Допустим, закрыты для сбора были параметры класса Processor - NumberOfCores и NumberOfLogicalProcessors.

    Открыв их для сбора, данные так и не появились в таблице.

    [ dynamic, provider("SMSInstProvider"),
      SMS_Report     (TRUE),
      SMS_Group_Name ("Processor"),
      SMS_Namespace  (TRUE),
      SMS_Class_ID   ("MICROSOFT|PROCESSOR|1.0") ]


    class SMS_Processor : SMS_Class_Template
    {
        [SMS_Report (TRUE)      ]
            uint16     AddressWidth;
        [SMS_Report (TRUE)     ]
            uint16     Architecture;
        [SMS_Report (TRUE)     ]
            uint16     Availability;
        [SMS_Report (TRUE)     ]
            string     Caption;
        [SMS_Report (FALSE)     ]
            uint32     ConfigManagerErrorCode;
        [SMS_Report (FALSE)     ]
            boolean    ConfigManagerUserConfig;
        [SMS_Report (TRUE)     ]
            uint16     CpuStatus;
        [SMS_Report (TRUE)      ]
            uint32     CurrentClockSpeed;
        [SMS_Report (TRUE)     ]
            uint16     CurrentVoltage;
        [SMS_Report (TRUE)      ]
            uint16     DataWidth;
        [SMS_Report (TRUE)     ]
            string     Description;
        [SMS_Report (TRUE), key ]
            string     DeviceID;
        [SMS_Report (FALSE)     ]
            boolean    ErrorCleared;
        [SMS_Report (FALSE)     ]
            string     ErrorDescription;
        [SMS_Report (TRUE)     ]
            uint32     ExtClock;
        [SMS_Report (TRUE)      ]
            uint16     Family;
        [SMS_Report (TRUE)     ]
            datetime   InstallDate;
        [SMS_Report (TRUE)     ]
            uint32     L2CacheSize;
        [SMS_Report (TRUE)     ]
            uint32     L2CacheSpeed;
        [SMS_Report (TRUE)     ]
            uint32     LastErrorCode;
        [SMS_Report (TRUE)     ]
            uint16     Level;
        [SMS_Report (TRUE)     ]
            uint16     LoadPercentage;
        [SMS_Report (TRUE)     ]
            string     Manufacturer;
        [SMS_Report (TRUE)     ]
            uint32     MaxClockSpeed;
        [SMS_Report (TRUE)     ]
            string     Name;
        [SMS_Report (TRUE)     ]
      uint32     NumberOfCores;
        [SMS_Report (TRUE)     ]
    uint32     NumberOfLogicalProcessors;
        [SMS_Report (TRUE)     ]
            string     OtherFamilyDescription;
        [SMS_Report (TRUE)     ]
            string     PNPDeviceID;
        [SMS_Report (TRUE)     ]
            uint16     PowerManagementCapabilities[];
        [SMS_Report (TRUE)     ]
            boolean    PowerManagementSupported;
        [SMS_Report (TRUE)      ]
            string     ProcessorId;
        [SMS_Report (TRUE)      ]
            uint16     ProcessorType;
        [SMS_Report (TRUE)      ]
            uint16     Revision;
        [SMS_Report (TRUE)     ]
            string     Role;
        [SMS_Report (TRUE)      ]
            string     SocketDesignation;
        [SMS_Report (TRUE)      ]
            string     Status;
        [SMS_Report (TRUE)     ]
            uint16     StatusInfo;
        [SMS_Report (TRUE)     ]
            string     Stepping;
        [SMS_Report (TRUE)      ]
            string     SystemName;
        [SMS_Report (TRUE)     ]
            string     UniqueId;
        [SMS_Report (TRUE)     ]
            uint16     UpgradeMethod;
        [SMS_Report (TRUE)      ]
            string     Version;
        [SMS_Report (TRUE)     ]
            uint32     VoltageCaps;
        [SMS_Report (TRUE)     ]
            boolean    Is64Bit;
        [SMS_Report (TRUE)     ]
            boolean    IsHyperthreadCapable;
        [SMS_Report (TRUE)     ]
            boolean    IsHyperthreadEnabled;
        [SMS_Report (TRUE)      ]
            uint16     BrandID;
        [SMS_Report (TRUE)      ]
            uint32     PCache;
        [SMS_Report (TRUE)      ]
            string     CPUKey;
        [SMS_Report (TRUE)      ]
            boolean    IsMobile;
        [SMS_Report (TRUE)      ]
            uint32     NormSpeed;
        [SMS_Report (TRUE)      ]
            boolean    IsMulticore;
        [SMS_Report (TRUE)      ]
            string     CPUHash;
    };

    b) и таблица и view отсутствуют, добавлены были

    [ SMS_Report     (TRUE), 
      SMS_Group_Name ("Physical Memory"),
      SMS_Class_ID ("MICROSOFT|PHYSICAL_MEMORY|1.0") ]

    class Win32_PhysicalMemory : SMS_Class_Template
    {
        [SMS_Report (TRUE)      ] 
            string     BankLabel;
        [SMS_Report (TRUE), SMS_Units("Megabytes")    ] 
            uint64     Capacity;
        [SMS_Report (TRUE)      ] 
            string     Caption;
        [SMS_Report (TRUE)      ] 
            string     DeviceLocator[];
        [SMS_Report (TRUE)      ] 
            uint16     FormFactor;
        [SMS_Report (TRUE)      ]
            string     Manufacturer;
        [SMS_Report (TRUE)      ] 
            uint16     MemoryType;
        [SMS_Report (TRUE)      ]
            string     Model;
        [SMS_Report (TRUE)      ] 
            string     Name;
        [SMS_Report (TRUE)      ] 
            uint32     PositionInRow;
        [SMS_Report (TRUE)      ]
            uint32     Speed;
        [SMS_Report (TRUE), Key ] 
            string     Tag;
        [SMS_Report (TRUE), Key ]  
            string     CreationClassName;
    };

    [ SMS_Report     (TRUE),
      SMS_Group_Name ("Physical Memory Array"),
      SMS_Class_ID   ("MMICROSOFT|PHYSICAL_MEMORY_ARRAY|1.0")]

    class Win32_PhysicalMemoryArray : SMS_Class_Template
    {   
        [SMS_Report (TRUE)      ] 
            string     Caption;
        [SMS_Report (TRUE)      ] 
            string     CreationClassName;
        [SMS_Report (TRUE)      ] 
            string     Description;
        [SMS_Report (TRUE)      ] 
            uint16     Location;
        [SMS_Report (TRUE)      ] 
            string     Manufacturer;
        [SMS_Report (TRUE), SMS_Units("Megabytes")   ] 
            uint32     MaxCapacity;
        [SMS_Report (TRUE)      ] 
            uint16     MemoryDevices;
        [SMS_Report (TRUE)      ] 
            uint16     MemoryErrorCorrection;
        [SMS_Report (TRUE)      ] 
            string     Model;
        [SMS_Report (TRUE)      ] 
            string     Name; 
        [SMS_Report (TRUE)      ] 
            string     OtherIdentifyingInfo;
        [SMS_Report (TRUE)      ] 
            string     PartNumber;
        [SMS_Report (TRUE)      ] 
            boolean    PoweredOn;
        [SMS_Report (TRUE)      ] 
            boolean    Removable;
        [SMS_Report (TRUE)      ] 
            boolean    Replaceable;
        [SMS_Report (TRUE)      ] 
            string     SerialNumber;
        [SMS_Report (TRUE)      ] 
            string     SKU;
        [SMS_Report (TRUE)      ] 
            string     Status;
        [SMS_Report (TRUE), Key ] 
            string     Tag;
        [SMS_Report (TRUE)      ] 
            uint16     Use;
        [SMS_Report (TRUE)      ] 
            string     Version;
    };

    15 января 2013 г. 12:31
  • Попробуйте проверить синтаксис mof-a

    mofcomp.exe –check sms_def.mof

    Я вижу лишние пробелы SMS_Report (TRUE)      ]  и т.д., (не знаю, может так преобразовалось в процессе копирования?)

    Посмотрите SMS_INVENTORY_DATA_LOADER не выдает никаких ошибок?

    Также посмотрите Dataldr.log


    Maxim Sinel'nikov

    15 января 2013 г. 13:26
    Отвечающий
  • 1. Проверка на синтаксис проходит.

    2. Пробелы - стандартно так в sms_def.mof прописаны, попробую убрать конечно, но другие то данные собираются с этими пробелами.

    3. последние данные из  Dataldr.log:

    ~Started the machine MIF processing thread, thread ID = 1EFC  $$<SMS_INVENTORY_DATA_LOADER><Wed Jan 16 09:06:07.523 2013 Russian Standard Time><thread=3324 (0xCFC)>
    Worker thread 6696 starting execution.  $$<SMS_INVENTORY_DATA_LOADER><Wed Jan 16 09:06:07.523 2013 Russian Standard Time><thread=6696 (0x1A28)>
    ~Done with job queueing.  $$<SMS_INVENTORY_DATA_LOADER><Wed Jan 16 09:06:08.523 2013 Russian Standard Time><thread=7932 (0x1EFC)>
    Blocking until completion.  $$<SMS_INVENTORY_DATA_LOADER><Wed Jan 16 09:06:08.523 2013 Russian Standard Time><thread=7932 (0x1EFC)>
    Thread: 0 is using GUID   $$<SMS_INVENTORY_DATA_LOADER><Wed Jan 16 09:06:09.522 2013 Russian Standard Time><thread=6696 (0x1A28)>
    Thread: 6696 will use GUID GUID:761A9ED4-B779-48A5-927A-D9463D86F47A  $$<SMS_INVENTORY_DATA_LOADER><Wed Jan 16 09:06:09.522 2013 Russian Standard Time><thread=6696 (0x1A28)>
    Processing Inventory for Machine: DB   Version 3.40  Generated: 01/16/2013 09:05:09  $$<SMS_INVENTORY_DATA_LOADER><Wed Jan 16 09:06:09.522 2013 Russian Standard Time><thread=6696 (0x1A28)>
    Begin transaction: Machine=DB(GUID:761A9ED4-B779-48A5-927A-D9463D86F47A)  $$<SMS_INVENTORY_DATA_LOADER><Wed Jan 16 09:06:09.554 2013 Russian Standard Time><thread=6696 (0x1A28)>
    Commit transaction: Machine=DB(GUID:761A9ED4-B779-48A5-927A-D9463D86F47A)  $$<SMS_INVENTORY_DATA_LOADER><Wed Jan 16 09:06:09.569 2013 Russian Standard Time><thread=6696 (0x1A28)>
    Done: Machine=DB(GUID:761A9ED4-B779-48A5-927A-D9463D86F47A) code=0 (6 stored procs in Xlbp1oyfv.MIF)  $$<SMS_INVENTORY_DATA_LOADER><Wed Jan 16 09:06:09.569 2013 Russian Standard Time><thread=6696 (0x1A28)>
    Done blocking until completion.  $$<SMS_INVENTORY_DATA_LOADER><Wed Jan 16 09:06:09.569 2013 Russian Standard Time><thread=7932 (0x1EFC)>
    ~No more machine MIFs to be processed, terminating thread  $$<SMS_INVENTORY_DATA_LOADER><Wed Jan 16 09:06:09.569 2013 Russian Standard Time><thread=7932 (0x1EFC)>
    Shutting down Machine Writer.  $$<SMS_INVENTORY_DATA_LOADER><Wed Jan 16 09:06:09.569 2013 Russian Standard Time><thread=7932 (0x1EFC)>
    Worker thread 6696 halting execution.  $$<SMS_INVENTORY_DATA_LOADER><Wed Jan 16 09:06:10.569 2013 Russian Standard Time><thread=6696 (0x1A28)>
    Finished processing 1 MIFs  $$<SMS_INVENTORY_DATA_LOADER><Wed Jan 16 09:06:14.568 2013 Russian Standard Time><thread=7932 (0x1EFC)>

    Ошибок не обнаружено.

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

    16 января 2013 г. 5:24
  • Решился вопрос полной перестановкой всех агентов
    • Помечено в качестве ответа Bocman7 16 января 2013 г. 7:51
    16 января 2013 г. 7:51