Friday, 23 January 2015

SCCM Console Debug Options

 

For extending SCCM Console related Debug troubleshooting issues:

SCCM Console will be installed as 32 bit application in Installation, Even though SCCM is an X64 bit app.

Console installation folder,

"C:\Program Files (x86)\Microsoft Configuration Manager\AdminConsole\bin\Microsoft.ConfigurationManagement.exe"

By configuring sms:debugview will allow SCCM administrators to get more detailed view of ConfigMgr Console or the ConfigMgr Object Properties View. The object properties view shows more detailed information from SCCM database record for the object/s. to configure Debugview

"C:\Program Files (x86)\Microsoft Configuration Manager\AdminConsole\bin\Microsoft.ConfigurationManagement.exe" /sms:debugview

To start SCCM Console with resting to the defaults view, such as column width and column order. You can start by

"C:\Program Files (x86)\Microsoft Configuration Manager\AdminConsole\bin\Microsoft.ConfigurationManagement.exe" /sms:ResetSettings

What if you want to start SCCM Console in English even though os language is other than English?

Try below

"C:\Program Files (x86)\Microsoft Configuration Manager\AdminConsole\bin\Microsoft.ConfigurationManagement.exe" /sms:culture=<culture>

Refer here for more information on Culture code’s https://msdn.microsoft.com/en-us/library/system.globalization.cultureinfo.aspx

Instead of the last viewed node if you wanted to start console at Top Level View

"C:\Program Files (x86)\Microsoft Configuration Manager\AdminConsole\bin\Microsoft.ConfigurationManagement.exe" /sms:NoRestore

For more adebug options for SCCM Console

https://technet.microsoft.com/en-in/library/bb693533.aspx

SCCM 2012 Client side Application Deployment Log files


there are more logs on SCCM, However I like to look at below SCCM Logs for Application deployment status

 

Log File Name
AppDiscovery.log
AppEnforce.log
AppIntentEval.log
CAS.log
CIAgent.log
CIDownloader.log
CIStateStore.log
CIStore.log
CITaskMgr.log
DataTransferService.log
DCMAgent.log
DCMReporting.log
LocationServices.log
PolicyAgent.log

Task Sequence SMSTS.log file location

 

SCCM SMSTS.log file location

SMSTS.log file Location OS deployment Phase Will Client Installed
<largest fixed partition>\SMSTSLOG Windows PE /WinPE NO
%temp%\SMSTSLOGS OS Deployed NO
C:\windows\ccm\Logs Full operating system Deployed YES

SCCM WMIC Command line options

 

WMIC /node:%RemoteComputerName% /namespace:\\root\ccm path sms_client CALL TriggerSchedule "{00000000-0000-0000-0000-000000000002}" /NOINTERACTIVE

Below are the sccm / ConfigMgr Client side schedule’s , You can change below Id’s and trigger on remote computers, this would be helpful for sccm client end troubleshooting

 

