Orchestrator dabbling part 1

Recently, I have started looking more into System Center Orchestrator in my position to automate some basic tasks and possibly some more time consuming things over time.

The first couple things I came up with I thought could be helpful to others, so wanted to post up some information on the run books I have created, and what their purpose is and what they accomplish for me.

The first goal I wanted to accomplish was work out a way, that my test bed computers could have their OS refreshed on a weekly basis to keep them clean for future testing each week, without having to manually go in and kick off a Task Sequence as I was doing.

What I came up with a pretty basic run book that does the following, I will explain some parts of these steps later in the post.

Test-Bed-Scheduled-Reimage

  1. Check for specific time of the Day (in my case 10:00 AM)
  2. Check a Schedule (Every Sunday)
  3. Copy my Windows 10 Task Sequence
  4. Rename the Task Sequence (Name it with Date Appended as its a one time use TS)
  5. Deploy the Task Sequence to chosen collection.
  6. Send Email to me, so that I know it happened

The first 2 steps are quite basic (I only want the test bed to re-image on Sunday mornings, so I have it check for it being Sunday and check that its the time I want the re-image to happen at.)

For step 3, the reason I make a copy of a current task sequence for a few reasons

  • Having a custom Task Sequence allows for tracking and reporting of that specific one
  • As I want this to happen weekly, if I use the same task sequence from week to week, I would have to work around the Re-Run option of the task sequence.

The task sequence gets renamed, as by default when you copy a Task Sequence its given the same name as the original with just Package ID attached, I wanted a more standard name, and also needed to know the name going forward to be able to deploy it to the chosen collection with Orchestrator.

Then I use the Configmgr IP Connection from Orchestrator to deploy the new Task Sequence to my chosen collection.

Now to break down some of the steps and show how I am accomplishing the goal.

For the Copy TS step, I am using the following powershell script using the basic execute powershell script IP.

Import-Module “c:\Program Files (x86)\Microsoft Configuration Manager\AdminConsole\bin\ConfigurationManager.psd1”
Set-Location “YOURSITECODE:\”
Copy-CMTaskSequence -Name “Windows 10 – Known Computer”
Sleep 30
$DayofMonth = (Get-Date).Day
$Year = (Get-Date).Year
$Month = (Get-Date).Month
$DateInfo = “$Month/$DayofMonth/$Year”
$TStoUse = Get-CMTaskSequence | Where-Object {$_.Name -like “*Known*FS*”} | Select-Object -ExpandProperty Name
$TS = Get-WmiObject -ComputerName FSUSCCM -Class SMS_TaskSequencePackage -Namespace root\sms\site_SITECODE | Where-Object {$_.Name -eq $TStoUse}
$TS.Name = “Windows-10-Test-Bed-$DateInfo”
$TS.Put()
Sleep 10

What happens in this script, is

  1. I import the ConfigMgr Powershell module
  2. Set location to the site code location to be able to run Scripts against Configuration Manger.
  3. Copy my current Windows 10 Task sequence
  4. Get the date and format the way I want it for the new TS Name.
  5. Use WMI to find a Task Sequence that has a name like “Known FS”, possibly not the best way, but this worked for me to be able to find the newly created TS from the copy.
  6. Rename the TS to Windows-10-Test-Bed-“The date format from earlier”

Next step is just a quick Run .Net script using Powershell also, to get the name into a variable that I can use in the Deploy Task Sequence activity.  With this, I also set the Published Data to be the final Variable $TestBedTS as this will be the name of the newly created and renamed Task Sequence for deployment.

$DayofMonth = (Get-Date).Day
$Year = (Get-Date).Year
$Month = (Get-Date).Month
$DateInfo = “$Month/$DayofMonth/$Year”
$TestBedTS = “Windows-10-Test-Bed-$DateInfo”

Next, I use the Deploy Task Sequence activity with the Name just being a name for my information, Task Sequence is published data from the previous step, which will tell it the name of the Task Sequence to use.  Collection is set to my test bed collection by name.  It is a required TS and the run behavior is to never rerun the program.

That is basically it, the other steps I have are one for it to send me an email stating the task sequence was created and deployed

Task Sequence Deployed: PUBLISHED DATA of the Task sequence name.

I then run a machine policy retrieval against the computers in the collection to attempt to jump start them knowing there is a new TS required for them.

Note this is probable not the best or cleanliest way to accomplish this, but gave me a reason to start dabbling in Orchestrator again, and it works for my purposes so far.  Any questions feel free to reach out, and I will assist as I can.

Thanks for reading

 

Super SCCM Console

Hello

A bit ago, I stumbled across a post somewhere, (Cannot find it now for the life of me) where someone had a bit of a custom install of the SCCM Console that included various different tools into a singular install.

