The Realm of the Verbal Processor

Jarvis's Ramblings

The Mind of a Three Year Old

Would love to know what goes through my son’s mind sometimes…

Yesterday I went upstairs to grab lunch and found my wife and oldest daughter on their hands and knees in the living room with baby wipes in their hands. My younger daughter was making sure that my son stayed IN the bathtub. Turns out that he had gone into the pantry, grabbed the jar of peanut butter, carried it to the living room, stuck his whole hand inside, then ran through the house shaking the peanut butter covered hand.

To say that there was peanut butter on every square foot of the path he ran is not an exaggeration. It took three of us almost an hour to just clean up the worst of the mess. Then Julie went to pick up a carpet cleaner. Many many hours of work caused by a less than thirty second mad dash of a peanut butter spraying three year old.

And I wish I had some hope that he wouldn’t do it again…but unfortunately I don’t.

August 15, 2012 Posted by | kids, Personal | Leave a comment

IP Subnet Boundaries = Evil

I saw Jason’s post on this, and had to agree…IP Subnet Boundaries in Configuration Manager are indeed evil. Use IP Range boundaries instead!

Definitely check out Jason’s post for full info.

June 8, 2012 Posted by | Uncategorized | 2 Comments

Configuration Manager 2012 Offline Help File

Very cool to see this today! Microsoft has released the initial offline help file for System Center 2012 Configuration Manager. But…better than that…it comes in three formats.

  • a 13MB, 2000+ page PDF
  • a 2MB, 2000+ page DOCX
  • a CHM file…with an update utility!!!

image

If you install the ConfigMgr2012HelpUpdate.msi app, you will see the following on your Start Menu.

SNAGHTML555fa8f

The first link is the help file…note that it is dated May 2012. The second is the update wizard…which presumably will keep the local copy up to date with the online version when a new offline copy is published. Very nice!

Download it here!

May 30, 2012 Posted by | ConfigMgr 2012 | 1 Comment

Silent App Install Help Page

Anyone who works in enterprise IT (and with products such as Configuration Manager) needs to know how to install applications silently…without requiring user intervention. Recently I came across a web page that gives really good info on the various installation types (MSI / InstallShield / Wise / etc) and how to make them silent. It goes beyond the basics and gives background on how each of them work. The page hasn’t been updated in a while, but there is still some very good information there. This could be a good one to bookmark.

http://unattended.sourceforge.net/installers.php

May 24, 2012 Posted by | ConfigMgr, ConfigMgr 2012, Packaging | 1 Comment

Unknown Computer Bug–Final Update

Over the weekend I got a final update on the Unknown Computer “bug” in Configuration Manager 2012 that I wrote about recently. This time the update came from John Vintzel who for those who don’t already know him is a Senior Program Manager on the Configuration Manager product team. Basic gist of the update is that they will evaluate a change in this behavior for a future release.