Client side Schedule ID's and Schedule Name
{00000000-0000-0000-0000-000000000001} Hardware Inventory
{00000000-0000-0000-0000-000000000002} Software Inventory
{00000000-0000-0000-0000-000000000003} Discovery Inventory
{00000000-0000-0000-0000-000000000010} File Collection
{00000000-0000-0000-0000-000000000011} IDMIF Collection
{00000000-0000-0000-0000-000000000012} Client Machine Authentication
{00000000-0000-0000-0000-000000000021} Request Machine Assignments
{00000000-0000-0000-0000-000000000022} Evaluate Machine Policies
{00000000-0000-0000-0000-000000000023} Refresh Default MP Task
{00000000-0000-0000-0000-000000000024} LS (Location Service) Refresh Locations Task
{00000000-0000-0000-0000-000000000025} LS (Location Service) Timeout Refresh Task
{00000000-0000-0000-0000-000000000026} Policy Agent Request Assignment (User)
{00000000-0000-0000-0000-000000000027} Policy Agent Evaluate Assignment (User)
{00000000-0000-0000-0000-000000000031} Software Metering Generating Usage Report
{00000000-0000-0000-0000-000000000032} Source Update Message
{00000000-0000-0000-0000-000000000037} Clearing proxy settings cache
{00000000-0000-0000-0000-000000000040} Machine Policy Agent Cleanup
{00000000-0000-0000-0000-000000000041} User Policy Agent Cleanup
{00000000-0000-0000-0000-000000000042} Policy Agent Validate Machine Policy / Assignment
{00000000-0000-0000-0000-000000000043} Policy Agent Validate User Policy / Assignment
{00000000-0000-0000-0000-000000000051} Retrying/Refreshing certificates in AD on MP
{00000000-0000-0000-0000-000000000061} Peer DP Status reporting
{00000000-0000-0000-0000-000000000062} Peer DP Pending package check schedule
{00000000-0000-0000-0000-000000000063} SUM Updates install schedule
{00000000-0000-0000-0000-000000000071} NAP action
{00000000-0000-0000-0000-000000000101} Hardware Inventory Collection Cycle
{00000000-0000-0000-0000-000000000102} Software Inventory Collection Cycle
{00000000-0000-0000-0000-000000000103} Discovery Data Collection Cycle
{00000000-0000-0000-0000-000000000104} File Collection Cycle
{00000000-0000-0000-0000-000000000105} IDMIF Collection Cycle
{00000000-0000-0000-0000-000000000106} Software Metering Usage Report Cycle
{00000000-0000-0000-0000-000000000107} Windows Installer Source List Update Cycle
{00000000-0000-0000-0000-000000000108} Software Updates Assignments Evaluation Cycle
{00000000-0000-0000-0000-000000000109} Branch Distribution Point Maintenance Task
{00000000-0000-0000-0000-000000000110} DCM policy
{00000000-0000-0000-0000-000000000111} Send Unsent State Message
{00000000-0000-0000-0000-000000000112} State System policy cache cleanout
{00000000-0000-0000-0000-000000000113} Scan by Update Source
{00000000-0000-0000-0000-000000000114} Update Store Policy
{00000000-0000-0000-0000-000000000115} State system policy bulk send high
{00000000-0000-0000-0000-000000000116} State system policy bulk send low
{00000000-0000-0000-0000-000000000120} AMT Status Check Policy
{00000000-0000-0000-0000-000000000121} Application manager policy action
{00000000-0000-0000-0000-000000000122} Application manager user policy action
{00000000-0000-0000-0000-000000000123} Application manager global evaluation action
{00000000-0000-0000-0000-000000000131} Power management start summarizer
{00000000-0000-0000-0000-000000000221} Endpoint deployment reevaluate
{00000000-0000-0000-0000-000000000222} Endpoint AM policy reevaluate
{00000000-0000-0000-0000-000000000223} External event detection

Configuration Manager Client Deployment and Issues & Very Basic Check & Understanding


Client Push Installation Methods

There are various methods to deploy SCCM Clients. You can check below link for more details. http://technet.microsoft.com/en-us/library/bb633063.aspx

Whichever method is used for client push installation, the logic remains the same i.e. ccmsetup.exe is downloaded and executed on the client System.

It extracts manifest file (ccmsetup.xml) from ccmsetup.cab, reads it and fetches the remaining installation files from SCCM server. It uses ‘MobileClient.tcf’ to communicate with Management Point (MP) as the MP information is embedded into ‘MobileClient.tcf’ file.

A sample MobileClient.tcf file can be found at below Link ( My Drona Acharya & Guru Don Hite )

http://myitforum.com/cs2/blogs/dhite/archive/2008/05/11/inside-the-configmgr-2007-mobileclient-tcf-file.aspx

After client installation, it registers itself and sends Heartbeat to the SCCM server.

You can find this information in clientidmanagerstartup.log located in ccm\logs folder.

This is the first log you may have to check as soon as client is installed.

Below are few Client Push errors and solutions:

Problem:  “Unable to connect to wmi on remote machine "Machine name” error = 0x800706ba"

If firewall is enabled then we might not be able to do Client Push Installation. We might see below error in CCM.log:

“Unable to connect to wmi on remote machine "Machine name” error = 0x800706ba"

Steps to Check at first Level for a Solution:

It is recommended to enable the below firewall polices:

· Allow file and printer sharing exception.

· Allow remote administration exception.

Check this link for how to set a GPO for

http://www.experts-exchange.com/Security/Operating_Systems_Security/Q_25202208.html

CCM.log file have entries to Failed to connect to the \\computername\admin$ share

Client Push account or Site System Account might not have permissions to open remote computer admin dollar share, We should to ensure that at least one account is defined in the ‘Accounts’ tab of ‘Client Push Installation Properties. This account must be a member of the local Administrators group on Target SCCM Client Systems.

The logic is that this account needs to have local admin privileges on the target SCCM client machine so that it can connect to admin$ share (in Some Companies admin$ shares are disabled from GPO, you may request to enable them..But this is not the case in 99% Organisations) of the client machine and copy the files. We can see the below errors in CCM.log if there is any problem with this account or if the account is Empty.

---> Attempting to connect to administrative share '\\computername\admin$' using machine account.

---> Failed to connect to \\computername\admin$ using machine account (1203)

---> ERROR: Failed to connect to the \\computername\admin$ share using account 'Machine Account'