As I have been unable to find that, I decided to create one and wanted to share it here for anybody that may find it useful.

The installation is done using the Powershell App Deployment Toolkit (www.psappdeploytoolkit.com)

It installs the following applications.

  1. Microsoft Configuration Manager Console – This is for Version CB1706 of SCCM
  2. Cireson Remote Manage App (http://cireson.com/apps/remote-manage/)
  3. NowMicro Recast Right Click Tools (http://www.nowmicro.com/Software/Recast)
  4. ConfigMgr 2012 Toolkit R2 (https://www.microsoft.com/en-us/download/details.aspx?id=50012)
  5. Configuration Manager Support Center (https://www.microsoft.com/en-us/download/details.aspx?id=42645)

This can be downloaded from

https://1drv.ms/u/s!AqqO-dnijqRbhA37UPKCvhUFD2-D

Once you have it downloaded you will need to extract it, and then modify the Deploy-Application.ps1 file on Line 144 you will see a spot to enter your Site Server information for the SCCM Console itself.

If you are not on 1706 of SCCM, you will need to replace the ConsoleSetup.Exe, AdminConsole.Msi files from under the Files directory with your SCCM Console installer.

Once you have that updated, it can be installed / deployed with either the PS script or the EXE file, with the following command line

Deploy-Application.ps1 -DeploymentType ‘Install’ -DeployMode ‘Silent’

Deploy-Application.exe -DeploymentType ‘Install’ -DeployMode ‘Silent’

If you omit the Silent it will give the option to defer the installation 1 time.

To remove the applications you can run

Deploy-Application.ps1 -DeploymentType ‘UnInstall’ -DeployMode ‘Silent’

Deploy-Application.exe -DeploymentType ‘UnInstall’ -DeployMode ‘Silent’

I plan to add this to our Software Center for the Techs to be able to install to get the Console and free tools all in one install.

Hopefully it is useful to others.

 

 

 

 

ConfigMgr Community Tools Downloader

Found another nice tool that may be helpful to others.  The ConfigMgr Community Tools Downloader is a tool that gives you a central location to download various helpful tools for ConfigMgr.  Download link – https://gallery.technet.microsoft.com/ConfigMgr-Community-Tools-4c839078

Some of the tools that this will let you download were mentioned in my previous post but there are also many other helpful tools on there for setting up and troubleshooting ConfigMgr.

Helpful ConfigMgr Tools

Figured a good start for this blog, would be to list some of the common tools I use quite often to troubleshoot and accomplish various things in my environment with System Center Configuration Manager.

  1.  Now Micro Recast RCT (Right Click Tools)
    1. These are extremely helpful for performing many different functions on your client computers / collections with a simple right click menu.  Their is both a free and enterprise version.  The enterprise adds some extra functionality such as a mobile app that allows you to do many tasks on the go.
  2. ConfigMgr Deployment Reporter
    1. Useful tool for getting more detailed information on your deployments to see what succeeded / failed without having to query SQL yourself.  Also creates nice little reports / graphs.
  3. ConfigMgr Remote Compliance
    1. Used to get information about Compliance baselines on machines, for troubleshooting and such.
  4. ConfigMgr Task Sequence Monitor
    1. Updated status of running / previously ran task sequences, where you can see what step they are on, if they completed successfully, or if they error-ed at what step.  Helpful for monitoring OS Deployments.
  5. System Center 2012 R2 Configuration Manager Toolkit
    1. Collection of tools for monitoring various parts of ConfigMgr.  Couple of the handy tools are DP Job Manager which will show you information about currently distributing packages so you can monitor them.  Content Library tool allows you to see the various content on your DP’s good to see if content got updated.
  6. Client Center for Configuration Manager
    1. Tool for viewing a lot of information about a client remotely, you can connect to a remote machine and get various information about its ConfigMgr status, and also force things to happen on the client, such as software scans and deployments.
  7. Powershell App Deploy Toolkit
    1. Used to create customized application deployments with powershell, that will allow a user to defer the installation a number of times that you specify and also show status during the install.  Also handles pre and post tasks on the installs for removal of previous software or settings.
  8. CMTrace
    1. This one is pretty basic, a very nice log viewer for looking at ConfigMgr logs, it is located on your site server.  I personally copy it into my base images so that its available on every machine that gets deployed to make the technicians job easier when troubleshooting.

I am sure there are more that I am not thinking of currently but these are some of the tops ones I use almost daily for various tasks, hopefully this will be helpful to someone else.

First time blogging

This is my first ever time blogging and first post.  This blog will mostly be a place for me to post things I have learned, am working on, new technologies, and other random ramblings of the IT world.  The main focus of it will be about things I do at my current job (Configmgr and VMWare Horizon View) and things I play with at home.