In my opinion (which based on conversations I’ve had I know is shared by many others), this is a necessary change. There should not be a requirement to delete an object when a system doesn’t even begin the task sequence…or when it fails early in the process. A few options for how this could be changed:

  1. Don’t create the Unknown object at all. (I’m guessing there is a reason behind why it exists though.)
  2. Create the object after the system becomes a manageable object. (probably the same as #1 though)
  3. Have logic built into the task sequence process that automatically removed the “unknown” object from the database if the Task Sequence fails before the system becomes a manageable object.

May 7, 2012 Posted by | ConfigMgr 2012 | 1 Comment

Remote SQL Security Concern

I have had a few discussions over the years about whether a Configuration Manager installation should include SQL “on box” or “remote”. The answer is generally “it depends”. This blog post is not going to dig into all of the reasons why you would choose either local or remote SQL…it is designed to highlight one particular security concern with the remote SQL option. Let’s think through several of the underlying components that are necessary for remote SQL to take place along with a few very common scenarios when this is the case.

  1. Generally a company will choose remote SQL because they want to have a beefy SQL box that is managed by their DBA team. This SQL box will commonly house several SQL databases…not just the Configuration Manager DB. Which means that any disruption on that SQL server has an impact on much more than just Configuration Manager.
  2. A requirement for remote SQL with Configuration Manager is that the Configuration Manager server’s computer account must be in the local admin group on the SQL server.
  3. Commonly there will be a number of Configuration Manager administrators that have admin rights on the Configuration Manager server.
  4. Commonly there will be a number of those same Configuration Manager administrators that do NOT have admin rights on the remote SQL server.

THAT is where the problem rears it’s head. Let’s connect all of the dots…

  1. Joe Admin is an admin on the Configuration Manager server…but is not an admin on the SQL server.
  2. The Configuration Manager server’s computer account is an admin on the SQL server.
  3. Joe Admin has read my article on how to run a command prompt as local system. Uh oh.
  4. Joe Admin uses psexec to run a command prompt (or SQL Management Studio…or regedit…or services.msc…or disk management…or whatever else) as local system on the Configuration Manager server.
  5. Joe Admin then connects that app (running in the “user” context of the Configuration Manager server’s computer account) to the SQL server.
  6. Joe Admin is now able to do anything that the Configuration Manager server’s computer account has rights to do…which is full Administrator rights…ON THE SQL SERVER!!!
  7. That security you thought you had…well it didn’t work so well.

Is there anything to keep Joe Admin from (either accidentally or maliciously):

  • Stopping services?
  • Deleting files?
  • Rebooting the server?
  • Jacking with the registry?
  • Installing (either good or bad) software?
  • Copying data off of the SQL server?
  • etc (I think you get the picture.)

Now…for some people that doesn’t matter. In many smaller installations the same team is managing Configuration Manager and SQL. However…if you are that small…why take on the extra complexity of the remote SQL scenario?

For others it matters big time! I’ve had conversations with customers who cringe at the very idea that some random Configuration Manager admin could possibly gain full rights to the SQL server that other business critical databases are stored on.

April 27, 2012 Posted by | ConfigMgr, ConfigMgr 2012, Security, SQL | 4 Comments

Unknown Computer Bug–Update

Just a quick update on the potential bug that I reported a couple of weeks ago. I’ve had a few back and forth exchanges via Connect about this issue, and it is being called “by design”. They asked my how I would like for this to work and at what point I would like for the machine to become “known”. Here is my response:

Thinking through the whole scenario…it would be best if the computer is seen as "known" AFTER it becomes a manageable system (i.e. after the Configuration Manager client is installed). Until that time, it is not a system that can be managed…it doesn’t even have an operating system until just before the client install step in the task sequence.

At minimum, I would not expect the computer to be "known" until after the task sequence successfully started. In the scenario I provided (task sequence erroring out at dependency check…which is VERY common), the task sequence has not begun…it is failing during the dependency check. The computer object that is created (named "Unknown") is not a manageable object. It is however an object that will block the computer from being able to run a task sequence that would allow it to be come manageable unless action is taken to remove it from the console.

The final response back from Microsoft via Connect was that this would be submitted to the Product Group as a Design Change Request.

This will be a very welcome change if it is implemented. Until then, be aware of the issue and what you need to do to fix this issue when you run into it in your environment.

April 17, 2012 Posted by | ConfigMgr 2012 | 1 Comment

MMS 2012 Bible Study Time Change

Just a quick note for those interested in the morning Bible Study we are having at MMS 2012. We decided to meet at a slightly different time for the rest of the week to allow for time to get to breakfast each morning. We will be meeting from 7:15-7:45am each morning of MMS in Marco Polo 702 which is basement level of the Venetian convention center.

See you in the morning!

April 16, 2012 Posted by | MMS 2012, Personal | Leave a comment

Joined the Twitosphere

I finally broke down and joined Twitter. A good friend (Dennis Brockman) tried to get me to do it a few years ago and I thought the whole concept was absurd. I still don’t know how much I will use it, but I do have an active account. Funny thing is that the account has been active since mid-February and I have a grand total of one follower. Dennis…it may have taken a while, but I finally did open a Twitter account…but don’t get your hopes up…you aren’t going to win the Mac argument with me anytime soon! Winking smile

If anyone cares, I am @VerbalProcessor.

April 16, 2012 Posted by | Personal | Leave a comment

Business Value of Application Replacement

Who cares? That is the thought that went through my mind last night a few hours after I posted the last of my five part series on Dynamic Operating System Deployment and application replacement. Even if you don’t now, you SHOULD care. Let’s see if I can convince you…

Let me give one example of the difference that the concepts in that series made at a company. I had a client recently who was performing a company-wide Windows 7 rollout…migrating from Windows XP. This coincided with a PC replacement cycle, so this rollout was predominantly a “Computer Replace” scenario…so replacing the old XP box with a new Win7 box. After replacement, users obviously needed to be able to do their jobs on the new Win7 system…which meant that they needed some key applications that had previously been installed on their Windows XP system…but these apps had been installed on a case by case basis previously. The company has not implemented role-based application deployment at this time.

And THAT is where the problem arose. MANY of these applications are not in the core Windows 7 image for obvious reasons. (Visio, Project, Creative Suite, Oracle apps, numerous internal apps) For that matter, many of the apps that were installed in Windows XP were being replaced with a newer version in Windows 7 for application compatibility reasons. For this company it meant that when they performed the Windows 7 refresh on a location, they flew two employees to the refresh location to perform the upgrade. The PRIMARY reason that they needed to do this was so that the two employees could re-install applications on the user’s Windows 7 computer post-install on a case by case basis. This resulted in significant business problems including:

  • User downtime because necessary applications weren’t installed on their new Windows 7 system.
  • IT staff were pulled away from their day-to-day job for a week at a time to drive the migrations…mainly because of the need to install additional applications.
  • The Windows 7 migration for the company was taking SIGNIFICANTLY longer than desired because of these limitations (both app installs and a limited number of employees to travel to numerous locations).
  • Significant additional costs were associated with all of this (travel, time, delays, loss of user productivity)

Quite simply it was an unacceptable situation. Way too much wasted time and effort. That’s when they called us to see if we could help them streamline this process. I implemented the steps I outlined in posts 1, 2, 3, 4, and 5. The client saw some very significant improvements from a business value perspective…including…

  • A VERY significant reduction in the number of special post-image application installations.
  • Automated re-installation of required applications without the need for IT staff intervention.
  • Significant reduction in user downtime as a result of the migration process.
  • Consistency from an end user perspective. (i.e. My computer used to have Program X and it still does.)
  • Smoother Windows 7 migrations.
  • The company expects that significantly less travel will be required to perform the Windows 7 migrations.
  • Cost savings…both travel related and time related.

So…should you care about making your operating system deployments dynamic and adding the application replacement functionality to the process? If cost and time savings mean anything to you, then yes you should. Don’t know about you, but I’ve got better things to do with my life than to babysit an OS deployment! :-)

