Archive for April, 2012

System Center Configuration manager (SCCM) 2007 R3 – Device Discovery Issue / Health Check script

Posted on April 18, 2012. Filed under: Powershell Tangents |

Thank you for visiting my blog. I’ve moved this article to my new book’s website at: http://masteringposh.com/system-center-configuration-manager-sccm-2007-r3-device-discovery-issue-health-check-script

A large hospital recently had been experiencing issues with their SCCM Server replication and SCCM Remote Console. Initially, they started to notice slow package replication which quickly expanded to the following list:

  • SCCM 2007 Remote Console Loading Slowly
  • SCCM 2007 Remote Console Not Connecting to Remote Clients
  • SCCM 2007 Packages Taking Hours for Replication
  • SCCM 2007 ‘My’ Computer freezing on server / drive not accessible
  • SCCM 2007 Explorer Crashes on Central Server / Cannot View InboxesAuth

SCCM Configuration

SCCMSetup

The hospital, with over 12,000 computers, hosted a central server and two primary child sites (as shown above). These servers are all Windows Server 2008 R2 servers and had been running functionally since February of 2012.  Site_101 and Site_102 were both configured to replicate their record sets to the central server.

Please note that there is an additional WDS deployment server which is not shown in the above image as it is irrelevant to this discussion.

SCCM issue: Device Discovery Records build-up

 

SCCMDiscoveryPattern

After a bit of research, it was determined that the issues above had to do with the configuration of the Discovery Methods. Site_100, Site_101, and Site_102 were configured to perform full Active Directory System Discoveries (DDR Record Generation) every 5 minutes (relevant to their respective AD hierarchy).

In the hospital’s case, the (DDR) records were being created by the two children sites and pushed up to the Central Server. The Central Server had to #1 process its own device discovery records, #2 process Site_101 and Site_102 discovery records. The Central Server could not process the DDRs as fast as they were being generated. Subsequently, the directory started to fill up with old device discovery information. By the time the device discovery record issue was discovered, the %drive%Program Files (x86)Microsoft Configuration Managerinboxesauthddm.box inbox had almost 22.1 million device discovery records.

The build up of files had the following effects on the server:

  • Disk Contention – Files were being written and deleted (delete is a disk write as well!) causing the disk queue to be in the upwards of 200 operations. This simply crippled the use of that RAID drive which affected all SCCM components rendering the Central Server useless.
  • Windows Indexing Issues – Due to the mere number of files (22.1 million), in addition to keeping track of those being added / removed, the indexing service could not keep up with the operations of the server. This was the cause of Windows Explorer to hanging and crashing as it was attempting to index the files.

Read the full article at: MasteringPOSH.com

Read Full Post | Make a Comment ( 1 so far )

PowerShell Script – SCCM 2007 Health Check

Posted on April 18, 2012. Filed under: Powershell Tangents |

Thank you for visiting my blog. I’ve moved this article to my new book’s website at: http://www.masteringPOSH.com/powershell-script-sccm-2007-health-check

System Center Configuration Manager 2007 is an extremely powerful tool that, when configured correctly, will provide deployment and reporting capabilities for your organization. As explored in a previous article (located here), there are situations where a health check is helpful to ensure stability of the SCCM 2007 servers.

The below PowerShell Script was designed to perform two operations:

  • Morning Report – To run as a scheduled task in the morning and email a distribution group (or individual email) if anything is potentially going wrong. (Warning Level to Critical Levels).
  • Hourly Status Check – To run as a scheduled task every hour and email a distribution group (or individual email) if anything is Critically wrong. (Critical Level Only).

The script performs the following at a high level:

  1. Loads the SCCM.XML File
  2. Determines from the SCCM.XML file where SCCM is installed.
  3. Using the SCCM.XML File, reads through the unique ID’s under the ‘filecheck’ and determines the file count for those directories.
  4. Using the SCCM.XML File, reads through the unique ID’s under the ‘servicecheck’ and determines the startup state, and running state of the services required for SCCM.
  5. Sends an email to the specified address with any warning or critical messages.

See the full article on MasteringPosh.com

 

Happy Coding!

Read Full Post | Make a Comment ( None so far )

    About

    Business and Information Technology Tangents is dedicated to providing quality content while informing the world about technology.

    RSS

    Subscribe Via RSS

    • Subscribe with Bloglines
    • Add your feed to Newsburst from CNET News.com
    • Subscribe in Google Reader
    • Add to My Yahoo!
    • Subscribe in NewsGator Online
    • The latest comments to all posts in RSS

    Meta

Liked it here?
Why not try sites on the blogroll...