Brandon Linton @ myITforum

Breaking stuff from the inside out!
Deployment Roadshow and TechEd in Atlanta

Show some love to Johan & Mikael and check them out at TechEd and their upcoming Deployment roadshow I am sure you wont be disappointed! Smile

To all our deployment friends, readers of Deployment Fundamentals volume 1.

This is Johan and Mikael writing, we just wanted to let you know about a few opportunities to learn even more on Windows Deployment. In the US we will present at Microsoft TechEd in Atlanta, and in Europe we will be doing a deployment roadshow. Last but not least, Deployment Fundamentals now has a Facebook page.

Microsoft TechEd in Atlanta,

In addition to a few breakout sessions, Mikael is presenting PRC15 Mastering Windows 7 Deployments Using Windows Deployment Services and Microsoft Deployment Toolkit 2010 Lite Touch

In addition to a few breakout sessions, Johan is presenting PRC08 Unleash the Power of Microsoft System Center Configuration Manager 2007 OS Deployment

Deployment Roadshow in Europe

In May, we will be touring through Europe, presenting a full-day super-workshop, filled with tips & tricks from the real world on how to deploy Windows 7 and Office 2010. The Deployment Roadshow

Deployment Fundamentals now on Facebook

Also, please say hi to (and maybe “like”?) our new Deployment Fundamentals page on Facebook

ConfigMgr Query like ZTIGather.wsf…

The Logic in the ZTIGather.wsf script creates some awesome variables etc… that can be used during the imaging process with MDT Integration.  A few of the neat ones are for chassis type and if a machine is a Virtual Machine or not.  Wouldn’t it be kinda cool if you could see ahead of time what that logic looks like and if your machines would fall into one of these classifications?  Well we have been doing that for years and most people are already doing it with query's, reports, collections etc.…  I have just added the exact logic as close as I could find possible into some ConfigMgr Queries that you can add in and use!

Enjoy!

IsDesktop

select SMS_R_System.Name, SMS_R_System.SMSAssignedSites, SMS_R_System.IPAddresses, SMS_R_System.IPSubnets, SMS_R_System.OperatingSystemNameandVersion, SMS_R_System.ResourceDomainORWorkgroup, SMS_R_System.LastLogonUserDomain, SMS_R_System.LastLogonUserName, SMS_R_System.SMSUniqueIdentifier, SMS_R_System.ResourceId, SMS_R_System.NetbiosName from  SMS_R_System inner join SMS_G_System_SYSTEM_ENCLOSURE on SMS_G_System_SYSTEM_ENCLOSURE.ResourceID = SMS_R_System.ResourceId where SMS_G_System_SYSTEM_ENCLOSURE.ChassisTypes in ("3","4","5","6","7","15","16")

 

IsLaptop

select SMS_R_System.Name, SMS_R_System.SMSAssignedSites, SMS_R_System.IPAddresses, SMS_R_System.IPSubnets, SMS_R_System.OperatingSystemNameandVersion, SMS_R_System.ResourceDomainORWorkgroup, SMS_R_System.LastLogonUserDomain, SMS_R_System.LastLogonUserName, SMS_R_System.SMSUniqueIdentifier, SMS_R_System.ResourceId, SMS_R_System.NetbiosName from  SMS_R_System inner join SMS_G_System_SYSTEM_ENCLOSURE on SMS_G_System_SYSTEM_ENCLOSURE.ResourceID = SMS_R_System.ResourceId where SMS_G_System_SYSTEM_ENCLOSURE.ChassisTypes in ("8","9","10","11","12","14","18","21")

IsServer

select SMS_R_System.Name, SMS_R_System.SMSAssignedSites, SMS_R_System.IPAddresses, SMS_R_System.IPSubnets, SMS_R_System.OperatingSystemNameandVersion, SMS_R_System.ResourceDomainORWorkgroup, SMS_R_System.LastLogonUserDomain, SMS_R_System.LastLogonUserName, SMS_R_System.SMSUniqueIdentifier, SMS_R_System.ResourceId, SMS_R_System.NetbiosName from  SMS_R_System inner join SMS_G_System_SYSTEM_ENCLOSURE on SMS_G_System_SYSTEM_ENCLOSURE.ResourceID = SMS_R_System.ResourceId where SMS_G_System_SYSTEM_ENCLOSURE.ChassisTypes in ("23")

IsVM