April 12, 2012 Posted by | ConfigMgr, MDT 2010 | Leave a comment

OSD and the MDT Database (5 of 5)

This is the last of a five part series on utilizing the MDT integration into Configuration Manager to improve your Operating System Deployment functionality. These processes will make your OSD setup much more dynamic. The series will be:

  1. Assumptions and creating the MDT database
  2. Dynamic OSD using the MDT Database
  3. Application Replacement #1…this post is the reason I started the series. Modifying the RetrievePackages stored procedure.
  4. Application Replacement #2. Populating the PackageMapping table.
  5. OSD and the MDT Database…connecting all the dots from the previous four posts. Setting up a task sequence to use the MDT database.

So, up to this point in this series we have put most of the pieces in place that are necessary to allow both Dynamic operating system deployments that are driven by the MDT database as well as perform Application Replacement during both Computer Refresh and Computer Replace scenarios. Now we need to tie all of this together and make it work together.

The two remaining pieces of the puzzle are:

  1. Create the CustomSettings.ini File
  2. Set up the Task Sequence to Process the Database Settings

Continue reading

April 11, 2012 Posted by | ConfigMgr, MDT 2010 | 1 Comment

Application Replacement (4 of 5)

This is the fourth of a five part series on utilizing the MDT integration into Configuration Manager to improve your Operating System Deployment functionality. These processes will make your OSD setup much more dynamic. The series will be:

  1. Assumptions and creating the MDT database
  2. Dynamic OSD using the MDT Database
  3. Application Replacement #1…this post is the reason I started the series. Modifying the RetrievePackages stored procedure.
  4. Application Replacement #2. Populating the PackageMapping table.
  5. OSD and the MDT Database…connecting all the dots from the previous four posts. Setting up a task sequence to use the MDT database.

