More Johan…

Johan is a great resource for deployment information. He does a lot of public presentations that are available on Youtube.

Here is one on Windows 8 deployment and optimization.


Here we have an interview with Johan and Mikael at TechED Europe, 2013.



THE Sources for SCCM info..

If you are looking for information on Windows deployment using SCCM or MDT, these are the places to look first!

First two links are for two swedes who literally wrote the books on Windows deployment. Johan Arwidmark and Mikael Nystrom are true experts in the field. Together they write the books and teach classes on the subject as well as private contracting. They have a sort of yin and yang personality mesh with Mikael being the comic relief and Johan being the more serious and down-to-business type. I think that will be obvious when you look at the two different approaches to their personal web sites.

First up is Johan’s Deployment Research site.

Next, Mikael’s The Deployment Bunny site.

I would also recommend following them on Google Plus: Johan Arwidmark & Mikael Nystrom

SDR Success!



Here you can see my first successful configuration and reception with my SDR. This is a program called Virtual Radar. I have combined it with a program called ADSB# and together they allow me to receive and decode transponder signals from aircraft! How cool is that??! Click on the image above to see it in full size. On it you will see that I was tracking an aircraft flying from Jamaica to Calgary.

The $14.95 Software Defined Radio!

So I just picked up this gadget from Amazon for $14.95 shipped. It is designed to be a TV tuner for a laptop, but underneath the unimpressive exterior is a real marvel of hardware engineering. This is actually what is known as a Software defined radio or SDR for short.

Standard radios are designed to pickup a specific set of frequencies. For instance, your car radio is designed to pickup the FM and AM bands which run from 87.5 MHz to 108 MHz and 540KHz – 1640 KHz respectively. That is all it will pickup without serious modification or external circuitry added. That is the past. The now is SDR. The chip inside this TV tuner card is actually designed to be able to receive signals anywhere from 25 MHz to 1.7 GHz. That covers a lot of different radio frequencies! All that is needed is the software to access the extended capabilities of the hardware inside. I will be chronicling the adventure of setting this SDR device up with future posts to the blog.

Here is the link at Amazon:

Refinement is the lock, practice is the key….

We are now sitting on 30+ new system setups that have arrived for installation. We started using the new procedures today. So far, the PE disc with the new menu is flawless and avoids the reboot pitfall that would be required if the command script version failed to map a drive. My initial written procedures are showing some weakness, so I will be making adjustments to both the transfer checklist and cheat sheet.

Creating a Windows Style Interface

For initial testing purposes, I have simply been firing off the imaging process with a fixed command script at boot-up. Now that I have determined that the process will work, I have created the initial windows GUI interface for selecting images.

Custom Menu

The plan is to create an easy to maintain menu system that can be updated with a custom program that uses text files as input. Currently I am trying to limit modifications to the variables at the top of the code.

Here is the code for this menu:

; BartPE Autoimaging Menu
; Author: Stephen H Emert
;R1 - December 11th. 2008
;R2 - Feruary 17th. 2009
;R3 - March 22nd. 2009
;R4 - April 3rd. 2009

AutoItSetOption ( "ExpandEnvStrings" , 1 )


; Any updates for future images or drive mapping revisions will be made to these global variables only.
; There will be no need to change any of the code!!!
Global $sharepath="\\\Monet"
;Global $sharepath="\\raid\raid"
Global $shareusername="ttu\support"
Global $gx755="FinalImage.GHO"
Global $gx960="OPLX960.GHO"
Global $imagepath="z:\Images\Autodeploy\"
Global $imagelisting="Optiplex 755|Optiplex 960|Custom"
Global $ghostpath="%systemdrive%\Programs\ghost8"
Global $ghostoptionshead=" -clone,MODE=LOAD,SRC="
Global $ghostoptionstail=",DST=1 -sure -rb"

Opt("GUIOnEventMode", 1) ; Change to OnEvent mode
$mainwindow = GUICreate("Tennessee Tech Automated Imaging Disc Menu", 400, 400)
GUICtrlCreateLabel("Enter the password for the image directory share on Elvis:", 30, 15)
$password=GUICtrlCreateInput ( "", 30, 35, 80, 20, 32 )

GUICtrlCreateLabel("Please select the model of system you wish to image", 30, 80)
$imagefile=GUICtrlCreateCombo("Please Select An Image", 30, 105)

;GUICtrlSetData(-1, "Optiplex 755|Optiplex 960|Custom", "")
GUICtrlSetData(-1, $imagelisting, "") ; use a variable to setup the drop down list.

GUISetState() ; will display an empty dialog box with a combo control with focus on
$okbutton = GUICtrlCreateButton("Apply Image", 70, 140, 90)
$cancelbutton = GUICtrlCreateButton("Cancel", 180, 140, 90)
GUICtrlSetOnEvent($okbutton, "OKButton")
GUICtrlSetOnEvent($cancelbutton, "CLOSEClicked")

While 1
Sleep(1000) ; Idle around

; The OKButton Function will be executed when the "Apply Image" button is clicked. This funtion verifies all window input, mapps the appropriate
; drive and starts the imaging process. There is error handling included for failed drive mappings due to password or network cable issues.
Func OKButton()

If GUICtrlRead($imagefile)="Please Select An Image" Then ; Was an image file selected?
MsgBox(16, "No Image Selected!", "You did not select an image file, please try again... dummy") ;No image file selected

Elseif DriveMapAdd("z:", $sharepath, 0, $shareusername, GUICtrlRead($password))=0 Then ;attempt to map the drive.
MsgBox(16, "Drive Mapping Failed!", "Make sure the password is correct and that the network cable is plugged in, then try again!... dummy") ; Drive map failed!
; If mapping is successful, complete commands in this else statement.
Case GUICtrlRead($imagefile)="Optiplex 755"
Case GUICtrlRead($imagefile)="Optiplex 960"
Case GUICtrlRead($imagefile)="Custom"

;MsgBox(0, "GUI Event", GUICtrlRead($imagefile) & " " & GUICtrlRead($password) & " " & $ghosttargetfile) ;Debugging window

If $ghosttargetfile="Custom" Then
MsgBox(16, "No Image Selected!","Custom selections are not supported yet!... (Coming soon dummy)")

;ShellExecute("ghost32.exe","", $ghostpath, "open")
ShellExecute("ghost32.exe", $ghostoptionshead&$imagepath&$ghosttargetfile&$ghostoptionstail, $ghostpath, "open")
;ShellExecute("ghost32.exe", $ghostoptionshead & $imagepath & $ghosttargetfile & $ghostoptionstail, $ghostpath, "open")
;MsgBox(0, "GUI Event", GUICtrlRead($imagefile) & " " & GUICtrlRead($password))
;MsgBox(0, "GUI Event", "ghost32.exe" & " " & $ghostoptionshead & " " & $ghosttargetfile & " " & $ghostoptionstail & " " & $ghostpath)


;This function handles the exiting of the program should the cancel button or red X be pressed.
Func CLOSEClicked()


Documented procedures will be key to the successful implementation of this system. I have been running through some system setups and taking notes. Developing this in a live environment can be awkward, but at least it is easy to fix a problem prior to delivering the system. We are picking up new computers and bringing them back to the office for setup. We are not delivering them until ready for use. I have already created a base image for the Optiplex 755’s that are the current models being purchased by the University.

I have created a basic PE disk using a community supported utility called Bart PE. It makes the creation of customized PE discs incredibly less complicated. There are many community created plug-ins for integrating off-the-shelf applications into the PE disc. I have already made one that includes a version of Ghost that the ACS office had a license for. I will be adding additional utilities that will aid in Spyware and Malware removal.