Using Systems Management Server to Analyze Your Network Infrastructure |
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:
Technical staff who are performing Windows 2000 upgrades can use these two reports to identify which computers might require hardware upgrades.
You might want to use a combination of these two reports if it is likely that you are going to have both issues.
This can be used by technical staff who are doing hardware upgrades so that they can order appropriate hardware and identify which computers might need upgrades.
This can be used by technical staff who are performing software upgrades, so that they can order appropriate software and identify which computers might need upgrades.
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.
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
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.
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.
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
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.
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
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.