In the previous post we modified the SQL stored procedure to make Package Mapping work for both a Refresh and Replace scenario. However neither scenario will work until we populate the PackageMapping table in the MDT database.

Populating the PackageMapping Table

The PackageMapping table has two columns: ARPName and Packages. Each entry in the table creates a correlation between a piece of installed software (ARPName) and a Configuration Manager Package/Program (Packages).

The values in the ARPName column come from the values in the Uninstall registry key. (HKLM\Software\Microsoft\Windows\CurrentVersion\Uninstall OR HKLM\Software\WOW6432Node\Microsoft\Windows\CurrentVersion\Uninstall). MSI installs will be GUIDs. Non-MSI installs will be other names…not necessarily the DisplayName from Add/Remove Programs. The value in this field corresponds with the SMS_G_System_ADD_REMOVE_PROGRAMS.ProdID field in the Configuration Manager database which is gathered by Hardware Inventory.

The Packages column contains the PackageID and Program Name for a Configuration Manager Package. The proper format for this column is: “XYZ00000:Program Name” where XYZ00000 is the Package ID, and “Program Name” is the exact name of the Configuration Manager Program Name in the package. Of particular importance, the values in the Packages column are case sensitive.

We need to do four things in order to populate this table:

  1. Obtain the ARPNames that we care about
  2. Obtain the Package:Program combinations that we will correlate to the ARPNames
  3. Correlate which ARPNames should install which Package:Program.
  4. Add the ARPName = Package:Program to the table

Continue reading

April 11, 2012 Posted by | ConfigMgr, MDT 2010 | 3 Comments

Application Replacement (3 of 5)

This is the third of a five part series on utilizing the MDT integration into Configuration Manager to improve your Operating System Deployment functionality. These processes will make your OSD setup much more dynamic. The series will be:

  1. Assumptions and creating the MDT database
  2. Dynamic OSD using the MDT Database
  3. Application Replacement #1…this post is the reason I started the series. Modifying the RetrievePackages stored procedure.
  4. Application Replacement #2. Populating the PackageMapping table.
  5. OSD and the MDT Database…connecting all the dots from the previous four posts. Setting up a task sequence to use the MDT database.

In the first post in this series, we set up the MDT database in our already functional Configuration Manager environment. The second post showed how to populate the MDT database in order to make our OSD process much more dynamic. This post will show the Application Replacement functionality.

Background:

For a while now MDT has included the ability to dynamically replace applications during a computer refresh scenario. (i.e. if the computer being reimaged has Visio installed, dynamically install Visio as part of the reimage) In a MDT only scenario, this is done with the UDI wizard via the Application Discovery pre-flight check. This can also be done using the integration with Configuration Manager…basing the software reinstall on the Configuration Manager inventory. While this functionality has been there for a while, I have found two pieces of it lacking:

  1. How to do this is buried in documentation that makes it a bit challenging to implement. (The MDT document that talks about this is a 497 page Word doc…good luck.)
  2. The process only works for a computer refresh scenario. It does not work in a computer replace situation…which is fairly common with my clients. They are not upgrading older Windows XP systems to Windows 7…they are replacing the computer. But they still need the user to have access to their current applications after the upgrade.

That is the reason for this blog post. First I want to show how to do this without having to dig through a huge doc. Second, I want to show how to modify this feature to allow for doing application replacement in both the Computer Refresh and the Computer Replace OSD scenarios.

Continue reading

April 11, 2012 Posted by | ConfigMgr, MDT 2010 | 3 Comments

Dynamic OSD using the MDT Database (2 of 5)

