Ever wonder what the status icons mean in SCCM? Boy I sure did, so I looked them up. Here you go:
Status icons for software updates:
https://technet.microsoft.com/en-us/library/hh848254.aspx
Status icons for client states:
https://docs.microsoft.com/en-us/sccm/core/clients/manage/monitor-clients
Enjoy!
Showing posts with label SCCM. Show all posts
Showing posts with label SCCM. Show all posts
Monday, February 6, 2017
Monday, February 16, 2015
SCCM: Logs to check when troubleshooting application deployment issues
Whenever you run into client side issues with application deployment in SCCM check the exemgr.log file on the client and the log generated by the application you are installing. I've found starting there is the best way to uncover issues with my deployments.
Monday, May 19, 2014
SCCM WQL Query: Dealing with X86 and X64 Systems
This one actually comes by request in the comments section of a previous post. I haven't bothered to post on this subject because I was of the opinion that plenty of other blogs had already covered this scenario. However, you asked so I suppose it doesn't hurt to go over how I address OS Architecture in my WQL queries. As with my WQL queries for Windows 8-2012 I just create a series of basic core queries that I then just "tweak" to fit my needs. Here they are:
Basic "OS Architecture" Queries (returns All Systems for specified architecture):
OS Architecture Queries filtered by OS Type (Client/Server):
Note how we look for any systems that are NOT servers to get our list of clients.
OS Architecture Queries filtered by OS Version:
In the above code just specify desired OS Architecture for "SMS_G_System_COMPUTER_SYSTEM.SystemType" and substitute desired OS version for "SMS_G_System_OPERATING_SYSTEM.Caption". For example:
Hope you guys find this useful, and if anyone knows a better method feedback is always welcome.
Basic "OS Architecture" Queries (returns All Systems for specified architecture):
select distinct
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_G_System_COMPUTER_SYSTEM.SystemType = "x86-based PC"
select distinct
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_G_System_COMPUTER_SYSTEM.SystemType = "X64-based PC"
OS Architecture Queries filtered by OS Type (Client/Server):
Note how we look for any systems that are NOT servers to get our list of clients.
select distinct
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
inner join
SMS_G_System_OPERATING_SYSTEM on
SMS_G_System_OPERATING_SYSTEM.ResourceID = SMS_R_System.ResourceID
where
SMS_G_System_COMPUTER_SYSTEM.SystemType = "x86-based PC" and
SMS_G_System_OPERATING_SYSTEM.Caption not like "%Server%"
select distinct
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
inner join
SMS_G_System_OPERATING_SYSTEM on
SMS_G_System_OPERATING_SYSTEM.ResourceID = SMS_R_System.ResourceID
where
SMS_G_System_COMPUTER_SYSTEM.SystemType = "x64-based PC" and
SMS_G_System_OPERATING_SYSTEM.Caption like "%Server%"
OS Architecture Queries filtered by OS Version:
select distinct
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
inner join
SMS_G_System_OPERATING_SYSTEM on
SMS_G_System_OPERATING_SYSTEM.ResourceID = SMS_R_System.ResourceID
where
SMS_G_System_COMPUTER_SYSTEM.SystemType = "x86-based PC" and
SMS_G_System_OPERATING_SYSTEM.Caption like "%Windows 7%"
In the above code just specify desired OS Architecture for "SMS_G_System_COMPUTER_SYSTEM.SystemType" and substitute desired OS version for "SMS_G_System_OPERATING_SYSTEM.Caption". For example:
- Use "%2000%" for Windows 2000
- Use "%Windows XP%" for Windows XP
- Use "%Server 2003%" for Windows 2003
- Use "%Vista%" for Windows Vista
- Use "%Serverr 2008%" for Windows 2008 Non-R2 (No, the extra "r" is not a typo)
- Use "%Windows 7%" for Windows 7
- Use "%Server 2008 R2%" for Windows Server 2008 R2
- Use "%Windows 8%" for Windows 8
- Use "%Server 2012%" for Windows 2012
Hope you guys find this useful, and if anyone knows a better method feedback is always welcome.
Wednesday, March 19, 2014
SCCM: Another Log File Reference
Can't take credit for this one. I found it as a blog posting on MSDN by a guy named Liuxiang Chen. I've actually stated using my blog as a personal reference for things I find online that I want to remember so I've copied it here for everyone else to see as well. Chen's original post was dated April of 2009, and (as of this posting) it appears to have been 5 years since he published anything there. Hope this doesn't count as plagiarism but I didn't want to take the chance that this excellent post might get wiped out at some point because his blog is no longer being updated. Also (since its a 2009 posting) some of the info may be a little out of date. I plan to pick through it later and update it as needed (thereby making it my own). For how here is a copy of Chen's post as it originally appeared on MSDN:
The SCCM client logs are located at %WINDIR%\CCM\Logs.
The SCCM server log files are located in the <INSTALL_PATH>\Logs or SMS_CCM\Logs folder. IIS logs can be found in %WINDIR%\System32\logfiles\W3SVC1 folder.
The SCCM client logs are located at %WINDIR%\CCM\Logs.
The SCCM server log files are located in the <INSTALL_PATH>\Logs or SMS_CCM\Logs folder. IIS logs can be found in %WINDIR%\System32\logfiles\W3SVC1 folder.
Client Log Files
- CAS - Content Access Service. Maintains the local package cache.
- Ccmexec.log - Records activities of the client and the SMS Agent Host service.
- CertificateMaintenance.log - Maintains certificates for Active Directory directory service and management points.
- ClientIDManagerStartup.log - Creates and maintains the client GUID.
- ClientLocation.log - Site assignment tasks.
- ContentTransferManager.log - Schedules the Background Intelligent Transfer Service (BITS) or the Server Message Block (SMB) to download or to access SMS packages.
- DataTransferService.log - Records all BITS communication for policy or package access.
- Execmgr.log - Records advertisements that run.
- FileBITS.log - Records all SMB package access tasks.
- Fsinvprovider.log (renamed to FileSystemFile.log in all SMS 2003 Service Packs) - Windows Management Instrumentation (WMI) provider for software inventory and file collection.
- InventoryAgent.log - Creates discovery data records (DDRs) and hardware and software inventory records.
- LocationServices.log - Finds management points and distribution points.
- Mifprovider.log - The WMI provider for .MIF files.
- Mtrmgr.log - Monitors all software metering processes.
- PolicyAgent.log - Requests policies by using the Data Transfer service.
- PolicyAgentProvider.log - Records policy changes.
- PolicyEvaluator.log - Records new policy settings.
- Remctrl.log - Logs when the remote control component (WUSER32) starts.
- Scheduler.log - Records schedule tasks for all client operations.
- Smscliui.log - Records usage of the Systems Management tool in Control Panel.
- StatusAgent.log - Logs status messages that are created by the client components.
- SWMTRReportGen.log - Generates a usage data report that is collected by the metering agent. (This data is logged in Mtrmgr.log.)
Server Log Files
- Ccm.log - Client Configuration Manager tasks.
- Cidm.log - Records changes to the client settings by the Client Install Data Manager (CIDM).
- Colleval.log - Logs when collections are created, changed, and deleted by the Collection Evaluator.
- Compsumm.log - Records Component Status Summarizer tasks.
- Cscnfsvc.log - Records Courier Sender confirmation service tasks.
- Dataldr.log - Processes Management Information Format (MIF) files and hardware inventory in the Configuration Manager 2007 database.
- Ddm.log - Saves DDR information to the Configuration Manager 2007 database by the Discovery Data Manager.
- Despool.log - Records incoming site-to-site communication transfers.
- Distmgr.log - Records package creation, compression, delta replication, and information updates.
- Hman.log - Records site configuration changes, and publishes site information in Active Directory Domain Services.
- Inboxast.log - Records files that are moved from the management point to the corresponding SMS\INBOXES folder.
- Inboxmgr.log - Records file maintenance.
- Invproc.log - Records the processing of delta MIF files for the Dataloader component from client inventory files.
- Mpcontrol.log - Records the registration of the management point with WINS. Records the availability of the management point every 10 minutes.
- Mpfdm.log - Management point component that moves client files to the corresponding SMS\INBOXES folder.
- MPMSI.log - Management point .msi installation log.
- MPSetup.log - Records the management point installation wrapper process.
- Ntsvrdis.log - Configuration Manager 2007 server discovery.
- Offermgr.log - Records advertisement updates.
- Offersum.log - Records summarization of advertisement status messages.
- Policypv.log - Records updates to the client policies to reflect changes to client settings or advertisements.
- Replmgr.log - Records the replication of files between the site server components and the Scheduler component.
- Rsetup.log - Reporting point setup log.
- Sched.log - Records site-to-site job and package replication.
- Sender.log - Records files that are sent to other child and parent sites.
- Sinvproc.log - Records client software inventory data processing to the site database in Microsoft SQL Server.
- Sitecomp.log - Records maintenance of the installed site components.
- Sitectrl.log - Records site setting changes to the Sitectrl.ct0 file.
- Sitestat.log - Records the monitoring process of all site systems.
- Smsdbmon.log - Records database changes.
- Smsexec.log - Records processing of all site server component threads.
- Smsprov.log - Records WMI provider access to the site database.
- SMSReportingInstall.log - Records the Reporting Point installation. This component starts the installation tasks and processes configuration changes.
- SMSSHVSetup.log - Records the success or failure (with failure reason) of installing the System Health Validator point.
- Srvacct.log - Records the maintenance of accounts when the site uses standard security.
- Statmgr.log - Writes all status messages to the database.
- Swmproc.log - Processes metering files and maintains settings.
Admin Console Log Files
- RepairWizard.log - Records errors, warnings, and information about the process of running the Repair Wizard.
- ResourceExplorer.log - Records errors, warnings, and information about running the Resource Explorer.
- SMSAdminUI.log - Records the local Configuration Manager 2007 console tasks when you connect to Configuration Manager 2007 sites.
Management Point Log Files
- 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.
Mobile Device Management Log Files
- DmClientHealth.log - Records the GUIDs of all the mobile device clients that are communicating with the Device Management Point.
- DmClientRegistration.log - Records registration requests from and responses to the mobile device client in Native mode.
- DmpDatastore.log - Records all the site database connections and queries made by the Device Management Point.
- DmpDiscovery.log - Records all the discovery data from the mobile device clients on the Device Management Point.
- DmpFileCollection.log - Records mobile device file collection data from mobile device clients on the Device Management Point.
- DmpHardware.log - Records hardware inventory data from mobile device clients on the Device Management Point.
- DmpIsapi.log - Records mobile device communication data from device clients on the Device Management Point.
- dmpMSI.log - Records the MSI data for Device Management Point setup.
- DMPSetup.log - Records the mobile device management setup process.
- DmpSoftware.log - Records mobile device software distribution data from mobile device clients on the Device Management Point.
- DmpStatus.log - Records mobile device status messages data from mobile device clients on the Device Management Point.
- FspIsapi.log - Records Fallback Status Point communication data from mobile device clients and client computers on the Fallback Status Point.
Mobile Device Client Log Files
- DmCertEnroll.log - Records certificate enrollment data on mobile device clients.
- DMCertResp.htm (in \temp) - Records HTML response from the certificate server when the mobile device Enroller program requests a client authentication certificate on mobile device clients.
- DmClientSetup.log - Records client setup data on mobile device clients.
- DmClientXfer.log - Records client transfer data for Windows Mobile Device Center and ActiveSync deployments.
- DmCommonInstaller.log - Records client transfer file installation for setting up mobile device client transfer files on client computers.
- DmInstaller.log - Records whether DMInstaller correctly calls DmClientSetup and whether DmClientSetup exits with success or failure on mobile device clients.
- DmInvExtension.log - Records Inventory Extension file installation for setting up Inventory Extension files on client computers.
- DmSvc.log - Records mobile device management service data on mobile device clients.
Operating System Deployment Log Files
- CCMSetup.log - Provides information about client-based operating system actions.
- CreateTSMedia.log - Provides information about task sequence media when it is created. This log is generated on the computer running the Configuration Manager 2007 administrator console.
- DriverCatalog.log - Provides information about device drivers that have been imported into the driver catalog.
- MP_ClientIDManager.log - Provides information about the Configuration Manager 2007 management point when it responds to Configuration Manager 2007 client ID requests from boot media or PXE. This log is generated on the Configuration Manager 2007 management point.
- MP_DriverManager.log - Provides information about the Configuration Manager 2007 management point when it responds to a request from the Auto Apply Driver task sequence action. This log is generated on the Configuration Manager 2007 management point.
- MP_Location.log - Provides information about the Configuration Manager 2007 management point when it responds to request state store or release state store requests from the state migration point. This log is generated on the Configuration Manager 2007 management point.
- Pxecontrol.log - Provides information about the PXE Control Manager.
- PXEMsi.log - Provides information about the PXE service point and is generated when the PXE service point site server has been created.
- PXESetup.log - Provides information about the PXE service point and is generated when the PXE service point site server has been created.
- Setupact.log Setupapi.log Setuperr.log Provide information about Windows Sysprep and setup logs.
- SmpIsapi.log - Provides information about the state migration point Configuration Manager 2007 client request responses.
- Smpmgr.log - Provides information about the results of state migration point health checks and configuration changes.
- SmpMSI.log - Provides information about the state migration point and is generated when the state migration point site server has been created.
- Smsprov.log - Provides information about the SMS provider.
- Smspxe.log - Provides information about the Configuration Manager 2007 PXE service point.
- SMSSMPSetup.log - Provides information about the state migration point and is generated when the state migration point site server has been created.
- Smsts.log - General location for all operating system deployment and task sequence log events.
- TaskSequenceProvider.log - Provides information about task sequences when they are imported, exported, or edited.
- USMT Log loadstate.log - Provides information about the User State Migration Tool (USMT) regarding the restore of user state data.
- USMT Log scanstate.log - Provides information about the USMT regarding the capture of user state data.
Network Access Protection Log Files
- Ccmcca.log - Logs the processing of compliance evaluation based on Configuration Manager NAP policy processing and contains the processing of remediation for each software update required for compliance.
- CIAgent.log - Tracks the process of remediation and compliance. However, the software updates log file, *Updateshandler.log - provides more informative details on installing the software updates required for compliance.
- locationservices.log - Used by other Configuration Manager features (for example, information about the client’s assigned site) but also contains information specific to Network Access Protection when the client is in remediation. It records the names of the required remediation servers (management point, software update point, and distribution points that host content required for compliance), which are also sent in the client statement of health.
- SDMAgent.log - Shared with the Configuration Manager feature desired configuration management and contains the tracking process of remediation and compliance. However, the software updates log file, Updateshandler.log, provides more informative details about installing the software updates required for compliance.
- SMSSha.log - The main log file for the Configuration Manager Network Access Protection client and contains a merged statement of health information from the two Configuration Manager components: location services (LS) and the configuration compliance agent (CCA). This log file also contains information about the interactions between the Configuration Manager System Health Agent and the operating system NAP agent, and also between the Configuration Manager System Health Agent and both the configuration compliance agent and the location services. It provides information about whether the NAP agent successfully initialized, the statement of health data, and the statement of health response.
System Health Validator Point Log Files
- Ccmperf.log -Contains information about the initialization of the System Health Validator point performance counters.
- SmsSHV.log - The main log file for the System Health Validator point; logs the basic operations of the System Health Validator service, such as the initialization progress.
- SmsSHVADCacheClient.log - Contains information about retrieving Configuration Manager health state references from Active Directory Domain Services.
- SmsSHVCacheStore.log - Contains information about the cache store used to hold the Configuration Manager NAP health state references retrieved from Active Directory Domain Services, such as reading from the store and purging entries from the local cache store file. The cache store is not configurable.
- SmsSHVRegistrySettings.log - Records any dynamic changes to the System Health Validator component configuration while the service is running.
- SmsSHVQuarValidator.log - Records client statement of health information and processing operations. To obtain full information, change the registry key LogLevel from 1 to 0 in the following location:HKLM\SOFTWARE\Microsoft\SMSSHV\Logging\@GLOBAL
Desired Configuration Management Log Files
- ciagent.log - Provides information about downloading, storing, and accessing assigned configuration baselines.
- dcmagent.log - Provides high-level information about the evaluation of assigned configuration baselines and desired configuration management processes.
- discovery.log - Provides detailed information about the Service Modeling Language (SML) processes.
- sdmagent.log - Provides information about downloading, storing, and accessing configuration item content.
- sdmdiscagent.log - Provides high-level information about the evaluation process for the objects and settings configured in the referenced configuration items.
Wake On LAN Log Files
- Wolmgr.log - Contains information about wake-up procedures such as when to wake up advertisements or deployments that are configured for Wake On LAN.
- WolCmgr.log - Contains information about which clients need to be sent wake-up packets, the number of wake-up packets sent, and the number of wake-up packets retried.
Software Updates Site Server Log Files
- ciamgr.log - Provides information about the addition, deletion, and modification of software update configuration items.
- distmgr.log - Provides information about the replication of software update deployment packages.
- objreplmgr.log - Provides information about the replication of software updates notification files from a parent to child sites.
- PatchDownloader.log - Provides information about the process for downloading software updates from the update source specified in the software updates metadata to the download destination on the site server.
- replmgr.log - Provides information about the process for replicating files between sites.
- smsdbmon.log - Provides information about when software update configuration items are inserted, updated, or deleted from the site server database and creates notification files for software updates components.
- SUPSetup - Provides information about the software update point installation. When the software update point installation completes, Installation was successful is written to this log file.
- WCM.log - Provides information about the software update point configuration and connecting to the Windows Server Update Services (WSUS) server for subscribed update categories, classifications, and languages.
- WSUSCtrl.log - Provides information about the configuration, database connectivity, and health of the WSUS server for the site.
- wsyncmgr.log -Provides information about the software updates synchronization process.
WSUS Server Log Files
- Change.log - Provides information about the WSUS server database information that has changed.
- SoftwareDistribution.log - Provides information about the software updates that are synchronized from the configured update source to the WSUS server database.
Software Updates Client Computer Log Files
- CAS.log - Provides information about the process of downloading software updates to the local cache and cache management.
- CIAgent.log - Provides information about processing configuration items, including software updates.
- LocationServices.log - Provides information about the location of the WSUS server when a scan is initiated on the client.
- PatchDownloader.log - Provides information about the process for downloading software updates from the update source to the download destination on the site server. This log is only on the client computer configured as the synchronization host for the Inventory Tool for Microsoft Updates.
- PolicyAgent.log - Provides information about the process for downloading, compiling, and deleting policies on client computers.
- PolicyEvaluator - Provides information about the process for evaluating policies on client computers, including policies from software updates.
- RebootCoordinator.log - Provides information about the process for coordinating system restarts on client computers after software update installations.
- ScanAgent.log - Provides information about the scan requests for software updates, what tool is requested for the scan, the WSUS location, and so on.
- ScanWrapper - Provides information about the prerequisite checks and the scan process initialization for the Inventory Tool for Microsoft Updates on Systems Management Server (SMS) 2003 clients.
- SdmAgent.log - Provides information about the process for verifying and decompressing packages that contain configuration item information for software updates.
- ServiceWindowManager.log - Provides information about the process for evaluating configured maintenance windows.
- smscliUI.log - Provides information about the Configuration Manager Control Panel user interactions, such as initiating a Software Updates Scan Cycle from the Configuration Manager Properties dialog box, opening the Program Download Monitor, and so on.
- SmsWusHandler - Provides information about the scan process for the Inventory Tool for Microsoft Updates on SMS 2003 client computers.
- StateMessage.log - Provides information about when software updates state messages are created and sent to the management point.
- UpdatesDeployment.log - Provides information about the deployment on the client, including software update activation, evaluation, and enforcement. Verbose logging shows additional information about the interaction with the client user interface.
- UpdatesHandler.log - Provides information about software update compliance scanning and about the download and installation of software updates on the client.
- UpdatesStore.log - Provides information about the compliance status for the software updates that were assessed during the compliance scan cycle.
- WUAHandler.log - Provides information about when the Windows Update Agent on the client searches for software updates.
- WUSSyncXML.log - Provides information about the Inventory Tool for the Microsoft Updates synchronization process. This log is only on the client computer configured as the synchronization host for the Inventory Tool for Microsoft Updates.
Windows Update Agent Log File
- WindowsUpdate.log - Provides information about when the Windows Update Agent connects to the WSUS server and retrieves the software updates for compliance assessment and whether there are updates to the agent components.
SCCM: Microsoft Anti-Virus Exclusion List Link
Came across this fantastic link that Microsoft appears to update on a fairly regular basis. Its just a list of links to recommended Endpoint Protection exclusion settings for Microsoft products. Definitely worth bookmarking if you are using the Endpoint Protection feature in SCCM:
http://social.technet.microsoft.com/wiki/contents/articles/953.microsoft-anti-virus-exclusion-list.aspx
http://social.technet.microsoft.com/wiki/contents/articles/953.microsoft-anti-virus-exclusion-list.aspx
Thursday, January 30, 2014
SCCM: Viewing install commands for deployed applications on a client machine
Recently I was really wrestling with getting a set of install commands working for an application I was deploying through SCCM. Because I was using some variables in my command string I needed to "see" what SCCM was ultimately telling the client to run once the application downloaded and the install kicked off. I was able to determine this by logging onto one of my tests clients and navigating to this log:
C:\Windows\CCM\Logs\AppEnforce.log
Sure enough the final command string that was getting executed was not what I expected. I made some adjustments to my install string based on what i saw in the log and got it working. Hope someone else finds this useful.
C:\Windows\CCM\Logs\AppEnforce.log
Sure enough the final command string that was getting executed was not what I expected. I made some adjustments to my install string based on what i saw in the log and got it working. Hope someone else finds this useful.
Friday, January 17, 2014
SCCM Updates: Go for "Autopilot" not "Total Automation"
I've been getting lot of questions on a previous post regarding my approach to software update structure with SCCM. I replied to a few and this generated even more questions so I felt the need to do a more lengthy response about why I do things the way I do them and what led to my approach and that led to this post. I'll start by answering the last question posted there. Yes, I clean
up superseded and expired updates by hand (for now at least) and there are
a few very good reasons why I do it that way. When I was first attempting to
implement software updates with SCCM I feel that my big initial mistake was to
chase after a strategy that focused on "total automation". During my that first approach I literally created an ADR and package for every individual
product that I wanted to patch. The ADRs ran monthly and cleaned out the expired
and superseded stuff automatically. Sounds great right? In practice what I
actually discovered was this approach works great for something simple like a
daily Endpoint Protection update (because in that scenario you really only have
to consider about 3-4 small patches a day tops). You try to do that with all
the security, critical, service pack, etc. updates for multiple Windows
versions going back to say 2003 and you run into several problems.
First you have a *lot* more patches to deal with in your
software update group(s). Every time your SCCM clients kick off a software
update evaluation cycle they have to look through all those updates and
determine if any apply to the device upon which they are running. At a
Microsoft conference last year I learned that this can cause high CPU
utilization on your target machines. Still that’s not too bad because it only
has to run once against the software update group provided the update group doe
not change after that initial run. Ah but there’s the rub, I also learned that
every time the ADR runs it automatically changes the content in your software
update group! Do that every Patch Tuesday and your clients have to once again
parse or scan that update group which (again) can hit your CPUs pretty hard. To
put it in perspective, think about how many times we hear users complain about
"slow computers" in our line of work. You don’t want to introduce
something hat will hammer CPU utilization on your Servers or User PC multiple
times a month.
Second by having a bunch of ADRs (I had a total of 12) that
were constantly changing and updating the content in my software update groups
I discovered I was putting a lot of load on my primary SCCM server in the weeks
following patch Tuesday. The reason there should be obvious as it was
constantly downloading patches and cleaning up software update groups based on
those ADRs. So by chasing total automation I was (in fact) causing lot of
performance issues on both my clients and my servers. Also it really made no
sense to have ADRs that constantly ran against groups with updates that go way
back in the past (they almost never change unless Microsoft expires or
supersedes them). I came to realize that year-based static update groups with a
single monthly ADR were the best choice for dealing with the performance and
organizational issues I was facing. The reason being is I typically only have
to change the older groups once a quarter (sometimes longer). So (usually) I only have to worry about the
updates in my most recent year-based group or my monthly groups (I usually keep
monthly groups up to three months in the past before moving the updates from
the oldest group into a year-based group).
Finally I learned another valuable lesson about the ADRs. No
matter how well you craft your download rules they will inevitably screw
something up. Either they will download something you don't want or remove
something you want to keep. Its much better to have your monthly ADRs
downloading updates into a test group and then (once you've verified what it
downloaded) you can then move the contents of that test group into your static
update group that targets production machines. Coincidentally this solves the
"Expired and Superseded" issue through attrition as it forces you to
do a "monthly visual audit" on your update groups when you open the
console up after patch Tuesday to see what your ADR downloaded. If your static
groups contain superseded or expired updates you'll see that the icon next to
their names has changed to reflect that. At that point its child's play to just
open the group and remove the older updates by editing their membership.
So that’s a pretty big reply to the questions I was being asked and (honestly)
a lot of it is just what I’ve discovered through using SCCM 2012 in the past
year. There may be a better way to do it, but this one works for me. I really
struggled a lot with this at first and I hope I'm posting this big response in an effort to help others avoid some of my own pain. SCCM is a really complicated animal and I just think its a bad idea to go into it "set it and forget it approach". If it were really that easy we wouldn't need SCCM admins right? The main point I’d like to get across though is sometimes a 100%
automated solution just doesn't make sense. SCCM can automate a lot of
things for you but even with the advent of the autopilot feature on an airplane we still need pilots at
the helm. Focus on design paradigms that automate the most time consuming, tedious or repetitive steps. Then if you find yourself still stuck with a
manual step, try to make it something you can do very quickly (like at the
touch of a button). I hope that makes sense and that others find it helpful. If there are any counterpoints to this philosophy or if anyone just has better ways of approaching this I'd love to hear about it in the comments section.
UPDATE: Someone requested a screenshot of my SUGs. I've added it below. Like I said we roll about 2-3 months in the past on our monthly deltas and once we achieve around 90% I move those to a year-based group. I've highlighted the delta and year-based groups in the screenshot. The other groups listed there are "special case" groups:
UPDATE: Someone requested a screenshot of my SUGs. I've added it below. Like I said we roll about 2-3 months in the past on our monthly deltas and once we achieve around 90% I move those to a year-based group. I've highlighted the delta and year-based groups in the screenshot. The other groups listed there are "special case" groups:
Wednesday, October 9, 2013
SCCM: Software Updates Example Scenario from Microsoft
I've almost finished reworking our software updates around the paradigms discussed in the last tow posts. I was thinking about putting together a nice write up explaining how I did it when I came across this fantastic Microsoft article on the subject:
http://technet.microsoft.com/en-us/library/jj134348.aspx
I love how its all laid out almost like an elementary school math problem. One of my biggest failures in my initial approach to software updates with SCCM was the pursuit of a process that was 100% automated. Going the route outlined by Microsoft in the article above still requires you to be at the helm at least once a month to deploy the updates in your ADR. Turns out this is actually a good thing as it forces you to really examine what you're deploying every month. Plus you can use deployment templates to "semi-automate" the process f manual deployment which manages to eliminate a lot of the human error potential of that method. Maybe SCCM 2012 R2 will ease this burden a bit for further automation but (for now) this works.
http://technet.microsoft.com/en-us/library/jj134348.aspx
I love how its all laid out almost like an elementary school math problem. One of my biggest failures in my initial approach to software updates with SCCM was the pursuit of a process that was 100% automated. Going the route outlined by Microsoft in the article above still requires you to be at the helm at least once a month to deploy the updates in your ADR. Turns out this is actually a good thing as it forces you to really examine what you're deploying every month. Plus you can use deployment templates to "semi-automate" the process f manual deployment which manages to eliminate a lot of the human error potential of that method. Maybe SCCM 2012 R2 will ease this burden a bit for further automation but (for now) this works.
Thursday, August 22, 2013
Video: SCCM 2012 SP1 Software Updates explained
After my post two days ago about structuring software updates in SCCM I thought I should share another item I came across recently regarding the subject. There is a fantastic video on TechNet by Kenny Buntinx that can show you the best way to structure your updates in SCCM 2012 SP1. Along the way he provides a lot of additional tips that are all really useful. This video was instrumental in helping me "unlearn" a lot of what I *thought* was the right approach to software updates in SCCM 2012 (based on the books I bought and the online guides I found). Check it out:
SCCM 201 SP1 Software Updates Explained
SCCM 201 SP1 Software Updates Explained
Tuesday, August 20, 2013
SCCM: Logs to check when troubleshooting software updates.
According to my page view rankings the "SCCM 2012 Log File reference" post that I did back in May of 2012 continues to be the most popular post on my blog. I suppose that means another log file related post might be in order and as luck would have it I have just the thing. I've been working pretty hard the last couple of weeks to make some rather sweeping changes to the SCCM-based software updates process at my company. During the course of testing and developing these changes I found myself constantly having to reference two specific sets of log files. One set was on the Server side and the other was on the Client side set. I thought it might be really valuable to list them here for posterity. If you are doing anything with SCCM software updates these are the logs you need to be keeping an eye on:
Server Side Software Update Logs:
SUPsetup.log - Installation of SUP Site Role.
WCM.log, WSUSCtrl.log - Configuration of WSUS Server/SUP.
WSyncMgr.log - SMS/WSUS Updates Synchronization Issues.
Objreplmgr.log - Policy Issues for Update Assignments/CI Version Info policies.
RuleEngine.log - Auto Deployment Rules.
Client Side Software Update Logs:
UpdatesDeployment.log - Deployments, SDK, UX.
UpdatesHandler.log - Updates, Download.
ScanAgent.log - Online/Offline scans, WSUS location requests.
WUAHandler.log - Update status (missing/installed - verbose logging), WU interaction.
UpdatesStore.log - Update status (missing/installed).
%windir%\WindowsUpdate.log - Scanning/Installation of updates.
Hope somebody finds this useful!
Monday, July 22, 2013
SQL Query to report SCCM client version and install status
Put this together to generate a list of our SCCM clients and report on their install version and status:
select distinct
SYS.Name0 as 'Machine Name',
SYS.User_Name0 as 'Login ID',
SYS.User_Domain0 as 'Domain',
USR.Full_User_Name0 as 'Full Name',
case
when SYS.Client0 = 1 then 'Yes'
when SYS.Client0 = 0 then 'No'
else convert(varchar(2), SYS.Client0)
end as 'Client Installed',
SYS.Client_Version0 as 'Client Version'
from
v_R_System SYS
join v_FullCollectionMembership FCM on SYS.ResourceID = FCM.ResourceID
join v_Collection CN on FCM.CollectionID = CN.CollectionID
join v_R_User USR on SYS.User_Name0 = USR.User_Name0
where
CN.Name = 'All Systems'
Tuesday, July 16, 2013
WQL: SCCM client version and SCCM 2012 console
I had to put these two queries together to help me upgrade my client machines after the SP1 update. Here's one to help you with determining your client versions:
You can use this query to create multiple collections, just edit it to fit your needs (ie change the version number or substitute the desired operators "<, =, or >" to fit your needs).
Here's another for systems with the SCCM 2012 console installed (that required an update as well):
Hope they are useful to someone!
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
where
SMS_R_System.ClientVersion < "5.00.7804.1000"
You can use this query to create multiple collections, just edit it to fit your needs (ie change the version number or substitute the desired operators "<, =, or >" to fit your needs).
Here's another for systems with the SCCM 2012 console installed (that required an update as well):
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_ADD_REMOVE_PROGRAMS on SMS_G_System_ADD_REMOVE_PROGRAMS.ResourceId = SMS_R_System.ResourceId
where
SMS_G_System_ADD_REMOVE_PROGRAMS.DisplayName like "%System Center 2012 Configuration Manager Console%"
Hope they are useful to someone!
Using PowerShell to build a GPO-based WMI filter for the SCCM Client install
We recently upgraded our SCCM 2012 server to SP1. I am now in the process of upgrading all the SCCM clients to the latest version (5.00.7804.1000). I use Group Policy to push the client and I wanted to add a WMI filter to the policy to filter out any systems that already have the correct client version. To do that I needed to know where to look for the client version in WMI on a local machine. PowerShell came to my rescue with this command:
Here's a screenshot of the output I got from an up-to-date computer (note the version number):
Using that I was able to construct the following query for my WMI filter:
I applied the filter to our SCCM client install policy and now it only runs on machines running client versions older than the one specified. Nice!
BONUS TIP:
There are several ways to do the GPO-based install, I chose to go with running ccmsetup.exe as a startup script in Group Policy Management at the following location:
"Computer Configuration -> Policies -> Windows Settings -> Scripts (Startup/Shutdown)"
I set it up to run the following install string:
Get-WmiObject -namespace root\ccm -class sms_client
Here's a screenshot of the output I got from an up-to-date computer (note the version number):
Using that I was able to construct the following query for my WMI filter:
select * from SMS_Client where ClientVersion < "5.00.7804.1000"
I applied the filter to our SCCM client install policy and now it only runs on machines running client versions older than the one specified. Nice!
BONUS TIP:
There are several ways to do the GPO-based install, I chose to go with running ccmsetup.exe as a startup script in Group Policy Management at the following location:
"Computer Configuration -> Policies -> Windows Settings -> Scripts (Startup/Shutdown)"
I set it up to run the following install string:
ccmsetup.exe /MP:<MySCCMServerName> SMSSITECODE=AUTO
Thursday, July 11, 2013
SCCM WQL Query: Windows 8 and Server 2012 Systems
This weekend we'll be upgrading our SCCM 2012 server to SCCM 2012 SP1. In addition to a number of new features this update also adds support for Windows 8 and Server 2012 systems. To support these new OSes I've created new WQL queries to build collections for these operating systems. While I was doing that I took the opportunity to just clean up all my OS version collection queries. I came up with a system that (I feel) works for just about any OS version-specific deployment scenario you might face. It involves the use of 3 core queries that you just "tweak" to fit your needs. Here they are:
Basic "OS Type" Query (substitute "%Server%" for "%Workstation% for Server OSes):
OS version "LIKE" query (Further refines the above query by OS version):
OS version "NOT LIKE" query (Returns the opposite of the above query):
To to use these queries to create a collection for any OS version you need simply substitute the desired OS version number in the above code. For example:
Using these three core queries I put together a fantastic set of OS Type and Version collections that (so far) have suited practically all my OS-specific deployment needs:
Basic "OS Type" Query (substitute "%Server%" for "%Workstation% for Server OSes):
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
where
SMS_R_System.OperatingSystemNameandVersion like "%Workstation%"
OS version "LIKE" query (Further refines the above query by OS version):
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
where
SMS_R_System.OperatingSystemNameandVersion like "%Server%"
and SMS_R_System.OperatingSystemNameandVersion like "%6.2%"
OS version "NOT LIKE" query (Returns the opposite of the above query):
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
where
SMS_R_System.OperatingSystemNameandVersion like "%Server%"
and SMS_R_System.OperatingSystemNameandVersion not like "%6.2%"
To to use these queries to create a collection for any OS version you need simply substitute the desired OS version number in the above code. For example:
- Use "%5.0%" for Windows 2000
- Use "%5.1%" for Windows XP
- Use "%5.2%" for Windows 2003
- Use "%6.0%" for Windows Vista-2008 Non-R2
- Use "%6.1%" for Windows 7-2008 R2
- Use "%6.2%" for Windows 8-2012
Using these three core queries I put together a fantastic set of OS Type and Version collections that (so far) have suited practically all my OS-specific deployment needs:
Wednesday, July 10, 2013
SCCM SQL Query: Multiple program versions in Add/Remove (with Publisher and full Username)
Management needed me to put together a SQL report for multiple versions of the same application. This particular case proved tricky because the logic involved including an "or" for the application versions and an "and" for the publisher in the "where" section. This query did the trick for me:
Hope you find it useful.
select distinct
SYS.Name0 as 'Machine Name',
SYS.User_Name0 as 'Login ID',
SYS.User_Domain0 as 'Domain',
USR.Full_User_Name0 as 'Full Name',
ARP.DisplayName0 as 'Product Name',
ARP.Publisher0 as 'Publisher',
ARP.Version0 as 'Version'
from
v_R_System SYS
join v_FullCollectionMembership FCM on SYS.ResourceID = FCM.ResourceID
join v_Collection COL on FCM.CollectionID = COL.CollectionID
join v_R_User USR on SYS.User_Name0 = USR.User_Name0
join v_Add_Remove_Programs ARP on SYS.ResourceID = ARP.ResourceID
where
COL.Name = 'All Systems'
and ARP.Publisher0 = 'Solidworks Corporation'
and (
ARP.DisplayName0 like 'SolidWorks 2010%'
or ARP.DisplayName0 like 'SolidWorks 2011%'
or ARP.DisplayName0 like 'SolidWorks 2012%'
)
Hope you find it useful.
Monday, May 7, 2012
SCCM 2012: Log File Reference
I grabbed this from Microsofts's site, made a a text file out of it and put it on my desktop for reference. Its proven pretty handy to have so I thought I'd post it here:
-----------------------------
SCCM 2012 Log file Reference:
-----------------------------
adctrl.log - Records enrollment processing activity.
ADForestDisc.log - Records Active Directory Forest Discovery actions.
ADService.log - Records account creation and security group details in Active Directory.
adsgdis.log - Records Active Directory Security Group Discovery actions.
adsysdis.log - Records Active Directory System Discovery actions.
adusrdis.log - Records Active Directory User Discovery actions.
ccm.log - Records client push installation activities.
CertMgr.log - Records the certificate activities for intra-site communications.
chmgr.log - Records activities of the client health manager.
Cidm.log - Records changes to the client settings by the Client Install Data Manager (CIDM).
colleval.log - Records details about when collections are created, changed, and deleted by the Collection Evaluator.
compmon.log - Records the status of component threads monitored for the site server.
compsumm.log - Records Component Status Summarizer tasks.
ComRegSetup.log - Records the initial installation of COM registration results for a site server.
ConfigMgrPrereq.log - Records pre-requisite component evaluation and installation activities.
dataldr.log - Records information about the processing of Management Information Format (MIF) files and hardware inventory in the Configuration Manager database.
ddm.log - Records activities of the discovery data manager.
despool.log - Records incoming site-to-site communication transfers.
distmgr.log - Records details about package creation, compression, delta replication, and information updates.
EPCtrlMgr.log - Records information about the synchronization of malware threat information from the Endpoint Protection site system role server into the Configuration Manager database.
EPMgr.log - Records the status of the Endpoint Protection site system role.
EPSetup.log - Provides information about the installation of the Endpoint Protection site system role.
EnrollSrv.log - Records activities of the Enrollment service process.
EnrollWeb.log - Records activities of the enrollment website process.
fspmgr.log - Records activities of the fallback status point site system role.
hman.log - Records information about site configuration changes, and the publishing of site information in Active Directory Domain Services.
Inboxast.log - Records the files that are moved from the management point to the corresponding INBOXES folder on the site server.
inboxmgr.log - Records file transfer activities between inbox folders.
inboxmon.log - Records the processing of inbox files and performance counter updates.
invproc.log - Records the forwarding of MIF files from a secondary site to its parent site.
migmctrl.log - Records information for Migration actions involving migration jobs, shared distribution points, and distribution point upgrades.
mpcontrol.log - Records the registration of the management point with WINS. Records the availability of the management point every 10 minutes.
mpfdm.log - Records the actions of the management point component that moves client files to the corresponding INBOXES folder on the site server.
mpMSI.log - Records details of about the management point installation.
MPSetup.log - Records the management point installation wrapper process.
netdisc.log - Records Network Discovery actions.
ntsvrdis.log - Records the discovery activity of site system servers.
Objreplmgr - Records the processing of object change notifications for replication.
offermgr.log - Records advertisement updates.
offersum.log - Records the summarization of deployment status messages.
OfflineServicingMgr.log - Records the activities of applying updates to operating system image files.
outboxmon.log - Records the processing of outbox files and performance counter updates.
PerfSetup.log - Records the results of the installation of performance counters.
PkgXferMgr.log - Records the actions of the SMS Executive component that is responsible for sending content from a primary site to a remote distribution point.
policypv.log - Records updates to the client policies to reflect changes to client settings or advertisements.
rcmctrl.log - Records the activities of database replication between sites in the hierarchy.
replmgr.log - Records the replication of files between the site server components and the Scheduler component.
ResourceExplorer.log - Records errors, warnings, and information about running the Resource Explorer.
ruleengine.log - Records details about Auto Deployment Rules around the identification, content download, and update group and deployment creation.
Sched.log - Records details about site-to-site job and package replication.
schedule.log - Records the activities for standard sender content scheduling jobs.
sender.log - Records the files that transfer by file-based replication between sites.
sinvproc.log - Records information about the processing of software inventory data to the site database.
sitecomp.log - Records details about the maintenance of the installed site components on all site system servers in the site.
sitectrl.log - Records site setting changes made to site control objects in the database.
sitestat.log - Records the availability and disk space monitoring process of all site systems.
SmsAdminUI.log - Records Configuration Manager console activity.
SMSAWEBSVCSetup.log - Records the installation activities of the application catalog web service.
smsbkup.log - Records output from the site backup process.
smsdbmon.log - Records database changes.
SMSENROLLSRVSetup.log - Records the installation activities of the enrollment web service.
SMSENROLLWEBSetup.log - Records the installation activities of the enrollment website.
smsexec.log - Records the processing of all site server component threads.
SMSFSPSetup.log - Records messages generated by the installation of a fallback status point.
SMSPORTALWEBSetup.log - Records the installation activities of the application catalog web site.
SMSProv.log - Records WMI provider access to the site database.
smstsvc.log - Records information about the installation, use, and removal of a Windows service that is used to test network connectivity and permissions between servers, using the computer account of the server initiating the connection.
srsrpMSI.log - Records detailed results of the reporting point installation process from the MSI output.
srsrpsetup.log - Records results of the reporting point installation process.
Srvacct.log - Records the maintenance of accounts when the site uses standard security.
statesys.log - Records the processing of state system messages.
statmgr.log - Records the writing of all status messages to the database.
swmproc.log - Records the processing of metering files and settings.
-----------------------------
SCCM 2012 Log file Reference:
-----------------------------
adctrl.log - Records enrollment processing activity.
ADForestDisc.log - Records Active Directory Forest Discovery actions.
ADService.log - Records account creation and security group details in Active Directory.
adsgdis.log - Records Active Directory Security Group Discovery actions.
adsysdis.log - Records Active Directory System Discovery actions.
adusrdis.log - Records Active Directory User Discovery actions.
ccm.log - Records client push installation activities.
CertMgr.log - Records the certificate activities for intra-site communications.
chmgr.log - Records activities of the client health manager.
Cidm.log - Records changes to the client settings by the Client Install Data Manager (CIDM).
colleval.log - Records details about when collections are created, changed, and deleted by the Collection Evaluator.
compmon.log - Records the status of component threads monitored for the site server.
compsumm.log - Records Component Status Summarizer tasks.
ComRegSetup.log - Records the initial installation of COM registration results for a site server.
ConfigMgrPrereq.log - Records pre-requisite component evaluation and installation activities.
dataldr.log - Records information about the processing of Management Information Format (MIF) files and hardware inventory in the Configuration Manager database.
ddm.log - Records activities of the discovery data manager.
despool.log - Records incoming site-to-site communication transfers.
distmgr.log - Records details about package creation, compression, delta replication, and information updates.
EPCtrlMgr.log - Records information about the synchronization of malware threat information from the Endpoint Protection site system role server into the Configuration Manager database.
EPMgr.log - Records the status of the Endpoint Protection site system role.
EPSetup.log - Provides information about the installation of the Endpoint Protection site system role.
EnrollSrv.log - Records activities of the Enrollment service process.
EnrollWeb.log - Records activities of the enrollment website process.
fspmgr.log - Records activities of the fallback status point site system role.
hman.log - Records information about site configuration changes, and the publishing of site information in Active Directory Domain Services.
Inboxast.log - Records the files that are moved from the management point to the corresponding INBOXES folder on the site server.
inboxmgr.log - Records file transfer activities between inbox folders.
inboxmon.log - Records the processing of inbox files and performance counter updates.
invproc.log - Records the forwarding of MIF files from a secondary site to its parent site.
migmctrl.log - Records information for Migration actions involving migration jobs, shared distribution points, and distribution point upgrades.
mpcontrol.log - Records the registration of the management point with WINS. Records the availability of the management point every 10 minutes.
mpfdm.log - Records the actions of the management point component that moves client files to the corresponding INBOXES folder on the site server.
mpMSI.log - Records details of about the management point installation.
MPSetup.log - Records the management point installation wrapper process.
netdisc.log - Records Network Discovery actions.
ntsvrdis.log - Records the discovery activity of site system servers.
Objreplmgr - Records the processing of object change notifications for replication.
offermgr.log - Records advertisement updates.
offersum.log - Records the summarization of deployment status messages.
OfflineServicingMgr.log - Records the activities of applying updates to operating system image files.
outboxmon.log - Records the processing of outbox files and performance counter updates.
PerfSetup.log - Records the results of the installation of performance counters.
PkgXferMgr.log - Records the actions of the SMS Executive component that is responsible for sending content from a primary site to a remote distribution point.
policypv.log - Records updates to the client policies to reflect changes to client settings or advertisements.
rcmctrl.log - Records the activities of database replication between sites in the hierarchy.
replmgr.log - Records the replication of files between the site server components and the Scheduler component.
ResourceExplorer.log - Records errors, warnings, and information about running the Resource Explorer.
ruleengine.log - Records details about Auto Deployment Rules around the identification, content download, and update group and deployment creation.
Sched.log - Records details about site-to-site job and package replication.
schedule.log - Records the activities for standard sender content scheduling jobs.
sender.log - Records the files that transfer by file-based replication between sites.
sinvproc.log - Records information about the processing of software inventory data to the site database.
sitecomp.log - Records details about the maintenance of the installed site components on all site system servers in the site.
sitectrl.log - Records site setting changes made to site control objects in the database.
sitestat.log - Records the availability and disk space monitoring process of all site systems.
SmsAdminUI.log - Records Configuration Manager console activity.
SMSAWEBSVCSetup.log - Records the installation activities of the application catalog web service.
smsbkup.log - Records output from the site backup process.
smsdbmon.log - Records database changes.
SMSENROLLSRVSetup.log - Records the installation activities of the enrollment web service.
SMSENROLLWEBSetup.log - Records the installation activities of the enrollment website.
smsexec.log - Records the processing of all site server component threads.
SMSFSPSetup.log - Records messages generated by the installation of a fallback status point.
SMSPORTALWEBSetup.log - Records the installation activities of the application catalog web site.
SMSProv.log - Records WMI provider access to the site database.
smstsvc.log - Records information about the installation, use, and removal of a Windows service that is used to test network connectivity and permissions between servers, using the computer account of the server initiating the connection.
srsrpMSI.log - Records detailed results of the reporting point installation process from the MSI output.
srsrpsetup.log - Records results of the reporting point installation process.
Srvacct.log - Records the maintenance of accounts when the site uses standard security.
statesys.log - Records the processing of state system messages.
statmgr.log - Records the writing of all status messages to the database.
swmproc.log - Records the processing of metering files and settings.
Friday, April 20, 2012
SCCM 2012: “*** *** Unknown SQL Error!” entries in SCCM log files
I had some major issues with this last error on our new SCCM 2012 server week. I worked on it for two solid days before I cried uncle and finally called Microsoft. Turns out the issue was caused when one of our database guys moved my SCCM database to a separate drive for "performance tuning". Since it was such a tough nut for us to crack I thought I'd post about it. According to the person I spoke with at Microsoft the SCCM database owner should *ALWAYS* be the "sa" account. Moving databases in SQL Server can cause the database ownership to change from “sa” to the user account of the person performing the move. If this happens the SCCM database owner *must* be changed back to "sa". A symptom of this issue is a constant string of “*** *** Unknown SQL Error!” entries in the SCCM log files every time it tries to write to the database.
Also when you need to make database configuration changes its a good idea to log into the SCCM server using your SCCM service account (which you should have set up prior to installing SCCM) and make all changes under that account so that if ownership does change at least the ownership will be designated to the SCCM service account and not your personal user account. This will ensure that your user-specific domain account is not accidentally given ownership of some SCCM-critical database related item. Plus (while it may not work every time) there’s a good chance that even if the SCCM service account somehow gets ownership of the item you change there’s it *could* continue to function just fine (as this account should have been set up by you as a local admin on your SCCM Server and also as a SysAdmin on your SQL Server).
Here's a couple of useful SQL queries to help troubleshoot this issue (run from SQL Server Management Studio):
Also when you need to make database configuration changes its a good idea to log into the SCCM server using your SCCM service account (which you should have set up prior to installing SCCM) and make all changes under that account so that if ownership does change at least the ownership will be designated to the SCCM service account and not your personal user account. This will ensure that your user-specific domain account is not accidentally given ownership of some SCCM-critical database related item. Plus (while it may not work every time) there’s a good chance that even if the SCCM service account somehow gets ownership of the item you change there’s it *could* continue to function just fine (as this account should have been set up by you as a local admin on your SCCM Server and also as a SysAdmin on your SQL Server).
Here's a couple of useful SQL queries to help troubleshoot this issue (run from SQL Server Management Studio):
-- Check Database ownership:
EXEC sp_helpdb
-- Change a Database owner to 'SA'
USE <myDatabaseName>
GO
EXEC sp_changedbowner 'sa'
System Center: 2012 Product Families released!
I've not posted in a while because I've been int he thick of a Configuration Manager 2012 rollout at work. I've had some interesting experiences with setting this up and I plan to blog about them in the near future. For now here's some links if you are planning to get started on this yourself:
Microsoft Server & Cloud Platform Products & Solutions Site:
http://www.microsoft.com/en-us/server-cloud/
System Center 2012 Configuration Manager Survival Guide:
http://social.technet.microsoft.com/wiki/contents/articles/7075.system-center-2012-configuration-manager-survival-guide-en-us.aspx
Good luck getting started! Just remember its a beast if you don't set things up properly out the gate so take your time, plan-plan-plan and test-test-test!
Microsoft Server & Cloud Platform Products & Solutions Site:
http://www.microsoft.com/en-us/server-cloud/
System Center 2012 Configuration Manager Survival Guide:
http://social.technet.microsoft.com/wiki/contents/articles/7075.system-center-2012-configuration-manager-survival-guide-en-us.aspx
Good luck getting started! Just remember its a beast if you don't set things up properly out the gate so take your time, plan-plan-plan and test-test-test!
Wednesday, February 8, 2012
SCCM SQL Query: Disk Usage Reports
I can't take credit for all the SQL in this report, but I did tweak it enough to make it my own. Just change "FCM.CollectionID = 'SMS000DS'" to reflect the Collection ID of whatever Collection you want to run the report against. In my case I'm using the built-in collection for all servers:
List all servers with Disk Usage Summary:
List all servers with Disk Usage Summary:
SELECT DISTINCT
FCM.Name AS 'Computer Name',
LDSK.DeviceID0 'Drive Letter',
LDSK.Description0,
LDSK.VolumeName0,
LDSK.FreeSpace0 AS 'Free Space (MB)',
LDSK.FreeSpace0/1024 AS 'Free Space (GB)',
LDSK.FreeSpace0*100/LDSK.Size0 AS 'Free Space (%)',
LDSK.Size0/1024 AS 'Total Space (GB)'
FROM
v_FullCollectionMembership FCM
JOIN
v_GS_LOGICAL_DISK LDSK
on FCM.ResourceID = LDSK.ResourceID
JOIN
v_R_System SYS
ON FCM.ResourceID = SYS.ResourceID
WHERE
LDSK.DriveType0 = 3
AND LDSK.Size0 > 0
AND FCM.CollectionID = 'SMS000DS'
ORDER BY
FCM.Name,
LDSK.DeviceID0
Monday, February 6, 2012
SCCM SQL Query: List all systems by 'Computer Description'
Upper management made the decision to create a standardized convention for computers on our network based on the Computer Description field in Windows. They wanted a quick report to show what was already there for everything on the network. This query did the trick :
Hope you find it useful.
SELECT DISTINCT
CS.Name0 AS 'Computer Name',
CS.UserName0,
OS.Description0 AS 'Computer Description'
FROM
v_GS_OPERATING_SYSTEM OS,
v_GS_COMPUTER_SYSTEM CS
WHERE
CS.ResourceID = OS.ResourceID
ORDER BY
CS.Name0
Hope you find it useful.
Subscribe to:
Posts (Atom)