none
如果查看客户端的保修时间 RRS feed

答案

全部回复

  • 
    请详细说明你的问题。
    
    MIF文件结构?放在了SMS client指定的目录中? 确定SMS client inventory agent 正确提取了MIF文件的信息 ?  服务端正确load了这个信息到系统中? 正确生成了表?
    
    上面都确认了,然后再用表创建report,从中列出你定制的“保修时间”信息。
    
    
    
    2010年3月19日 7:53
    版主
  • 下面是MIF的文件结构,我就是要确定每台机器的ship date and warranty end date.

    Start Component
       Name = "ISOS Specific Information"
       Start Group
          Name  = "AssetAging Information"
          ID    = 1
          Class = "AssetAgingInformation"
          Key = 1
          Start Attribute
             Name    = "Ship Date"
             ID      = 1
             Type    = Date
             Value   ="20050407000000.000000+000"
          End Attribute
          Start Attribute
             Name    ="Warranty End Date"
             ID      = 2
             Type    = Date
             Value   ="20080407000000.000000+000"
          End Attribute
       End Group
    End Component

    我将这个文件copy 到C:\WINDOWS\system32\CCM\Inventory\noidmifs这个下面。

    我通过查看单台client的hardware inventory ,可以看到扩展出了“AssetAging Information“,因此,我觉得系统已经正确的load了这个信息。正确生成表就不确定了,也不知道 这个report应该怎么去写。

     

    2010年3月19日 9:31
  • “通过查看单台client的hardware inventory ,可以看到扩展出了“AssetAging Information“,”

    是指在 console 上的该机器的 resource explorer 中吧? 那就是该信息已经被正确处理并导入系统,恭喜 !

    如果不是SCCM reporting service环境 (也就是 SCCM 通常的报表功能,和SMS2003中相似),那新建一个report,内容其实就是一个SQL语句,查询这个AssetAging Information 表的信息即可,通过resourceID和其它表或者视图联接来在报表内包含更多其它信息。可以考虑模仿其它视图来用这个表创建一个视图,来使用相似的命名约定和列定义,便于以后使用。

    如果是 reporting service,创建report稍有不同,网上稍微搜一下资料吧,例如:

    http://blogs.technet.com/configmgrteam/archive/2009/03/17/sql-reporting-services-tools-and-features-part-1-creating-configuration-manager-2007-reports-using-report-builder-2-0.aspx  这里有用report builder 2.0 来创建SCCM report的白皮书

    Report builder 2.0下载
    http://www.microsoft.com/downloads/details.aspx?FamilyID=9f783224-9871-4eea-b1d5-f3140a253db6&displaylang=en

    不过Report builder 2.0 是 for SQL 2008的,如果是SQL 2005,可以使用SCCM 中的向导(适合比较简单的报表)或者 Visual  Studio (适合复杂报表) 来开发report。  SQL 2005 reporting service自带一个 Visual studio 2005报表设计器

     

     

    2010年3月21日 12:32
    版主
  • 谢谢 Frank.

    最后跟总部的同事问了一下,给了一个MOF的文件。

    // *********************************************************************************
    //
    //  Created by SMS Export object wizard
    //
    //  Tuesday, March 23, 2010 created
    //
    //  File Name: assetintelligence (Bios and warranty).mof
    //
    // Comments :
    //
    //
    // *********************************************************************************


    // ***** Class : SMS_Report *****
    [SecurityVerbs(140551)]
    instance of SMS_Report
    {
     Category = "Asset Intelligence";
     Comment = "This reports provides an asset manager’s summary view of a collection of computers";
     GraphXCol = 1;
     GraphYCol = 2;
     MachineDetail = FALSE;
     MachineSource = FALSE;
     Name = "INTLSOS - Summary of computers in a specific collection (Including PC bios,Warranty Status)";
     NumPrompts = 1;
     RefreshInterval = 0;
     ReportGUID = "{D6E34D2E-82D9-49AF-86FE-EEB0253EE827}";
     
     ReportParams = {
    instance of SMS_ReportParameter
    {
     AllowEmpty = FALSE;
     DefaultValue = "";
     PromptText = "Collection";
     SampleValueSQL = "begin
    \n if (@__filterwildcard = '')
    \n select v_Collection.CollectionID, v_Collection.Name from v_Collection order by v_Collection.Name
    \nelse
    \n select v_Collection.CollectionID, v_Collection.Name from v_Collection
    \n WHERE v_Collection.CollectionID like @__filterwildcard
    \n order by v_Collection.Name
    \nend";
     VariableName = "CollectionID";
    }};
     SecurityKey = "";
     SQLQuery = "select  distinct
    \n v_R_System_Valid.Netbios_Name0 AS [Computer Name],
    \n v_Site.SiteName as [SMS Site Name], PCBIOS.SerialNumber0 as ServiceTag,
    \nAGINGINFO.Ship_Date00 as ShipDate,
    \nAGINGINFO.Warranty_End_Date00 as WarrantyEndDate,
    \n PCBIOS.ReleaseDate0 AS [BIOS Release Date],
    \n v_GS_OPERATING_SYSTEM.Caption0 AS [Operating System],
    \n v_GS_OPERATING_SYSTEM.CSDVersion0 AS [Service Pack Level],
    \n v_GS_COMPUTER_SYSTEM.Manufacturer0 AS [Manufacturer],
    \n v_GS_COMPUTER_SYSTEM.Model0 AS [Model],
    \n v_GS_X86_PC_MEMORY.TotalPhysicalMemory0 AS [Memory (KBytes)],
    \n v_GS_PROCESSOR.NormSpeed0 AS [Processor (GHz)],
    \n (Select sum(Size0)
    \n from v_GS_LOGICAL_DISK inner join v_FullCollectionMembership on (v_FullCollectionMembership.ResourceID = v_GS_LOGICAL_DISK.ResourceID )
    \n  where v_GS_LOGICAL_DISK.ResourceID =v_R_System_Valid.ResourceID and
    \n  v_FullCollectionMembership.CollectionID = @CollectionID) As [Disk Space (MB)],
    \n (Select sum(v_GS_LOGICAL_DISK.FreeSpace0)
    \n from v_GS_LOGICAL_DISK inner join v_FullCollectionMembership on (v_FullCollectionMembership.ResourceID = v_GS_LOGICAL_DISK.ResourceID )
    \n where v_GS_LOGICAL_DISK.ResourceID =v_R_System_Valid.ResourceID and v_FullCollectionMembership.CollectionID = @CollectionID) As [Free Disk Space (MB)]
    \n from v_R_System_Valid
    \n inner join v_GS_OPERATING_SYSTEM on (v_GS_OPERATING_SYSTEM.ResourceID = v_R_System_Valid.ResourceID)
    \n left join v_GS_SYSTEM_ENCLOSURE_UNIQUE on (v_GS_SYSTEM_ENCLOSURE_UNIQUE.ResourceID = v_R_System_Valid.ResourceID)
    \n inner join v_GS_COMPUTER_SYSTEM on (v_GS_COMPUTER_SYSTEM.ResourceID = v_R_System_Valid.ResourceID)
    \n inner join v_GS_X86_PC_MEMORY on (v_GS_X86_PC_MEMORY.ResourceID = v_R_System_Valid.ResourceID)
    \n inner join v_GS_PROCESSOR on (v_GS_PROCESSOR.ResourceID = v_R_System_Valid.ResourceID)
    \n inner join v_FullCollectionMembership on (v_FullCollectionMembership.ResourceID = v_R_System_Valid.ResourceID)
    \n left  join v_Site on (v_FullCollectionMembership.SiteCode = v_Site.SiteCode)
    \n inner join v_GS_LOGICAL_DISK on (v_GS_LOGICAL_DISK.ResourceID = v_R_System_Valid.ResourceID) and v_GS_LOGICAL_DISK.DeviceID0=SUBSTRING(v_GS_OPERATING_SYSTEM.WindowsDirectory0,1,2)
    \n left join v_GS_SYSTEM_CONSOLE_USAGE_MAXGROUP on (v_GS_SYSTEM_CONSOLE_USAGE_MAXGROUP.ResourceID = v_R_System_Valid.ResourceID)
    \nLEFT JOIN v_GS_PC_BIOS PCBIOS on v_R_System_Valid.ResourceID=PCBIOS.ResourceID
    \nLEFT JOIN v_GS_AssetAging_Informatio0 AGINGINFO on v_R_System_Valid.ResourceID=AGINGINFO.ResourceID
    \n Where v_FullCollectionMembership.CollectionID = @CollectionID
    \n Order by v_R_System_Valid.Netbios_Name0";
     StatusMessageDetailSource = FALSE;
     UnicodeData = FALSE;
    };
    // ***** End *****

    文件的内容是这样,看不懂:(

    希望对大家有帮助

    2010年3月23日 10:13
  • Created by SMS Export object wizard
    //
    //  Tuesday, March 23, 2010 created
    //
    //  File Name: assetintelligence (Bios and warranty).mof

    // ***** Class : SMS_Report *****
    [SecurityVerbs(140551)]
    instance of SMS_Report

    也就是用 SMS 对象导出向导将这个report导出为MOF文件格式存放,以后需要也可以直接导入就能使用。也就是 lz 的report完成了 !

    Category = "Asset Intelligence";
     Comment = "This reports provides an asset manager’s summary view of a collection of computers";
     GraphXCol = 1;
     GraphYCol = 2;
     MachineDetail = FALSE;
     MachineSource = FALSE;
     Name = "INTLSOS - Summary of computers in a specific collection (Including PC bios,Warranty Status)";
     NumPrompts = 1;
     RefreshInterval = 0;
     ReportGUID = "{D6E34D2E-82D9-49AF-86FE-EEB0253EE827}";

    这段是Report 在SMS的类别,名称之类等的信息,

     

     ReportParams = {
    instance of SMS_ReportParameter
    {
     AllowEmpty = FALSE;
     DefaultValue = "";
     PromptText = "Collection";
     SampleValueSQL = "begin
    \n if (@__filterwildcard = '')
    \n select v_Collection.CollectionID, v_Collection.Name from v_Collection order by v_Collection.Name
    \nelse
    \n select v_Collection.CollectionID, v_Collection.Name from v_Collection
    \n WHERE v_Collection.CollectionID like @__filterwildcard
    \n order by v_Collection.Name
    \nend";
     VariableName = "CollectionID";

    这段是report的参数,是否允许空值,提示文字,参数数据源,参数名称等的定义



     SQLQuery = "select  distinct
    。。。。。。。。。。

    再往下这段就是你的report的SQL语句了,连接了一大堆其它视图,数据很齐全的一个报表了 :-)

    2010年3月24日 15:40
    版主