This is the second of a five part series on utilizing the MDT integration into Configuration Manager to improve your Operating System Deployment functionality. These processes will make your OSD setup much more dynamic. The series will be:

  1. Assumptions and creating the MDT database
  2. Dynamic OSD using the MDT Database
  3. Application Replacement #1…this post is the reason I started the series. Deals with necessary modifications to the RetrievePackages stored procedure.
  4. Application Replacement #2. Populating the PackageMapping table.
  5. OSD and the MDT Database…connecting all the dots from the previous four posts. Setting up a task sequence to use the MDT database.

In the first post in this series, we set up the MDT database in our already functional Configuration Manager environment. (Check the assumptions section of the previous post.) Now let’s look at populating the database with information that will make our OSD process much more dynamic.

Populate the MDT Database:

The MDT database can be used to customize the deployment of systems. Customization can be based on Location, Make/Model, Roles, or tied to a specific Computer via Asset Tag or MAC address. The customizations available are numerous and include software installation as well as various AD and OS settings.

Configure Locations

Locations in the MDT database are set up based on Default Gateway.

  1. Select Location, then click “New”. Continue reading

April 11, 2012 Posted by | ConfigMgr, MDT 2010 | 1 Comment

Configuration Manager and the MDT Database (1 of 5)

This is the first of a five part series on utilizing the MDT integration into Configuration Manager to improve your Operating System Deployment functionality. These processes will make your OSD setup much more dynamic. The series will be:

  1. Assumptions and creating the MDT database
  2. Dynamic OSD using the MDT Database
  3. Application Replacement…this post is the reason I started the series. This will discuss configuring the application replacement functionality (also referred to as package mapping)…one of the more powerful components of OSD once it is working correctly! In a nutshell, it is a process for dynamically replacing applications during a computer refresh or replace scenario. For example, if a computer has Visio installed and I re-image it…ensure that Visio is re-installed. Or…if Acrobat 6, 7, 8 or 9 is installed…replace it with Acrobat X. VERY nice! This post will detail the necessary modifications that must be made to the RetrievePackages stored procedure in order for this to work for both a Refresh and Replace scenario.
  4. Application Replacement #2. Populating the PackageMapping table.
  5. OSD and the MDT Database…connecting all the dots from the previous four posts. Setting up a task sequence to use the MDT database.

While the end goal of this series is to show you how to use the MDT database to perform dynamic application replacement in your Configuration Manager task sequence, there is a lot that must be put into place before we get there. First let’s deal with a few assumptions that I am making.

Assumptions:

  1. Configuration Manager 2007 is installed and functional
  2. OSD is functioning at a basic level…image is imported and can be deployed via a standard deployment task sequence
  3. MDT 2010 Update 1 is installed on the site server
  4. “Configure Configuration Manager Integration” has been run on the site server
  5. An MDT Task sequence has been created and the wizard has built packages for:
    1. USMT
    2. MDT Toolkit
    3. Custom Settings
  6. A boot image has been created using the “Create Microsoft Deployment Boot Image” wizard. During the wizard, ADO support must be added to the boot image. ADO support is required to be able to query a database from Windows PE. Any necessary Mass Storage and Wired NIC drivers should also be added to the boot image.

Creating the MDT Database:

  1. Log on to the server where MDT is installed with an account that has rights to create a database on the SQL server.
  2. Open the Deployment Workbench
  3. Right click “Deployment Shares” and choose to create a New Deployment Shareimage
  4. Walk through the rest of the wizard. Take note of the share name (the default share name is “DeploymentShare$”) as we will refer to that later. There is no need to populate the deployment share like you would need to do if just using MDT. Uncheck all of the checkboxes in the wizard (image capture, admin password, and product key).
  5. Expand Deployment Shares | MDT Deployment Share | Advanced Configuration | Database
  6. Right click Database, select New Database. Follow the New DB Wizard image
  7. Enter the SQL server that will host the DB. Choose “Named Pipes” for the Network Library. I have seen others who have commented that TCP/IP can be problematic. These were mostly old posts, so it may not be an issue any more. Whichever is used, be sure it is enabled on the SQL server. image
  8. Choose to create a new database. Give it a name that makes sense. (e.g. MDTdb) image
  9. On the SQL Share screen, choose any share that exists on the SQL server. This is only used for establishing that the credentials can work. It can be any share. In a single server scenario where the MDT Deployment share is on the server, you can use DeploymentShare$ that was created when you created the Deployment Share in step #3 above. If a special share is created just for this purpose, then a file should be created in the share to indicate its purpose to protect against accidental deletion because someone thinks it is not being used. image
  10. Continue through the wizard to finish. The new DB connection will appear in the Deployment Workbench. image

