Using Systems Management Server to Analyze Your Network Infrastructure

Previous Topic Next Topic

Reporting the Collected Data

The primary way to use SMS inventory data is to generate reports that answer specific questions. For more information about how to generate SMS reports, see the Microsoft Systems Management Server Technical Details link on the Web Resources page at http://windows.microsoft.com/windows2000/reskit/webresources.

For the purpose of Windows 2000 deployment, you can generate reports such as the following:

Each of these reports can be broken down by site, or possibly into more detail, depending on how your organization can best use the information.

Sample Systems Management Server Report of Windows 2000 Readiness

The following query uses SMS classes as listed in Table 8.1 to find computers that are ready to be upgraded to Windows 2000. The criteria used in this case are that the C: drive has 1 Gigabyte of free disk space, the computer has at least 90 Megabytes of memory and a Pentium processor, and the video card is not unidentified (that is, not equal to a null string). These criteria presume that the C: drive is the user's system partition. The report generated from this sample query is shown in Figure 8.2

Figure 8.2    Sample SMS Report of Computers with Capacity for Windows 2000
Enlarge figure

Figure 8.2 Sample SMS Report of Computers with Capacity for Windows 2000

Many organizations might also be comfortable upgrading computers with less than 90 Megabytes of memory or 1 Gigabyte of free disk space. There is no reason to think that a video card which SMS has not identified would be incompatible with Windows 2000 If you have any video cards that you suspect might be incompatible with Windows 2000, you can substitute the null string with their chip type values. Additional criteria could be added if desired.

The sample query is as follows:

SELECT DISTINCT SMS_G_System_LOGICAL_DISK.FreeSpace, SMS_G_System_PROCESSOR.Name, SMS_G_System_X86_PC_MEMORY.TotalPhysicalMemory, SMS_G_System_VIDEO.AdapterChipType, SMS_R_System.Name, SMS_R_System.SMSAssignedSites

FROM (((SMS_R_System LEFT JOIN SMS_G_System_PROCESSOR ON SMS_R_System.ResourceId = SMS_G_System_PROCESSOR.ResourceID) LEFT JOIN SMS_G_System_VIDEO ON SMS_R_System.ResourceId = SMS_G_System_VIDEO.ResourceID) LEFT JOIN SMS_G_System_X86_PC_MEMORY ON SMS_R_System.ResourceId = SMS_G_System_X86_PC_MEMORY.ResourceID) LEFT JOIN SMS_G_System_LOGICAL_DISK ON SMS_R_System.ResourceId = SMS_G_System_LOGICAL_DISK.ResourceID

WHERE (((SMS_G_System_LOGICAL_DISK.FreeSpace)>1000) AND ((SMS_G_System_X86_PC_MEMORY.TotalPhysicalMemory)>90000) AND ((SMS_G_System_VIDEO.AdapterChipType)<>'') AND ((SMS_G_System_LOGICAL_DISK.DeviceID)='C:') AND ((InStr(1,[SMS_G_System_PROCESSOR].[Name],"Pentium"))>0))

ORDER BY SMS_R_System.SMSAssignedSites;


You can use this query with Microsoft Access. If you use this query in the SMS Administrator console, it can then be used directly in Microsoft Access through the SMS Query Extract Tool. This tool is in the Support directory of the SMS 2.0 CD-ROM and is included with the Microsoft® BackOffice® Resource Kit 4.5. See the Web resources page previously referenced for a detailed discussion of how to generate SMS reports using Microsoft Access with or without the SMS Query Extract Tool.

Using the Product Compliance Subsystem

SMS has a product compliance database that is commonly used to compare the software on each computer, as reported by the SMS software inventory subsystem, to a list of software with known Year 2000 compliance issues. You can also use this subsystem to compare the software with a list of software with known Euro currency compliance issues. The same can be done for Windows 2000 compatibility — you can use the product compliance database in SMS reports to highlight computers with Windows 2000 application compatibility problems.

SMS does not include a list of software products known to have compatibility issues with Windows 2000. The chapter "Testing Applications for Compatibility with Windows 2000" in this book helps you investigate where there are any applications with compatibility issues in your organization.

Extending the Product Compliance Subsystem with Windows 2000 Hardware or Software Compatibility Information

The chapter "Determining Product Compliance" in the Microsoft® Systems Management Server Administrator's Guide describes the SMS product compliance subsystem. This includes procedures for adding new products and for reporting based on product compliance class fields.

Briefly, you add a new entry to the product compliance database with the SMS Administrator console. Select Product Compliance, and from the Action menu, select New and then Product Compliance. The Product Compliance Properties dialog box is displayed. The online help describes each of the fields.