---> ERROR: Unable to access target machine for request: "computername", machine name: "computername", access denied or invalid network path.


check below screen have configured with Push account


ClintPush account

if the Client Push Account is configured we can see in the Ccm.log  as below.....

---> Attempting to connect to administrative share '\\ ClientMachineName \admin$' using account 'domain\username'            SMS_CLIENT_CONFIG_MANAGER

---> Connected to administrative share on machine ‘ClientMachineName’ using account 'domain\username'            SMS_CLIENT_CONFIG_MANAGER         

---> Mobile client on the target machine has the same version, and 'forced' flag is turned on.            SMS_CLIENT_CONFIG_MANAGER         

---> Creating \ VerifyingCopying exsistance of destination directory \\ ClientMachineName \admin$\system32\ccmsetup. 

---> Copying client files to \\ ClientMachineName \admin$\system32\ccmsetup.            SMS_CLIENT_CONFIG_MANAGER         

---> Copying file "D:\SCCM\bin\I386\MobileClient.tcf" to "\\ClientMachineName\admin$\system32\ccmsetup\MobileClient.tcf"           SMS_CLIENT_CONFIG_MANAGER          

---> Created service "ccmsetup" on machine “ClientMachineName ".         SMS_CLIENT_CONFIG_MANAGER                        25372 (0x631C)

---> Started service "ccmsetup" on machine “ClientMachineName ".      SMS_CLIENT_CONFIG_MANAGER                        25372 (0x631C)

Once we see  in the CCM.log that a service named ‘ccmsetup’ has been created and started on the target machine (Client), now check ‘ccmsetup.log ‘ on the client side (C:\Windows\System32\Ccmsetup\ccmsetup.log)

in SCCM Client system, we can see  Ccmsetup.log shows client is installed successfully.


============================

Installation succeeded.                      

Successfully deleted the ccmsetup service      

=============================

Once SCCM clinet is installed a new Service will be installed with a exe file called CCMEXEC.EXE

In Services.Msc console we can see a service name with SMS Agent Host.

The Next step...As above mentioned the next step to check is ClientIDManagerStartup.log

A Sample of ClientIDManagerStartup.log on a successful client installation and registered system

=========================

Reg Task: Client is registered, exiting.           ClientIDManagerStartup                    5624 (0x15F8)

Persisted hardware IDs in CCM_ClientIdentificationInformation=@:

HardwareID1=2:C88F11B7C7FF930FEEEF3396963B254FF28B8379

HardwareID2=42FCD8070196607D           ClientIDManagerStartup                    4348 (0x10FC)

Once, Client gets registered successfully, it sends the inventory report to MP.

If Errors in ClientIDManagerStartup.log / SCCM Client failed to register with SCCM Server:


We may see log entries....

ClientIDManagerStartup.log

==========================

<! [LOG [RegTask: Client is not registered. Sending registration request...] LOG]!><time="" date="" component="ClientIDManagerStartup" context="" type="1" thread="2700" file="regtask.cpp:1434">

<! [LOG [RegTask: Failed to send registration request message. Error: 0x80040231] LOG]!><time="" date “” component="ClientIDManagerStartup" context="" type="3" thread="2700" file="regtask.cpp:1139">

<! [LOG [RegTask: Failed to send registration request. Error: 0x80040231] LOG]!><time date=component="ClientIDManagerStartup" context="" type="3" thread="2700" file="regtask.cpp:1314">


Troubleshooting steps for this kind of issue's:


This can happens if the client is not in correct Boundaries or not assigned to a proper Site or MP  information is wrong or the Same boundaries are conflicting with other SCCM Sites.

Few More steps to troubleshoot :

Open MMC and add “Certificates” snap-in for the local machine on a client system. and point tot drill down to SMS > Certificates and delete both SMS certificates.

image

Also it is recommended to delete c:\windows\smscfg.ini file.

More about SMSCFG.ini file in a nutshell this file stores SMS Unique Identifier by deleting it, it will recreate a new one and makes easy to re-register with SCCM Server.

Note it is recommended when you delete Certificates from above steps, reinstall sccm client. If you have deleted just the SMSCFG.INI file then restart the SMS Agent Host service would start create a new file and register with SCCM Server.

If you have Boundaries overlaping or missing then should check Below log for the content and site servers that are available for the SCCM Client.

LocationServices.log

==================

Attempting to retrieve local MP from AD       LocationServices       

Current AD site of machine is Westminster     LocationServices       

Retrieved local Management Point from AD:           LocationServices       

Refreshing the Management Point List for site CO1   LocationServices       

Retrieved management point encryption info from AD.          LocationServices