Summary:

This post walked through the background requirements and the initial creation of the MDT database…the necessary pre-reqs for the Application Replacement / Package Mapping functionality to work. The next post in the series will show you how to populate the MDT database to set the stage for customizing your OSD deployments.

April 11, 2012 Posted by | ConfigMgr, MDT 2010 | 2 Comments

Unknown Computer Bug in Configuration Manager 2012

I just posted an update to this issue. It has been submitted as a Design Change Request to the System Center Product Group.

Today I ran into what I believe to be a bug in the RTM of Configuration Manager 2012. (I have replicated the issue below multiple times in both the RC and RTM.) I’m submitting it on Connect and will update this post if I hear anything back from the product team. BTW…I have mixed feelings writing this post. On one hand it’s exciting to find a bug in a released product (Geek Nirvana). On the other hand, Configuration Manager 2012 is a very solid product that I’m very excited about…I don’t want to make it look bad. Anyway…

I was testing an OSD proof of concept at a client this morning. This is a Configuration Manager 2012 POC and we were deploying Windows 7 32bit over PXE to an HP desktop. I had the following in place:

  • OSD has been working fine.
  • PXE booting is working without problems.
  • I have previously deployed the Win7 image to a different hardware model without issues.
  • The Task Sequence is deployed to a Collection that has “All Unknown Computers” as members via an “Include Rule”

In this instance we were needing to deploy to a new model. I imported the drivers into Configuration Manager and added a new “Apply Driver Package” step into the Task Sequence. I forgot to add the new driver package to a Distribution Point…so when I kicked off the new bare metal deployment to this unknown computer, it naturally failed at the “resolving selected task sequence dependencies” check. I quickly realized what I had overlooked and added the driver package to the DP (and ensured it was source version 2…I was surprised to see that this is STILL an issue.). When I attempted to PXE boot the computer again (the unknown computer that had JUST run the task sequence as an unknown) it failed with the “abortpxe.com” error message that typically means that there is no Task Sequence deployment applicable to this computer.

5_AbortPXE

After doing some troubleshooting, I found the following issue…

When the task sequence starts for an unknown computer it creates a new computer object named “Unknown” in the “All Systems” collection. 2_AllSystemsMembership

This computer object has the MAC address and BIOS ID of the previously unknown computer…except that it is now a Known computer…not an Unknown computer…although the System Resource “Unknown Computer” property is set to “1”.

4_UnknownComputerObject_14_UnknownComputerObject_4

So…my deployment to “All Unknown” computers now fails. This is easy to resolve…simply delete the computer object named “Unknown” and restart the PXE process. But…at best this is an unexpected and undesirable result.

I was able to easily replicate this issue. Here are the steps to replicate the issue:

  1. Add a package to your Task Sequence that has not been distributed to a Distribution Point
  2. Deploy the Task sequence to a collection that includes “All Unknown Computers”
  3. PXE boot a computer that is unknown to Configuration Manager.
  4. Start the task sequence
  5. The Task Sequence fails at the “resolving selected task sequence dependencies” check because of the package in step #1
  6. Find the package that isn’t on a DP and distribute content to the DP (or simply remove it from the Task Sequence).
  7. Attempt to PXE boot the client again and you will get the “abortpxe.com” message. “TFTP Download: smsboot\x64\abortpxe.com. PXE Boot aborted. Booting to next device…”
  8. In “All Systems” is a computer object named “Unknown” that has the MAC address of the system that was previously unknown. Because it is in the database, it is now a “known” computer…so deployments to “Unknown Computers” won’t pick up this computer any more.