caution-icon

Caution

The product compliance fields must exactly match those found by the SMS software inventory process. Using the Browse button to find a particular example of the file ensures that the name and size are exactly correct. The product name, version, and language fields provide drop-down list boxes which allow you to select the exact values that SMS software inventory has found.

Pay particular attention to the Compliance Type and Compliance Level fields. Each field includes a drop-down list box that lists all the values previously used in that field. By default, Compliance Type only has a value of "Year 2000 Compliance," but you can type in any value you like. You might want to use "Windows 2000 Compat." (The value is limited to 20 characters).

The Compliance Level list will be empty until you select a compliance type. When you select a compliance type, the Compliance Level list will include all values that have been previously used for that compliance type. Initially no values will have been previously used, and so the list will be empty. You can type in any value you like, such as "Compatible," "Incompatible," "Compatible with minor issues," or "Compatible with major issues."

Tip

If you want to use the same compliance levels for Windows 2000 as are provided for Year 2000 compliance, then temporarily select "Year 2000 Compliance" as the compliance type, select the compliance level you want to use, and copy it to the clipboard. Change the compliance type to Windows 2000 and paste the copied value into the Compliance Level field.

Reporting with the Product Compliance Subsystem

You use the SMS site database to report on Windows 2000 compliance. The SMS_G_System_SoftwareProduct class has the properties for all of the software products that the SMS software inventory process has discovered. SoftwareProductCompliance has the properties from the compliance database. Comparing the related properties in the two tables allows you to find whether each software product is known to have compatibility issues. Table 8.3 lists the properties you need.

Table 8.3 Product Compliance Data


Data
SMS Software Inventory Property SMS Product Compliance Property
File Name FileName FileName
File Size FileSize FileSize
Product Name ProductName ResProdName
Product Version ProductVersion ResProdVer
Product Language ProductLanguage ResProdLangID
Compliance Type N/A Type
Compliance Level N/A Category

The easiest way to start using the SMS compliance subsystem for Windows 2000 compatibility reporting is to copy the query statement from one of the currently existing Year 2000 compliance queries. Then, create a new blank query and paste the query statement into the new query. Change the compliance type value and enter the rest of the query details. For instance, the following query is based on the standard "Y2K All Compliant Software by System in This Site and Its Subsites" query. The query has only been changed in two places — where "Year 2000 Compliance" has been replaced with "Windows 2000 Compat."

The sample query is as follows:

SELECT DISTINCT sys.Name, compl.Category, compl.ProdName, compl.ProdVer, compl.ProdCompany, compl.ProdLang, compl.URL, compl.Comment FROM SMS_SoftwareProductCompliance as compl INNER JOIN SMS_G_System_UnknownFile as unknownfile ON UPPER(unknownfile.FileName) = UPPER(compl.FileName) AND unknownfile.FileSize = compl.FileSize AND unknownfile.ProductId = 0 INNER JOIN SMS_R_System as sys ON unknownfile.ResourceID = sys.ResourceID WHERE compl.Category != "Compliant" AND compl.Type = "Windows 2000 Compat." UNION SELECT DISTINCT sys.Name, compl.Category, compl.ProdName, compl.ProdVer, compl.ProdCompany, compl.ProdLang, compl.URL, compl.Comment FROM SMS_SoftwareProductCompliance as compl INNER JOIN SMS_G_System_SoftwareProduct as prod ON compl.ResProdName = prod.ProductName AND compl.ResProdVer = prod.ProductVersion INNER JOIN SMS_G_System_SoftwareFile as prodfile ON UPPER(prodfile.FileName) = UPPER(compl.FileName) AND prodfile.FileSize = compl.FileSize INNER JOIN SMS_R_System as sys ON prod.ResourceID = sys.ResourceID WHERE compl.Category != "Compliant" AND compl.Type = "Windows 2000 Compat." AND (compl.ResProdLangID = prod.ProductLanguage OR compl.ResProdLangID = 65535) AND prod.ProductID = prodfile.ProductID


This query returns data that lists incompatible software by site. You can create a Microsoft Access report using this data as shown in Figure 8.3.

Figure 8.3    Sample Software Compatibility Report
Enlarge figure

Figure 8.3 Sample Software Compatibility Report

The administrators at the appropriate sites can then be alerted that they have to resolve these application compatibility problems at their sites. The computer names or other details could easily be included in the report, if desired. The query results could also be used as the basis of an SMS collection, to which an SMS package could be advertised to upgrade or remove the application.

© 1985-2000 Microsoft Corporation. All rights reserved.