O R G A N I C / F E R T I L I Z E R: 11.09

Nov 11, 2009

forcing a task sequence to rerun … from powershell

well, kind of.  steve rachui wrote this genius little gem about how to manage the instances of the configmgr agent scheduler to manipulate a task sequence to rerun.  as you’ll note in the post, he didn’t indicate a method to automate it.  this is actually rather easy to accomplish from powershell.

first of all, our example … we’ll use steve’s screenshots as reference.  here’s the id that we want to get rid of: CEN20018-CEN00027-DBBBC9D6.

to be quite veracious and unerring, we should use the exact task sequence id in question.  we can set that to a variable just for kicks.

$tsid = “CEN20018”
alright, now that we have that, let’s examine the command we’re going to use.  to get information out of wmi, we have to use the get-wmiobject cmdlet.  ordinarily, you could just provide the class name you want to look at, but as steve noted in his post, you need to connect to a different namespace: root\ccm\scheduler.  let’s retrieve all the classes of this namespace using –list.
get-wmiobject –namespace “root\ccm\scheduler” –list
here’s a snippet of the expected output:
__Win32Provider {} __SystemSecurity {GetSD, GetSecuri.. CCM_Scheduler_History {} __NotifyStatus {} __ExtendedStatus {} __SecurityRelatedClass {}

ah, there we go.  the class we’re looking for is ccm_scheduler_history.  next thing we’ll do is pull the instances of this class.  if we just pull the class, it’ll be quite a nasty output, so let’s concentrate on what’s important for now: the schedule id.

Get-WmiObject -Namespace "root\ccm\scheduler" -Class ccm_scheduler_history | ft scheduleid

now we get a succinct output of just the schedule ids.  there’s the schedule id we’re looking for!


let’s pull it all together and see how it looks.

Get-WmiObject -Namespace "root\ccm\scheduler" -Class ccm_scheduler_history | where { $_.scheduleid -like "$tsid*" }

perfect.  now we got back the right instance of the class.  i’m going to set this to a new variable called $tsinstance because i’m just that creative.

$tsinstance = Get-WmiObject -Namespace "root\ccm\scheduler" -Class ccm_scheduler_history | where { $_.scheduleid -like "*$tsid*" }

now, finally, we’re to the point where we can get rid of the thing.  so … how?  well… as it turns out, there’s a cmdlet for that.  all we need to do is pass the object to remove-wmiobject.  that just rocks.  here’s the finished command.

$instance | Remove-WmiObject

and if you just want one long command, here’s that as well:

Get-WmiObject -Namespace "root\ccm\scheduler" -Class ccm_scheduler_history | where { $_.scheduleid -like '*CEN20018*' } | Remove-WmiObject

Nov 10, 2009

Active Directory Cookbook 3rd Edition

just wrote a short review about active directory cookbook, 3rd edition. this is one of the most useful books in my library.
Originally submitted at O'Reilly

When you need practical hands-on support for Active Directory, the updated edition of this Cookbook provides quick solutions to more than 300 problems you might encounter when deploying, administering, and automating Microsoft's network directory service. You'll find recipes for the Lightwe...

Fan of the Series

5out of 5
Pros: Easy to understand, Well-written, Helpful examples, Accurate, Concise
Best Uses: Intermediate, Expert
Describe Yourself: Sys Admin
I became a fan of the series when Robbie Allen released the very first one. Since then, I've been hooked. It's amazing how the book has developed over time to become the monstrosity that it is today. It's enormous, weighing in at over 1000 pages. Though the true value is in all the "recipes" in the book, I really enjoy all the background material that each section provides.

Each topic has:
  • Problem - the task you need to perform
  • Solution - how to perform it
  • Discussion - additional information about the topic

It's great to have a reference that succinctly defines the task and the solution without having to read gobs of pages. It's not just limited to scripting as the name may imply. Most solutions are defined for scripting (vbscript, powershell, command shell), however, often times you'll find the gui (graphical user interface) equivalent of how to achieve the task.

Laura Hunter is a great author and well-respected MVP in the Active Directory space. All of the contributing authors from the past editions are tops in their field and sources of information I have relied on in the past and will continue to do so for as long as I support Active Directory.

It's time I give up my 2nd Edition Cookbook and make room for this one on my reference shelf. Valuable book!

Nov 4, 2009

social software in the workplace - magic quadrant 2009

right up there with ibm and jive software.  hope they’re not talking about lotus notes!  ;)


full details for this and other magic quadrant reports are located here: http://www.microsoft.com/presspass/itanalyst/default.mspx.

Nov 3, 2009

xian wings 2010 announcement eminent

i just got this little piece of information from my favorite sales girl at jalasoft.  it looks like they’re extending your view of the network to your mobile device.  now you can know when your datacenter is on fire while you’re enjoying your stouffer’s frozen dinner and watching an episode of flashforward.  here’s the blurb:

“Jalasoft informed today to a close network of contacts that they are going to announce the release of Xian Wings 2010. Wings 2010 will be part of the Xian suite and will make it possible for network and server administrators to gain better control of their environments thanks to a special client application that works on their mobile device.”


moving configmgr package shares to an alternate location

ever since sms got into the business of managing security updates, it’s been a struggle trying to make sure that distribution points are sized right for the amount of content they’re going to be hosting.  we’re all clowns in a circus and should be quite adept at juggling by now.  :)

once you’re beyond that small hurdle, you may find yourself in the same pickle when you start venturing into OSD.  even in a san world where drive space can magically show up on your server, it’s still often easier to get additional drive space than it is to increase existing drive space.

i had to do a bit of reshuffling recently and found this blog post from the manageability team blog immensely helpful:  http://blogs.technet.com/smsandmom/archive/2008/09/04/moving-the-smspkgc-share-to-a-different-drive.aspx.

there is one caveat though that my coworker enlightened me about.  if you’re using bits-enabled distribution points (and i imagine the majority of us are), you’ll want to make one additional change.  any distribution points utilizing bits will have a corresponding virtual directory which will need to be adjusted to the new location.  to do this, fire up your internet information services (iis) manager.

  1. navigate to site server\web sites\default web site\sms_dp_smspkg[x]$.
  2. right-click the virtual directory and choose properties.
  3. in the local path field, change the path to the new location.

[x above is the drive letter.]


here’s a screen shot of what to do. image


comments always welcome.  hope you get some good mileage out of this.