1. Reporting on Inventory and Discovery Data
One of the most valuable and often overlooked
features of ConfigMgr is the data it gathers about your network and
Windows environment. This section looks at some of the reports in the
Hardware, Software, Operating System, and Network categories .
Computer Information for a Specific Computer
One of the most basic ConfigMgr reports provided by Microsoft is the Computer information for a specific computer report. Figure 1 displays the output of this report for the Bluebonnet system.
Let’s look at the details of how this report is
constructed. From the System Center Configuration Manager -> Site
Database -> Computer Management -> Reporting -> Reports node of
the Configuration Manager console tree, you can right-click the report
and choose Properties to view and edit the report properties. Figure 2 displays the General tab of the report’s Properties page.
The General tab shows the report’s name,
category, and the optional comment associated with the report. This tab
also displays the SQL statement on which the report is based and
provides an option to edit the SQL statement. Clicking on the Edit SQL
Statement button launches the Query Builder. Figure 3 displays the SQL statement for the Computer information for a specific computer report in the Query Builder.
The SQL statement for the Computer information for a specific computer report is as follows:
SELECT SYS.Netbios_Name0, SYS.User_Name0, SYS.User_Domain0,
SYS.Resource_Domain_OR_Workgr0,
OPSYS.Caption0 as C054, OPSYS.Version0,
MEM.TotalPhysicalMemory0, IPAddr.IP_Addresses0, Processor.Manufacturer0,
CSYS.Model0, Processor.Name0, Processor.MaxClockSpeed0
FROM v_R_System SYS
LEFT JOIN v_RA_System_IPAddresses IPAddr on SYS.ResourceID = IPAddr.ResourceID
LEFT JOIN v_GS_X86_PC_MEMORY MEM on SYS.ResourceID = MEM.ResourceID
LEFT JOIN v_GS_COMPUTER_SYSTEM CSYS on SYS.ResourceID = CSYS.ResourceID
LEFT JOIN v_GS_PROCESSOR Processor on Processor.ResourceID = SYS.ResourceID
LEFT JOIN v_GS_OPERATING_SYSTEM OPSYS on SYS.ResourceID=OPSYS.ResourceID
WHERE SYS.Netbios_Name0 = @variable
ORDER BY SYS.Netbios_Name0, SYS.Resource_Domain_OR_Workgr0
Here’s how the statement functions:
The SELECT list specifies the columns
that displayed in the report; for example, SYS.Nebios_Name0 is the
Nebios_Name0 column from the view v_R_System, to which the SQL statement
assigns the alias SYS. The report rendering engine reformats the column
header to NetBIOS Name.
The data is
pulled from six resource views joined together on their ResourceID.
Microsoft uses the ResourceID column in each of the views to identify
the computer system that each data record represents.
The
LEFT JOIN is used in this query so that partial results are returned
even if some of the requested data is not available. As an example, if
the discovery data in the System and System IPAddresses views is
available but the inventory data is not, the report displays the
discovery data. If an INNER JOIN were used, no data would be returned
unless all the views contained the corresponding ResourceID. The join
also explains why there are two essentially identical records in the
report. The computer has two processors; therefore, the join on
v_GS_PROCESSOR matches two distinct rows. A record will be returned for
each of these rows.
Many ConfigMgr reports prompt the user to supply one or more parameters at run-time. For example, the Computer information for a specific computer report requires the user to enter the computer name. To view details behind this prompt, click the Prompts button on the Query Builder screen (Figure 18.12), then right-click the Computer Name prompt, and choose Properties. Figure 4 shows the properties for the Computer Name prompt.
Caution: Use Caution When Creating Joins
Using the wrong type of join or joining views
on the wrong column can cause the query to retrieve large amounts of
data, which is likely to cause your reports to time out and might create
an excessive load on your Report Server and Site Database.
The Name text box on Prompt Properties page
contains the name variable, which indicates that the prompted value
populates the @variable parameter. This parameter appears in the WHERE
clause of the report SQL statement (WHERE SYS.Netbios_Name0 =
@variable).To edit the query that returns this list, click
the Edit SQL statement at the bottom of the Prompt Properties page
displayed in Figure 4. The query for the Computer Name prompt is
Begin
if (@__filterwildcard = '')
SELECT DISTINCT SYS.Netbios_Name0 from v_R_System SYS
ORDER By SYS.Netbios_Name0
else
SELECT DISTINCT SYS.Netbios_Name0 from v_R_System SYS
WHERE SYS.Netbios_Name0 like @__filterwildcard
ORDER By SYS.Netbios_Name0
End
If
you entered any text in the Computer Name text box before clicking the
Values button, the @__filterwildcard variable represents the text you
entered. This value is used to match only the values that are “like” the
text string you entered. The like operator is a standard SQL relational operator that supports wildcard matching.
Returning to the Properties page for the Computer information for a specific computer report and clicking the Link tab displays the information shown in Figure 5.
This page indicates that the report contains a
link to the Computer Details page for the computer named in column 1 of
the report.
Tip: Using ConfigMgr Reports in Spreadsheets
As with any web page, you can place hyperlinks
to your Configuration Manager reports in email messages, Word
documents, and so on. One way you might want to use reports on specific
computers is to include them in any spreadsheets you maintain with
system information. To add links to the Computer information for a specific computer to an Excel spreadsheet, add a column to your sheet, and enter a link similar to the one here to the first cell of that column.
=HYPERLINK("http://<Reporting_URL>/Report.asp?ReportID=1&variable="&xxxx
,"ConfigMgr Data")
<Reporting_URL> is the URL of your ConfigMgr reporting point and xxxx
is the cell containing the NetBIOS name of the computer in the initial
row. Now, copy the cell and paste it into the rest of the column.
Viewing Computer Details
You might have noticed the small square containing an arrow at the beginning of each row of the report shown earlier in Figure 1. This is the link to the Computer Details page. Figure 6 displays the Computer Details page for the Bluebonnet computer.
The tree control in the left pane displays the report categories for all reports that have been linked to Computer Details. Figure 2 showed the Display in Computer Details check box enabled for the Computer information for a specific computer report, and that the report category is Hardware – General.
When you expand the Computer Details Hardware – General node, you see the Computer information for a specific computer
report for the selected computer. Computer Details provides convenient
access to the additional reports including hardware, software, and operating
system (OS) information; data about the ConfigMgr client and software
advertised to the client; and asset intelligence data. For example, Figure 7 shows how you can quickly access information about Windows services from the Computer Details page.
The Computer Details drill down interface is available in classic reporting but is not included with the SRS reports.
To display information about which reports contain links to Computer Details, perform the following steps:
1. | Expand
the ConfigMgr console tree to System Center Configuration Manager ->
Site Database -> Computer Management -> Reporting.
| 2. | Right-click the Reports node and choose View -> Add/Remove columns from the context menu.
| 3. | In the Add/Remove columns dialog box, select Status Message Detail Source from the available columns list.
| 4. | Click the Add button to move the selection to the displayed columns list, and then click OK.
|
You now see the Machine Source column in the list of reports.
You can sort on this column by double-clicking
the column header, which moves all reports with Machine Details to the
bottom of the list. Similarly, you can add the Machine Detail column to
display which reports are available from the machine details control. A
value of True in the Machine Source column indicates a report that
appears in the Computer Details page, and a value of False indicates
that the report does not appear in Computer Details.
|
Reporting on Computers Based on Specific Criteria
One
of the most useful applications of ConfigMgr inventory data is to
report on computers matching specific characteristics. Some typical uses
for this type of report are to identify machines needing hardware
upgrades, find all computers with a specific software product installed,
or enumerate the machines on a specific Internet Protocol (IP) subnet.
An example of a report commonly used for computer maintenance is the Computers with low free disk space report shown in Figure 18.17. In this case, specify 2000 MB at the Disk Space Amount prompt.
Figure 9 shows another commonly used report: Computers with a specific product name and version.
This report is an example of the Software – Companies and Products
category. Most of the reports in this category use property data that
the ConfigMgr software inventory process extracts from the file
headers—the same data that you view when you right-click a file and view
the product properties entered by the software vendors. This data might
be more or less complete, depending on the information the vendor has
chosen to supply. The reports in the Software – Files category focus
primarily on file system information—the information you would see in a directory listing in Windows Explorer or at the command prompt.
Reporting on Networks and Users
You can also use ConfigMgr 2007 to report on network segments and users in your environment:
Network reports list the IP subnets in
your environment, enumerate the client computers and other devices on
each subnet, and allow you to drill down to see detailed information
about the networking components of each client computer.
User reports give an overview of the users in your AD domains.
The Computers for a specific user name
report can help identify computers used by a specific user, although it
is dependent on the user having been the last person to log on at the
time inventory ran.
Some of the reports in the Network and
Users categories require enabling Network Discovery or Active Directory
User Discovery to gather the required data.