select SMS_R_System.Name, SMS_R_System.SMSAssignedSites, SMS_R_System.IPAddresses, SMS_R_System.IPSubnets, SMS_R_System.OperatingSystemNameandVersion, SMS_R_System.ResourceDomainORWorkgroup, SMS_R_System.LastLogonUserDomain, SMS_R_System.LastLogonUserName, SMS_R_System.SMSUniqueIdentifier, SMS_R_System.ResourceId, SMS_R_System.NetbiosName from  SMS_R_System inner join SMS_G_System_COMPUTER_SYSTEM on SMS_G_System_COMPUTER_SYSTEM.ResourceID = SMS_R_System.ResourceId where SMS_G_System_COMPUTER_SYSTEM.Manufacturer in ("VMware, Inc.","Microsoft Corporation") order by SMS_R_System.Name

 

image

ConfigMgr OSD Eject CD-Rom

At my current client we are working on a Windows 7 Migration with Bitlocker enabled.  One of the challenges is that during the Bitlocker Task Sequence step if media is still in the CD-Rom than an a message box is presented asking to remove before Bitlocker is enabled… We wanted a method to eject the CD-Rom if found so the process isn't halted until someone removes the disc.  I did a quick search and found some AutoIT code to handle this very task.  The EXE will look for any CD-Rom drives on the system and eject the tray.  This also comes in handy if using boot cd’s and your technicians forget to remove the cd before delivering to ac client it will now be a little harder for them to forget if the tray is already open.  Below is the code and a link to download the source and compiled executable.  To run just add to your MDT Toolkit package and add as a general run command.

;//////////////////////////////////////////////////////////////////////
;//
;// ScriptName: EjectDrive.exe
;//
;// Author: Brandon A. Linton
;//
;// Purpose: Eject CD-Rom Drive
;//
;// Created: 04/04/2011 Ver 1.0
;//
;// Disclaimer: Use at your own risk no warranty or support provided.
;//
;//  Source Code Found at Below Link Original Author Not Defined.
;// http://www.autoitscript.com/forum/topic/92974-cdtray-in-winpe/
;//
;//////////////////////////////////////////////////////////////////////

$aDrives = DriveGetDrive("all")
If Not @error Then
    ;MsgBox(4096,"", "Found " & $aDrives[0] & " drives")
    For $i = 1 To $aDrives[0]
        ;MsgBox(4096,"Drive " & $i, $aDrives[$i])
        If DriveGetType($aDrives[$i] & "\") = "CDROM" Then
            $sDrive = StringUpper($aDrives[$i]) & "\"
            ExitLoop
        EndIf
    Next
EndIf

$oShell = ObjCreate("Shell.Application")
$oShell.Namespace(17).ParseName($sDrive).InvokeVerb("Eject")

$iTimer = TimerInit()
While DriveStatus($sDrive) <> "NOTREADY" And TimerDiff($iTimer) < 10000
    Sleep(10)
WEnd

Download Link: EjectDrive.zip

Enhansoft FREE SSRS Reports!!!

That’s right!!!  Enhansoft has been giving away FREE SSRS Reports for ConfigMgr!  Each month a new report is given away all you have to do is request the license key before the end of the month and its all yours. Smile  I think everyone has to give Garth some credit for being the first to start providing free reports for SSRS and help get everyone migrated away from those old style nasty ASP Reports!  Below are some screenshots of the installation process and what a sample report looks like.  Hope everyone enjoys and heads over to http://www.enhansoft.com/index.aspx to check out some of their other offerings.

May’s FREE SSRS Report Link

1) Obtain Installer and License Key

image

2) Run the Enhansoft Report Setup installer and select Next.

image

3) Accept the license agreement

image

4) Import your license key and select Next.

image

5) Choose to create reports and where to store any documentation and select Next.

image

6) Confirm the Reporting Services Connection String and select Next.

image

7) Select the reports you would like to install and select Next.

image

8) Setup Completes Select Finish.

image

9) In the ConfigMgr Console you will now notice a NEW report folder called “Enhansoft Custom Reports”.

image

10) And you now have a shiny new SSRS Report!

image

Posted: Apr 05 2011, 07:28 PM by brandonlinton | with no comments
Filed under: , ,
Getting Around MMS 2011 in Vegas!

With MMS coming soon everyone is sure to be looking for ways to get around vegas with the most ease and without getting ripped off as much as possible that is... Smile

Below are a few links to help out!

Las Vegas Taxi Cab Authority - http://taxi.state.nv.us/

Taxi Cab Authority Fare’s - http://taxi.state.nv.us/FaresFees.htm

McCarran Shuttle’s  - http://www.mccarran.com/03_Shuttles_01.aspx

Las Vegas Strip Map - http://www.lasvegasmaps.com/stripmap.html

Las Vegas Monorail - http://www.vegas.com/transportation/monorails.html

Walking Map - http://www.budgettravel.com/bt-srv/images/GG06_vegasmap.pdf

Posted: Mar 15 2011, 09:38 PM by brandonlinton | with no comments
Filed under:
Dell OMCI 7.8 Bios Configuration Scripts

