SCCM Report: Site Boundaries

I wrote this simple report yesterday to list and search site boundaries: Report Name: SCCM Site Boundaries SQL Query: [sourcecode language=”SQL”] SELECT distinct v_BoundaryInfo.DisplayName AS [Boundary Name], Case v_BoundaryInfo.BoundaryType When 0 then ‘IP Subnet’ When 1 then ‘AD Site’ When 2 then ‘IPV6 Prefix’ When 3 then ‘IP Range’ End As ‘Type’, v_BoundaryInfo.Value AS [Value], v_BoundaryInfo.SiteCode AS [Site Code] From v_BoundaryInfo WHERE DisplayName LIKE @BoundaryName [/sourcecode]   Prompts: Name: BoundaryName Prompt Text: Boundary Name Prompt SQL Statement: [sourcecode language=”SQL”] begin if (@__filterwildcard = ”) Select DisplayName from v_BoundaryInfo order by DisplayName else Select DisplayName from v_BoundaryInfo where DisplayName LIKE @__filterwildcard

Continue reading

SCCM Health Check Script Updated: Version 3.5

I have just updated the SCCM Health Check Script to from version 3.3 to 3.5 Version 3.4 was finished a while back but I never got time to publish it in this blog. I only emailed 3.4 to few people who contacted me from my blog. Now that I’ve updated it again to 3.5, I thought I’ll just publish version 3.5. What’s Changed Since 3.3? Added site system name under ‘site systems with issues’ section Detect site components that are missing heartbeats. Changed function Validate-DNSRecord to use Win32_ComputerSystem.caption rather than DNSHostname to retrieve computer name as DNSHostName is not available

Continue reading

Run 64-bit PowerShell via SCCM 2007 Advertisement

A colleague came across a problem today. He could run a SCDPM PowerShell script from PowerShell console successfully but could not run it when packaged it in SCCM. We soon found out it’s because SCCM 2007 is a 32-bit app and DPM PowerShell snapin is only available for 64-bit PowerShell because we could not run the script from a 32-bit PowerShell console. When a 32-bit application tries to access %WinDir%\system32, Windows redirects it to %WinDir%\SysWOW64. In order for the 32-bit app to access %WinDir%\System32 folder, we have to use %Windir%\sysnative. So, we set the command line of the program in

Continue reading

Extend ConfigMgr Hardware Inventory to capture OpsMgr configurations

Download: MOF Extension for OpsMgr Configurations I’ve been wanting to do this for a while now and finally found some spare time for it. I want to be able to target OpsMgr (SCOM) agents and servers in ConfigMgr (SCCM) in a more granular way (i.e. all OpsMgr agents that are reporting to a OpsMgr Management Server, or all OpsMgr agents within a OpsMgr management group or All OpsMgr management servers) Therefore, I created these extensions for configuration.mof and sms_def.mof so OpsMgr settings are captured as part of ConfigMgr client hardware inventory. Once loaded in to ConfigMgr and after clients have

Continue reading

Clean Up Old Hardware Inventory Data

In SCCM, after removing WMI classes that are no longer required from configuration.mof and sms_def.mof, the inventory data still exists in few places. If you decide to clean them up, MyITForum.com has a great WIKI page for SCCM hardware inventory which talked about different ways to clean up hardware inventory data. I have tried the free SiteSweeper tool from SCCMExpert.com which was mentioned in the WIKI page. It’s easy to use and you can remove multiple classes from site database at once: Other than removing the data from site databases throughout the hierarchy, the WMI class which you defined in

Continue reading

Error 80041001 in InventoryAgent.log after mof files modifications

I’ve been playing with SCCM mof files this weekend. After I’ve extended configuration.mof and sms_def.mof files to inventory a registry key during hardware inventory, I noticed below error logged in InventoryAgent.log on SCCM client: Unknown error encountered processing an instance of class <name of the WMI class>: 80041001 I checked the SCCM client, the WMI class was created correctly, but the inventory data was not loaded in the SCCM database therefore I could not view it in Resource Manager. After gone through both configuration.mof and sms_def.mof many times made sure they are 100% correct, I found this error is actually

Continue reading

“Orphaned” Maintenance Windows for SCCM clients

Last week, in my SCCM test environment, I noticed there are several maintenance windows applied to clients that I had no idea where were they come from. Symptoms: When using SCCM Client Center, it shows this particular client (MGMT01) has 3 maintenance windows (service window) assigned to it: PolicySpy from ConfigMgr 2007 Toolkit also shows the same: The problem is, there should ONLY be 1 maintenance window for this client: and actually, there is ONLY 1 maintenance window in total in my entire environment: I ran “SELECT * from v_ServiceWindow” against the site database and there is only 1 row

Continue reading

SCCM Package stuck at “Install Pending” state

Last week, someone power cycled one of our secondary site server (also a DP) via the remote management card without shutting down the OS first. At that time, a software update deployment package (total size of 13MB) was being pushed to this site. As result, this particular update package got stuck at “Install Pending” even few days after the reboot. I noticed below error was logged in distmgr.log every few minutes: Cannot update the package server <site server NAL path> for package <package ID>, error = 8 No other errors were found in despool.log or sender.log. I have tried refreshing

Continue reading

ConfigMgr 2007 Inbox (Outbox) Monitor: Could not complete polling cycle within configured period

Starting few weeks ago, In the SCCM environment which I support, all site servers located in one country started generating status messages similar to below every 15 minutes: SMS Inbox Monitor took 3627 seconds to complete a cycle.  This exceeds its configured interval of 900 seconds by 2727 seconds. These messages are also logged in Site server’s application log. SCOM also detects it and generated warning alerts:   After reviewing inboxmgr.log, I noticed the time stamp for the log entries was 1 hour ahead of the system time. This also happens to the other SCCM log files. I then noticed

Continue reading

SCCM Health Check PowerShell Script Updated to Version 3.3

I have updated the SCCM Health Check Script again. The latest version is now 3.3. Below is what’s been updated since my last post for version 3.1: Fixed the bug where when using DOTNET sending emails to multiple recipients, it only sends to the first recipient from the list. It now zip the txt attachment to zip file before sending it. this is to improve the performance and avoid sending large attachments. Added functionality to check all current active package distribution Able to create exemptions for DNS suffix check. This can be configured in the XML. (this is required at

Continue reading
%d bloggers like this: