Thursday, July 17, 2014

Config Mgr 2012 Client Troubleshooting

 
Here is a list I'm compiling of Client troubleshooting issues and resolutions.
Idea and format taken from SCCM 2012 Client Troubleshooting

If Updates won't install
WUAHandler.log 80004005
   1. Delete C:\Windows\System32\GroupPolicy\Machine\Registry.pol

   2. Run Software Updates Deployment Evaluation Cycle

WUAHandler.log 8007000d Cause: Pointing to old update server URL
   1. Delete C:\Windows\System32\GroupPolicy\Machine\Registry.pol

   2. Run Software Updates Deployment Evaluation Cycle

WUAHandler.log 80072ee2
   1. Run Software Updates Deployment Evaluation Cycle while computer has good connectivity


WUAHandler.log 80072efe
   1. Run Software Updates Deployment Evaluation Cycle while computer has good connectivity

WUAHandler.log 80080005
   1. Reboot computer
   2. Verify WUAUSERV service is running
   3. Run Software Updates Deployment Evaluation Cycle

WUAHandler.log c80003f3
   1. Launch PowerShell
   2. Stop-Service wuauserv
   3. Remove-Item "C:\Windows\SoftwareDistribution" -Force
   4. Start-Service wuaserv

   5. Run Software Updates Deployment Evaluation Cycle
WUAHandler.log 80244022



WUAHandler.log 8024002D (-2145124307)
   1. Uninstall and Reinstall CM client



WUAHandler.log 87D00605 (-2016410107)
   1. Uninstall and Reinstall CM client


If PXE won't boot
Windows Boot Manager c0000001

Problem: Boot failure right after boot.sdi message. Error 0xc0000001. "A required device isn't connected or can't be accessed."
  
1. Reduce RamDiskTFTPBlockSize but keep in 1024 increments
       HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\SMS\DP\RamDiskTFTPBlockSize
    Source: http://tech.cellfi.sh/journal/2013/4/28/windows-pe-sccm-pxe-boot-problems-bootsdi
    Additional Information: How Booting into a Boot Image Works


Monday, May 5, 2014

WUA Scan Failed Collection

Here is a SQL query to return all resources with a particular WUA Scan error code.
select v_R_System.ResourceID,v_R_SYSTEM.ResourceType,v_R_SYSTEM.Name0,v_R_SYSTEM.SMS_Unique_Identifier0,v_R_SYSTEM.Resource_Domain_OR_Workgr0,v_R_SYSTEM.Client0 from v_R_System inner join v_UpdateScanStatus on v_UpdateScanStatus.ResourceId = v_R_System.ResourceId where v_UpdateScanStatus.LastErrorCode = '-2147467259'



Unfortunately this doesn't really help us at all if we want to perform any kind of actions on these resources.



I found this site Creating Collections using SQL which out lines an unsupported but highly effective method for using a SQL query to drive a collections membership. Below is the specific SQL I used to get the results I wanted.



Get Collection ID SQL Query
select CollectionID from v_Collections where CollectionName = 'CollectionName'



Update Collection Rules SQL Query
Update  Collection_Rules_SQL set SQL = 'select SMS_R_SYSTEM.ItemKey,SMS_R_SYSTEM.DiscArchKey,SMS_R_SYSTEM.Name0,SMS_R_SYSTEM.SMS_Unique_Identifier0,SMS_R_SYSTEM.Resource_Domain_OR_Workgr0,SMS_R_SYSTEM.Client0 from vSMS_R_System AS SMS_R_System JOIN v_UpdateScanStatus on v_UpdateScanStatus.ResourceId = SMS_R_System.ItemKey where v_UpdateScanStatus.LastErrorCode = -2147467259' where CollectionID = 16777359



Thursday, May 17, 2012

How to encapsulate a value in quotes

Many times I get a list of hostnames from someone requesting a software distribution. Rarely are the values in encapsulated with quotes and separated by commas as is required by SCCM's collection query.

Well sometimes all you have to do is ask. Here is a simple Excel formula which will take the hostname value from one cell and encapsulate it in quotes and append a comma.

=CONCATENATE(CHAR(34),A1,CHAR(34),",")

Place the formula in cell A2 where A1 equals the cell with the hostname. Then simply click the bottom right corner of cell A2 and drag it downward the same number of rows as A1. This will create your new values that you can simply copy and paste into your WQL query.

Much Thanks to Jon Scruggs!


Monday, March 26, 2012

Installed client uses old SiteCode

Site Code Woes

The Problem
I encountered a problem where when I would install the Config Mgr client on computers, the client would use a site code of a previous Config Mgr implementation. The client is installed using the SITECODE=AUTO which should have set the site code to HSC however after the installation, the CCM\LocationServices.log would show a sitecode of HS1.

LocationServices.log
3/27/2012 11:11:20 AM 1352 (0x0548) LocationServices LSRefreshSiteCode: Group Policy Updated the Assigned Site Code <HS1>, which is different than the exisitng assigned Site Code <>. Would try to re-assign the site.
3/27/2012 11:11:20 AM 1352 (0x0548) LocationServices Sending Fallback Status Point message, STATEID='500'.
3/27/2012 11:11:20 AM 1352 (0x0548) LocationServices Processing GroupPolicy site assignment.
3/27/2012 11:11:20 AM 1352 (0x0548) LocationServices Assigning to site 'HS1'
3/27/2012 11:11:20 AM 1352 (0x0548) LocationServices LSVerifySiteVersion : Verifying Site Version for <HS1>
3/27/2012 11:11:20 AM 1352 (0x0548) LocationServices LSGetSiteVersionFromAD : Failed to retrieve version for the site 'HS1' (0x80004005)


The Cause
The issue is the client had been previously installed using a Group Policy Object and had used a static sitecode of HS1 instead of AUTO. This caused the following entries to be written to the registry.

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\SMS\Mobile Client]
"GPRequestedSiteAssignmentCode"="HS1"
"GPSiteAssignmentRetryInterval(Min)"=dword:0000003c
"GPSiteAssignmentRetryDuration(Hour)"=dword:0000000c

Unfortunately whenever the client is uninstalled these entries are not removed and worse still they override future install values.

The Fix
Delete these three values and reinstall the client. If you have many to do you can write a script like this one and run it via login script or GPO.

'Written By: Timothy Henning
'Written On: 9/18/2011
'Delete SMS Site code in registry
Option Explicit
Dim RegPath
Set RegPath = WScript.CreateObject("WScript.Shell")
RegPath.RegDelete "HKLM\Software\Microsoft\SMS\Mobile Client\GPRequestedSiteAssignmentCode"
RegPath.RegDelete "HKLM\Software\Microsoft\SMS\Mobile Client\GPSiteAssignmentRetryInterval(Min)"
RegPath.RegDelete "HKLM\Software\Microsoft\SMS\Mobile Client\GPSiteAssignmentRetryDuration(Hour)"