I had a need recently to automate all Dell system bios settings at a client site for their automated deployment of Windows 7.  Luckily Dell has some great sample scripts on the Dell Techcenter to go off of so my work wasn’t that tough for this project.  All scripts are based off of the Sample Scripts on Dell Techcenter with the addition of all scripts accepting two arguments one for system name and one for system password, if no password is desired or needed simply supply a pair of double quotes like “” and no password will be used.  All of these scripts were written for use with Dell OMCI 7.8 and will not work with OMCI 8.0.  I will be working to convert these over to the new standard eventually but wanted to share what I have now so others don’t have to reinvent the wheel. 

Please use at your own risk!!!

all scripts can be ran by supplying the following cmd line substituted with the script desired:

cscript.exe //nologo samplescript.vbs “.” “Password”

Dell Bios Configuration Scripts.zip

Thanks,
Brandon

CEP Theme 10: Migrating from ConfigMgr 2007 to ConfigMgr 2012

Out of all the CEP Meeting’s this is one not to miss…

Configuration Manager 2012 provides functionality that allows customers to more easily and effectively migrate from Configuration Manager 2007 to Configuration Manager 2012. This presentation will provide a technical overview of the automated object migration, distribution point sharing, distribution point upgrade along with other considerations that every customer must plan for during migration. This is a “must attend session” for any customer that has Configuration Manager 2007 deployed and are wondering how to migrate to Configuration Manager 2012

Virtual Lab:

TechNet Virtual Lab: Migrating from Configuration Manager 2007 to Configuration Manager v.Next

Virtual Chalk Talk:

Wednesday, February 23, 9:00 AM PST

Speaker:

Eric Orman is a Program Manager in the System Center Configuration Manager team with a primary focus on the Migration feature and also Remote Control. Eric served as the ConfigMgr TAP program manager for the last three years. His primary TAP customer for ConfigMgr 2012 is Microsoft IT. Before joining the ConfigMgr team he worked in MSIT in the MPSD team as a program manager for ConfigMgr deployments of ConfigMgr 2007, Sp1/R2, and MSIT pilot of Windows Server 2008 NAP.

ConfigMgr OSD - Install Software that requires "Allow User Interaction" during Task Sequence deployment

Today i needed to install a particular piece of software that ran fine during a manuall install we later found that the ConfigMgr Package required the "Allow User Interaction" Checkbox marked on the program.  This of course was a problem because once you select that option the package is no longer able to be selected in your task sequence.  After some quick internet searching i found a great article that explained how you can use ServiceUI.exe from the MDT 2010 Update 1 Toolkit to launch Executables outside of Session 0.  This is an extreme help and many thanks goes out to Cameron for finding this!!!

Read more at Cameron's blog http://blogs.technet.com/b/cameronk/archive/2011/01/25/can-i-use-serviceui-exe-to-launch-other-programs-besides-the-udi-setup-wizard.aspx

To get it to work just open your task sequence and add a general run command line step and reference the package you want to install.  Next add the below code as your command line:

%ToolRoot%\ServiceUI.exe -process:tsprogressui.exe MyCustomApplication.exe

Your step should look like the following and you are all set!  Hope this helps everyone out that is having problems installing applications with interaction.

WAIK for Windows 7 SP1 Now Available!!!

Download the updated WAIK toolkit for deploying Windows 7 SP1

http://www.microsoft.com/downloads/en/details.aspx?FamilyID=696dd665-9f76-4177-a811-39c26d3b3b34&displaylang=en

Congratulations MMS Ticket Winners!

Well this weekend I was pleased to see the below email in my inbox!  Thanks to the ConfigMgr Community Evaluation Program I have just won a ticket to MMS 2011!!!

Congratulations to the winners of the drawing for tickets to the Microsoft Management Summit!

Vitalie Ciobanu
Peter Daalmans
Brandon Linton
Jonathan Robbins
Andrew Sallabank

About MMS: From keynotes to track sessions to hands-on labs and face-to-face access to Microsoft and industry IT management experts, MMS provides a “can’t-miss” opportunity to be among the first to learn about new technologies spanning System Center, Windows Server, and Windows Azure. Witness the power of being able to use a common toolset, in a consistent way for your desktop, datacenter, cloud infrastructure and applications! Tthe early registration discount is available through February 14 at the MMS Website.

We hope to see you there!

The Configuration Manager Community Evaluation Program Team

Manually remove Hardlinks from a failed deployment

USMT Hardlink migrations are awesome but if you do not remove them they can persist and cause problems down the road.  To manually remove them just use usmtutils cmd line options to remove.

usmtutils /rd %systemdrive%\statestore

Posted: Jan 27 2011, 10:11 AM by brandonlinton | with no comments |
Filed under:
MMS 2011 Registration has just been submitted! :)

