Create a collection with all mobile (laptops, notebooks, portable) systems

Someone just asked how to create a collection with all laptop computers? Well, if there is a good naming convention on site, this query will be easy to make. But, otherwise, we need to use chassis type value because, for example, laptops and notebooks are not the same things according to Microsoft.

The full list with chassis types are bellow (taken from http://www.microsoft.com/technet/scriptcenter/guide/sas_cpm_btnz.mspx?mfr=true):

Value Description
1 Other
2 Unknown
3 Desktop
4 Low Profile Desktop
5 Pizza Box
6 Mini Tower
7 Tower
8 Portable
9 Laptop
10 Notebook
11 Hand Held
12 Docking Station
13 All in One
14 Sub Notebook
15 Space-Saving
16 Lunch Box
17 Main System Chassis
18 Expansion Chassis
19 Sub Chassis
20 Bus Expansion Chassis
21 Peripheral Chassis
22 Storage Chassis
23 Rack Mount Chassis
24 Sealed-Case PC

So, to make a collection with all kind of mobile systems (Portable, Laptop, Notebook, Sub Notebook) we will use 8, 9, 10 and 14 chassis types. The final query looks like this:

select SMS_R_SYSTEM.ResourceID, SMS_R_SYSTEM.ResourceType, SMS_R_SYSTEM.Name, SMS_R_SYSTEM.SMSUniqueIdentifier, SMS_R_SYSTEM.ResourceDomainORWorkgroup, SMS_R_SYSTEM.Client from SMS_R_System inner join SMS_G_System_SYSTEM_ENCLOSURE on SMS_G_System_SYSTEM_ENCLOSURE.ResourceID = SMS_R_System.ResourceId where SMS_G_System_SYSTEM_ENCLOSURE.ChassisTypes in ("8", "9", "10", "14")

If you receive the “This query has a syntax error.” error, change the quotation marks when pasting the query, as this one does not work with ConfigMgr.

Troubleshooting Task Sequences in SCCM

I don’t do this usually, but this time this is really interesting.

I want to recommend a very good blog post written by Kenneth Van Surksum about troubleshooting Task Sequences in Configuration Manager. Find it here http://www.techlog.org/archive/2009/03/01/troubleshooting_task_sequences.

He talks about the smsts.log file, where to find it during installation and what tool you can use to read the logs easily. Also, at the end, he wrote a list of helpful links to get you start troubleshooting.

Definitely I will add his feed to my “SCCM blogs I read” list.

Create a collection with systems without Adobe Reader 9

Recently, I needed a collection with all computers that do not have Adobe Reader 9 installed.

I created a collection with this query: SMS_G_System_ADD_REMOVE_PROGRAMS.DisplayName not like "%Adobe Reader 9%". Everything was fine except the fact that my computer was also listed, despite the fact that I have Adobe Reader 9 installed. Well, I’m not an SQL geek but I know that SMS_G_System_ADD_REMOVE_PROGRAMS.DisplayName like "%Adobe Reader 9%" should return all computers with Adobe Reader 9 installed. This one was ok – the collection listed only me. Something was wrong with my first query so I asked for help our SQL guys and in a few minutes I had the right query 🙂

Also, I didn’t want to install the Reader on server computers with SCCM client. So the final query looked like this:

select SMS_R_SYSTEM.ResourceID, SMS_R_SYSTEM.ResourceType, SMS_R_SYSTEM.Name, SMS_R_SYSTEM.SMSUniqueIdentifier, SMS_R_SYSTEM.ResourceDomainORWorkgroup, SMS_R_SYSTEM.Client from SMS_R_System inner join SMS_G_System_COMPUTER_SYSTEM on SMS_G_System_COMPUTER_SYSTEM.ResourceID = SMS_R_System.ResourceId where SMS_R_System.OperatingSystemNameandVersion not like "%Server%" and SMS_G_System_COMPUTER_SYSTEM.Name not in (select distinct SMS_G_System_COMPUTER_SYSTEM.Name from SMS_R_System inner join SMS_G_System_COMPUTER_SYSTEM on SMS_G_System_COMPUTER_SYSTEM.ResourceID = SMS_R_System.ResourceId inner join SMS_G_System_ADD_REMOVE_PROGRAMS on SMS_G_System_ADD_REMOVE_PROGRAMS.ResourceID = SMS_R_System.ResourceId where SMS_G_System_ADD_REMOVE_PROGRAMS.DisplayName like "%Adobe Reader 9%")

I’m sure there are more ways to do this, but this is the query that worked for me.

Show hidden devices in Device Manager

Yesterday I started to play with Hyper-V and SCVMM 2008. I added two hosts and also imported one virtual hard disk (with Windows Server 2003 SP2) to see if a .vhd created by Virtual Server 2005 SP1 works well in Hyper-V.

I noticed that I do not have an internet connection, actually there wasn’t any network adapters installed although I’m sure I had one. I installed Integration Services and it installed Microsoft Virtual Machine Bus Network Adapter. Ok, good. Looks like it doesn’t have the IP address set up. When I tried to configure the adapter, the following error occurred: “The IP address <ip address> you have entered for this network adapter is already assigned to another adapter…”

As I did not have any network adapter prior to installing Integration Services, I opened Device Manager and checked Show hidden devices from the View menu. The result: no Intel 21140-Based… adapter there. Nothing wrong here, this is by design. Installed devices that are not connected to the computer (i.e. USB device) are not displayed in Device Manager, even with Show hidden devices enabled.

So, in order to uninstall the old network adapter (Intel 21140-Based… in my case) do the following:

  1. Click Start, point to All Programs, point to Accessories, and then click Command Prompt.
  2. At a command prompt, type the following command , and then press ENTER:
    • set devmgr_show_nonpresent_devices=1
  3. Type the following command a command prompt, and then press ENTER:
    • start devmgmt.msc
  4. Troubleshoot the devices and drivers in Device Manager.NOTE: Click Show hidden devices on the View menu in Device Manager before you can see devices that are not connected to the computer.
  5. When you finish troubleshooting, close Device Manager.
  6. Type exit at the command prompt.Note that when you close the command prompt window, Window clears the devmgr_show_nonpresent_devices=1 variable that you set in step 2 and prevents ghosted devices from being displayed when you click Show hidden devices.

There is a KB article about this. Although the article applies to Windows XP only, the solution worked very well on Windows Server 2003.

Setup Windows and ConfigMgr – 0x80004005

Suppose you have created a task sequence, advertised it and booted from task sequence media or however you want; if you receive the following error: “Task Sequence: <TS name> has failed with the error code (0x80004005). For more information, please contact your system administrator or helpdesk operator.” at Setup Windows and ConfigMgr step you might want to check the Product Key!

Most probably the key is not correct, so either write another one or remove the product key at all from Apply Windows Settings step in your task sequence and you will have to provide it during the install phase.

I left the product key blank and next time I booted the PC from the TS media, at the Setup Windows and ConfigMgr step I was asked to provide a product key. I entered my Business edition product key and everything was ok.

Update proxy settings used by Software Updates role in SCCM 2007

Few months  ago I had an interesting problem at a client site that took me a while to resolve. So I want to post it here, maybe it will help others…

After a successful upgrade from SMS 2003 to SCCM 2007 SP1, I configured software update point, synchronized with Microsoft update to get the list of updates for products I needed and created a new list with updates required by clients. When I tried to deploy software updates it should download the updates to my SCCM server. Well, this step failed. PatchDownloader.log reported the following:
Trying to connect to the root\SMS namespace on the XYZ-SCCM machine
Connected to \\XYZ-SCCM\root\SMS
Trying to connect to the \\XYZ-SCCM\root\sms\site_XYZ namespace on the machine
Connected to \\XYZ-SCCM\root\sms\site_XYZ
Download destination = \\XYZ-SCCM\WsusContent\08123a3c-c7fd-43a4-a4ce-80089b1267df.1\WindowsXP-KB938828-x86-ENU.exe
Contentsource = http://www.download.windowsupdate.com/msdownload/update/v3-19990518/cabpool/windowsxp-kb938828-x86-enu_ba3f0cbe4ba5736d4254732e41fe058697b76ebc.exe
Downloading content for ContentID = 8170, FileName = WindowsXP-KB938828-x86-ENU.exe
Try username DOMAIN\USERNAME from the registry
Proxy enabled proxy server ISAserver:8080
HttpSendRequest failed 12007
Download http://www.download.windowsupdate.com/msdownload/update/v3-19990518/cabpool/windowsxp-kb938828-x86-enu_ba3f0cbe4ba5736d4254732e41fe058697b76ebc.exe to C:\DOCUME~1\ADMINI~1.LAB\LOCALS~1\Temp\2\CAB3B.tmp returns 12007
ERROR: DownloadContentFiles() failed with hr=0x80072ee7

First I thought it was a stupid error, as I set (and checked twice) all correct information. Looks like proxy information was old and not updating with what I have set later in SCCM. So I needed to remove old information and set the new ones again.

I have checked the registry and I couldn’t do much as username and password was encrypted. Well, I used upddwnldcfg.exe (from <ConfigMgrInstallationFolder>\bin\i386\00000409 folder on a x86 machine) to delete all proxy information stored in the registry and added the new username, password and server’s IP address. After this, downloading updates worked perfectly. More information about configuring proxy settings using upddwnldcfg.exe, you can find here: http://technet.microsoft.com/en-us/library/bb892795.aspx

SCCM 2007 description of all log files

Another very good resource I just found! The description of all log files in ConfigMgr 2007. See bellow an example and follow the link for the full post: http://technet.microsoft.com/en-us/library/bb892800.aspx.

Management Point Log Files

If management points are installed in the site hierarchy, management point log files are stored in the SMS_CCMLOGS folder on the management point computer. The following table lists and describes the management point log files.

Log File Name Description
MP_Ddr.log Records the conversion of XML.ddr records from clients, and copies them to the site server
MP_GetAuth.log Records the status of the site management points
MP_GetPolicy.log Records policy information
MP_Hinv.log Converts XML hardware inventory records from clients and copies the files to the site server
MP_Location.log Records location manager tasks
MP_Policy.log Records policy communication
MP_Relay.log Copies files that are collected from the client
MP_Retry.log Records the hardware inventory retry processes
MP_Sinv.log Converts XML hardware inventory records from clients and copies them to the site server
MP_Status.log Converts XML.svf status message files from clients and copies them to the site server

Issue with Windows XP SP3 Volume License

A few days ago I had to make an image with Windows XP SP3 with all needed applications for lite touch installation.

Everything went well and I was happy until I entered the mini-setup phase on the first computer with that image applied on it. I received an error regarding the product key. I guess I tried a dozen of product keys but none of them worked. After reading the message again and more careful, I realized that the problem was with my Windows XP media – it was not a VL media. And I realized this because the message said to look for a product key on the Certificate of Authenticity (COA) sticker and not my License Agreement…

Resolution

Got another media with Windows XP SP3 VL and made a repair. During the repair phase, I provided the VL product key and it worked. Next time I entered the mini-setup, I filled in required info and that was it.

How Microsoft IT is using Configuration Manager 2007

Do you know how Microsoft IT manages thousands of servers worldwide in multiple countries for a large number of departments and customers using SCCM 2007?
If no, then you should listen to this 30 minutes podcast: Microsoft IT Business Case for System Center Configuration Manager 2007 in a Data Center.

And here is the full article about this business case. I found it very interesting…

April 2012 update: How Microsoft IT Deployed System Center 2012 Configuration Manager. Direct link to PDF file.