Options to resolve:

  1. Delete the computer object(s) named “Unknown” from All Systems
  2. Add a query rule to the Collection that grabs new computers where the System Resource “Unknown Computer” property = “1”

Note for Option 2: if the TS continues to fail, it will create a second/third/etc object with different resource IDs.

April 6, 2012 Posted by | ConfigMgr 2012 | 14 Comments

Windows 7 Customizations

Over the last few years as a consultant I’ve had numerous engagements where clients wanted to customize the look/feel/settings in Windows 7. Different clients had different requirements around which customizations, whether it was permanent or a preference, etc. Below is a list of several customizations that I have helped clients perform. Many of these are found at various locations in forums, blog posts and Microsoft documentation. My goal is to gather these into one location so that it is easier for some of the more common (and for that matter some of the more obscure) customizations to be found. These are in no particular order. I will update this list from time to time. If you have any favorite customizations that you’d like to pass on, email me on my contact form and I’ll add them in. This post is REALLY long, so click the “Read More” link if you want to see the customizations.

Continue reading

April 1, 2012 Posted by | ConfigMgr, ConfigMgr 2012, MDT 2010, Windows 7 | 1 Comment

Three Year Old Tricks

“Julie, HELP NOW!!!”

Those were my words a half hour ago when I went downstairs to get my three year old son to bring him up for lunch. What I found was my son:

  • Naked
  • On top of the clothes dryer
  • Squatting in a huge puddle of Downy fabric softener
  • Whimpering and asking for help

He had emptied the entire gallon container of Downy (the one I bought yesterday). It was puddled on top of the dryer…running down into the dryer…running down into the washer…puddled on the floor underneath both. It was truly a sight to behold. He smells very fragrant right now. For that matter…the entire house is smelling quite lovely!

April 1, 2012 Posted by | family, kids | 1 Comment

MMS Bible Study Update

Just a brief update on the MMS Bible Study that I posted about a while back. Rod sent me the info on the room that he was able to nail down for us. We will be meeting in Marco Polo 702 at the Venetian before the conference breakfast. The plan is to start at 7:30 and be done no later than 8:00 each morning to allow time to have breakfast before the first meeting. Rod has a map on his blog post to show where the room is…check it out.

It’s been cool to hear from several of you that are going to be meeting with us for the first time, and a bummer for those who have met with us before that aren’t able to come to MMS this year. Looking forward to seeing you in Vegas!

March 25, 2012 Posted by | Jesus, MMS 2012 | Leave a comment

Visio Stencil for Configuration Manager 2012

Over the years I have used the Visio stencil for Configuration Manager 2007 that is on myITforum.com (Thanks Rod!). It’s been great for creating diagrams of a Configuration Manager hierarchy for various clients. With Configuration Manager 2012 on the horizon, I’ve already done a design for a reasonably large client, and I’m prepping  my session for MMS which is about hierarchy simplification…having a Visio Stencil for CM2012 would be really hand. I’ve looked multiple times…have not been able to locate a Visio stencil for 2012 anywhere. Had searched every search term I could think of…had called Brian Mason (Configuration Manager MVP) and he didn’t know where to find one. Basically I had completely struck out.

Last night I was emailing Stefan Schorling (another Configuration Manager MVP) about something unrelated and at the last second thought to ask if he knew where I could get one. SCORE!!! This morning Stefan had emailed back with a link to Jean-Sébastien DUCHÊNE’s blog (yet another Configuration Manager MVP) where he has posted a Visio stencil for Configuration Manager 2012! A huge thanks to Stefan for sending the link and to Jean-Sébastien for creating and posting the stencil!

The reason it never turned up in my searches was I kept searching on “visio stencil” (with the quotes). Because Jean-Sébastien’s site is in French, those words are reversed…a search for “stencil visio” would have found the link.

March 2, 2012 Posted by | ConfigMgr 2012, MMS 2012 | 3 Comments

%d bloggers like this: