SCCM CDP to WMI version 0.0.0.3 out

Sorry for the lack of progress until recently but I’ve recently had a lot of more important priorities in life so working on this had to go on hold for a little while. I am hoping in the next few months to release version 1.0 but as on now this is still experimental so should only be used in a lab environment.

Please use the ticketing system on sourceforge to report any issues and add feature requests.

You can get it here: http://sourceforge.net/projects/cdptowmi/

ToDo:

See here: https://sourceforge.net/p/cdptowmi/wiki/ToDo%20List/ (work in progress)

Read More

Scripted checking of SCCM Backups

This is a script that parses the smsbkup.log and outputs results (in html) and the relevant portions of the file to the specified folder. The idea being that the with a small bit of tweaking you could have the report hosted on  a webserver to check or emailed (there will be a post on emailing in Powershell later) to you.

This is best run from the central primary under credentials that have access to the other sites.

Note: The script requires UNC paths for the $fpath variable as it is expecting be be run remotely.

Note2: This script was written for SCCM 2007 and not for SCCM 2012, however thanks to one of my readers, Satish, the following should fix that:
Change
if ($content | where {$_ -like "Backup task completed successfully*"}) {
to
if ($content | where{$_ -like "*SQL Backup task completed successfully*"}) {

Note3:
Potential Dates issues with SCCM 2012 R2. Thanks to Marius for the update.
Change
$cdate = $cdate.adddays($days) | get-date -format “ddd MMM dd”
to (this is probably US specific and will probably vary depending on locale)
$cdate = $cdate.adddays($days) | get-date -format “MM-dd-yyyy”

Read More

Programs without MSI Product ID

Recently I had an issue where ActiveSetup wasn’t installing some applications when deployed. It turned out that it was due to some of the packaged applications not having a program with the Windows installer information populated. As it was believed that this may not an isolated issues I was tasked with producing a report of all Packages where the information was missing. This is not actually possible via the default reports as none of the views exposed to SCCM actually contain this information. The only way to get this information is to query the SCCM database table “PkgPrograms”, and to do that and have a permenant report SSRS is needed as it can run with the credentials of the user generating it or with an execution account which may have more access.

Read More

SCCM Patch Compliance Reports

Updated: 2013-11-20 – Fixes for rdl files and 2012 report, I’ve edited the RDLs but I have no infrastructure currently to test on so feedback is welcome.

I was watching SCCM Guru Episode 9 with Garth Jones, when I saw in his powerpoint presentation two reports for patch compliance that I liked the look of. So I decided to see if I could emulate the reports, I will say here having only seen the final product in his slide my reports will look similar to his, and may even share code, however I have not seen ANY of his code so any similarities here are purely coincidental and not me just copying his code and taking credit.

Read More

Task Sequence and Package Management Reports

There are 3 reports in this group;

The first returns a list of all packages in a Task Sequence and the DPs they are targeted at that are in a “not installed” state. Currently this only detects targeted and not installed, once I figure out the SQL i’ll update this so it includes DPs that it is not targeted at as well.

The second lists all Task Sequences that reference a specific package, the idea here is if you wish to replace a package with a newer version or decommission a package you can get a list of all of the TSes that include it.

The third and final report compares two Task Sequences and returns a list of packages that are in one but not the other along with the ID of the Task Sequence that it is in.

Read More

Software Distribution Reports

I have 85 or so DPs across more than 5 Primary sites and sometimes I see failures in newly created Task Sequences (or even old ones) during an OS deployment due to a package not being available.

  • Distribution status of a specific package on a specific distribution point – This report shows the installation status of a package on the specified distribution point.
  • Distribution points without a specific package – This report shows any Distribution Points a Package is not installed on. N.B. Package MUST be targeted to the site in order to be detected
  • Distribution points without a specific package in a site – This report shows any Distribution Points a Package is not installed on in the specified site. N.B. Package MUST be targeted to the site in order to be detected
  • Distribution status of a specific package in a site – This report shows the installation status of a package on each of its distribution points in the specified site

Deployment Management Report

Sorry it’s taken so long but here is my 1st post (of many) since my change of Job.

In my new environment machine history isn’t retained upon a machine rebuild, so how do I determine what a machine had before it was rebuilt? Well there is no “easy” answer to this, the company historically used a vbs script to diff the uninstall reg key against a list of standard or core applications. This worked to some extent but was far from perfect and could result in very large lists of applications that were not even installed by SCCM.

Read More

Capture CDP packets and populate WMI for SCCM

This little gem I wrote will listen to all interfaces on a computer for CDP packets. Once it has looped all the interfaces any packets it has captured are processed and added to WMI.

Using the attached SMS_DEF.mof we can extract that information and place it in SCCM. Anyone who knows what CDP is will see the benefit immediately. For the rest; CDP (Cisco Discovery Protocol), Cisco devices send out CDP packets every 60seconds each packet contains information about the port it was sent from and the sender. In a nutshell if my computer receives a packet then I can tell which switch I am connected to, what port on that switch and a few other bits and bobs about the switch. e.g. In a test environment I have a Cisco switch which connects to a Cisco IP phone which then connects to my computer, when exe runs I get two entries in WMI, one for the phone and one for the Switch.

The use case is that helpdesk  may not know where a user is physically or where they are connected to the network and the user may be experiencing network issues, this would allow a helpdesk tech to locate the switchport  the user is connected to and pass that info to the network team for troubleshooting saving both parties the hassle of tracing cables and also allowing reporting on where a user is plugging in over a period of time.

There is still a bit to be done for this but it does generally work.

Read More