Some times DNS Server IP's or Suffixes will be missed out to resolve from client system to SCCM server with FQDN that might cause the issues to get contacted to server.

Once the Client is registered it should communicate with MP and get download the required policy's if not we should check the MP Communication by trriggering the Hardware inventory, and running MP URL's to check the MP Functionalities.

in Inventory log 

InventoryAgent.log

==================

Inventory: Successfully sent report. Destination:mp:MP_HinvEndpoint, ID: {A85678-WWW-4AAA-YYYY-XXXXXXXXXXXXX}, Timeout: 80640 minutes MsgMode: Signed, Not Encrypted          InventoryAgent                        5300 (0x14B4)

for checking MP functionality

https://SCCMMPname/sms_mp/.sms_aut?mplist

https://SCCMMPname/sms_mp/.sms_aut?mpCert

If SCCM Client not receiving policy

Error in CAS.log:

CacheConfig::InitializeFromWmi - GetSWDistSiteSettings failed with 0x80004005. Default site settings will be used


A proposed troubleshooting step's for a Solution:

Error 0x80004005 is Access denied error and you may try to repair the WMI, once repaired reinstall the SCCM Client and check the status.

Steps....

1) Uninstall the SCCM Client.
To uninstall the client...

a) Find the ccmsetup.exe in the client, it is usually in the folder : %windir%\system32\ccmsetup

b) Open a cmd, and go to the ccmsetup folder.

c)  Type ccmsetup.exe /uninstall            

2)  Re-register all WMI modules with the following commands (can be executed as a batch file or individually from the command prompt):

          cd %windir%\system32\wbem

          for /f %s in ('dir /b *.mof *.mfl') do mofcomp %s

          for /f %%s in ('dir /b *.dll') do regsvr32 /s %%s

          wmiprvse /regserver

          winmgmt /regserver

5) ReStart WMI service and reinstall the SCCM Client.

SCCM Client in Provisioning Mode:

After OS deployment Phase completes, or Just Some Times Clients may not download policy after OSD Task Sequence completes or on a TS Failed systems we may see this kind of issues....

What is Provisioning Mode in SCCM Client ?

During Task Sequence (TS), the client goes into Provisioning Modewherein the client does not download any policies from MP, so that if there are any advertised programs or software updates or any tasks targeted to the sccm client and if they gets downloaded and try to run then it will conflict with the Task Sequence and will result to fail, Hence SCCM client will be in out of Provisioning Mode after the Task Sequence completes.

May be because of TS failed or TS hung situations or Power Failure situations or unexpected Reboot of client system during the TS execution... systems will be in Provisioning Mode.

To Check the Provisioning Mode, on a target system machine registry key to be checked for TRUR/False case:

On a 32bit Windows OS:

HKLM\SOFTWARE\Microsoft\CCM\CcmExec!ProvisioningMode

On a 64bit client Windows OS:a

HKLM\SOFTWARE\Wow6432Node\Microsoft\CCM\CcmExec!ProvisioningMode

Additionally, check the registry key:

32bit Windows OS:

HKLM\SOFTWARE\Microsoft\CCM\CcmExec!SystemTaskExclude

64bit Windows OS:

HKLM\SOFTWARE\Wow6432Node\Microsoft\CCM\CcmExec!SystemTaskExcludes

If reg key has the following value:

SchedulerStartup;SchedulerShutdown;SchedulerLogon;SchedulerLogoff;ClientRegistrationStartup

If any of above is true then the SCCM Client / ConfigMgr is stuck in provisioning mode.

Setting the first registry value to False and blanking out the second registry value will resolve the issue on that particular client.

SCCM Interview Questions


Few Interview Questions on SCCM that I can ask some one… :P….

How do you troubleshoot if SCCM is failing to start SCCM Console?
What servers OS you have worked? (2008 and 2003)
If there is a SCCM server Space issue? What kind of files you will remove to create free space?
Have you ever installed SCCM 2012? What are the pre-requirements for SCCM 2012 installations?
IN AD do we required to configure anything for SCCM installation? (Yes, Schema)
How to Manage Windows 2003 server from SCCM 2012 server?
What are the SCCM 2012 client installation Pre-requirements?
What are the SCCM 2007 and SCCM 2012 Difference?
How can you add software Updates to during OS deployment?
Can you explain SCCM Client flow for software updates?
How did you manage to Achieve the SLA’s of SCCM ?

Thursday, 10 October 2013

SCCM All Reports with SQL Queris

Select VR.ReportID, VR.Name,

VR.Category, VR.Comment,

VR.SQLQuery From v_Report VR

Join v_ReportParameter RP

on VR.ReportID = RP.ReportID