MMS 2011 Design

I finally got off my butt and I am officially registered for MMS 2011 and will be staying at the Mandalay Bay cant wait to see you all there!!! Smile

Posted: Jan 26 2011, 06:32 PM by brandonlinton | with 2 comment(s) |
Filed under:
myITforum Donations

If you are currently using myITforum in any capacity you already understand the value in it so why not throw them a bone and make a donation to help fund the site and keep it fresh. 

http://www.myitforum.com/donations/

OSD–How to Refresh Encrypted Systems and Gather User Settings and Data…

Ok a lot of us are forced to implement full disk encryption and unfortunately most of the time our input into the solution is never requested.  So ConfigMgr & MDT have built-in actions to handle HDD Encryption by disabling the protectors etc..  Third party products generally don't provide these means as its considered a security risk.  So the challenge is how do i perform a computer refresh to my computer systems that are encrypted?  Well you could painfully decrypt the HDD but that would take hours.  You could even just blow the system away and not worry about the data if your policies allowed for that.  But for us suckers who care about our users or are forced to care about our users!  Smile

We have to come up with a solution that will work, which brings us to the purpose of this blog posting.

We will use a Client Replace Task Sequence to gather the data, then we will use another task sequence that is MDT Integrated to Refresh the system as a bare metal New computer deployment and restore the data.

1) First you are going to create a Standard Client Replace Task Sequence Below are the steps actually needed for this to work. (this has been slightly modified to remove and add certain features that are needed)

TS

2) If you plan on specifying any capture options  you can place them in the TS using the OSDMigrateAdditionalOptions variable like below. NOTE: if you use the /ue or /ui switches you need to implement step 4 otherwise the TS will use the /all switch which will break your TS.OSDMigrationAdditionalOptions

3) Now if you plan on refreshing from XP to Windows 7 you will need to incorporate a fix to account for settings that will not migrate which can be found at the below link. see screenshot for example.

http://support.microsoft.com/kb/2018593

dlmanifests

4) If you are using any capture options that use the /ue or /ui switches you need to specify how user profiles will be captured by selecting the Config files you want to use with your capture otherwise the TS will use the /all switch.

CaptureOptions

5) Ok so you probably think you are ready to capture user state now don't you?  Well now we need to get some hotfixes installed first since we are capturing to SMP.  Download hotfix KB977203 and install on your site servers.  After you do that you will have a new client hotfix that you need to install and a ccmcertfix utility that will need to run on your client systems.  (These steps can be automated in several different ways to make things a lot easier.)  The locations of both of these files are shown below.

i.e. these will be found in the ConfigMgr Installation Directory.

 

KB977203ccmcertfix

6) Now you can create an advertisement for your modified Client Replace Task Sequence to run against your systems.  This TS when ran will contact the client systems local SMP and create a computer association for you.  Data is always stored on the SMP in this scenario because its a  "Replace Scenario".  You can also manually create the Computer association ahead of time if you prefer to control that for large role outs etc. or if you want to actually do a replace scenario.

7) With luck you have just captured user state and settings from your XP Machine and have a Computer Association created and your data is sitting on your SMP.

NOTE:  If you want you can copy the Mig file locally to a machine from your SMP and test that your settings were captured by using the Windows Easy Transfer Wizard to restore the data. Just grab the Recovery Key from the computer association and you are good to go.

8) So now what's the trick to get my stuff back down to my newly imaged windows 7 system?  Luckily that is the easy part of the process.  As long as you use a MDT Integrated Task Sequence all the steps needed to restore your data are already setup for you.  The ZTIUserstate.wsf script will handle the restore and since we have a computer association the data will come right back down to your machine.  Below is a screenshot of what that should look like.

RestoreOptions

9) Whichever TS you decide to use to deploy your image will have to be kicked off from boot media since your HDD is encrypted and you will not be able to read the HDD after your reboot.  So you will need to create your boot media with a custom pre execution hook in order to get past the encrypted HDD and wipe it clean.  For that we are going to use an example from Michael Peterson at this Link.  Now you can burn your boot media and boot from your cd and kick off your TS which should wipe the disc apply your wim and restore your data and settings automagically… Open-mouthed smile

Any questions or further explanation on how this process works etc… please comment on my blog and let me know how I can improve the quality of my blogs.

ConfigMgr 2012 Setting Up Migrations

I’m currently participating in the Configuration Manager 2012 Customer Evaluation Program (CEP).

Below is a quick video on setting up migrations in ConfigMgr 2012.

Things to note you can monitor the progress of the site mapping and migration jobs via the SMS_MIGRATION_MANAGER Component which logs to migmctrl.log.  During the migration we will see that we migrated 127 objects and 3 failed.

More Posts « Previous page - Next page »