Quantcast
Channel: Deployment Research - Johan Arwidmark
Viewing all 168 articles
Browse latest View live

Export-WindowsDriver and other new cmdlets in Windows 8.1 Update

$
0
0

Turned out there were a few new PowerShell cmdlets in the Windows 8.1 Update released earlier today. Not yet with any documentation, but still :)

Function        Enable-StorageEnclosureIdentification              Storage                                            
Function        Disable-StorageEnclosureIdentification             Storage                                            
Function        Get-StorageEnclosure                               Storage                                            
Function        Get-StorageEnclosureVendorData                     Storage                                            
Cmdlet          Export-WindowsDriver                               Dism                                               
Cmdlet          New-WindowsCustomImage                             Dism                                               
Cmdlet          Optimize-WindowsImage                              Dism                                               
Cmdlet          Update-WIMBootEntry                                Dism                                               

/ Johan


More ...

New Group Policies in Windows 8.1 Update

$
0
0

What to do in a hotel room, after a new Windows version (well update) has been released? Well, of course, see what changes there are…

After comparing the policy definition files between Windows 8.1 Enterprise and Windows 8.1 Update Enterprise I noticed there were some differences. For example, the following new group policies were added:

  • User: Show Windows Store Apps On Taskbar.
  • User: Turn On Cloud Candidate (only applies to Microsoft CHS Pinyin IME)
  • Computer and User: Turn off the ability to launch report site problems using a menu option.

In addition I noted some small bug-fixes, like changing SupportedOn values from SUPPORTED_WindowsBlue to SUPPORTED_Windows_6_3

Also found an interesting comment in the startmenu.admx file: “TODO: SUPPORTED_Windows_6_3 should be changed to the new version”, wonder if that ever happened :)

image
Once of the new group policies in Windows 8.1 Update.

/ Johan


More ...

Windows ADK 8.1 update available for download

$
0
0

Yes, finally, the Windows ADK 8.1 update (for Windows 8.1 Update) is available for download:

Windows ADK 8.1 update (including doc links): http://msdn.microsoft.com/en-us/library/windows/hardware/hh825494.aspx direct download only: http://www.microsoft.com/en-us/download/details.aspx?id=39982

You still run adksetup.exe to install or download the updated ADK, but you do see that the new ADK is slightly bigger than the previous kit. The Patches folder content also have a higher version number. The October 18, 2013 release of Windows 8.1 ADK had a folder named 8.100.26020, but the April 2, 2014 release of Windows 8.1 ADK have 8.100.26629.

New features in ADK 8.1 are the WIMBoot option, updates to dism, updates to WinRE and a new WinPE version (5.1). There are also fixes for USMT.

More info about the changes here: http://msdn.microsoft.com/en-us/library/windows/hardware/dn247001.aspx

Info on updating WinPE 5.0 to WinPE 5.1: http://technet.microsoft.com/en-us/library/dn613859.aspx

Info about the ADK 8.1 update and MDT 2013: http://blogs.technet.com/b/msdeployment/archive/2014/04/03/understanding-the-adk-for-windows-8-1-update-and-mdt-2013.aspx

Info about the ADK 8.1 Update and ConfigMgr 2012 SP1 and ConfigMgr 2012 R2: http://blogs.technet.com/b/configmgrteam/archive/2014/04/03/understanding-the-adk-for-windows-8-1-update-and-configmgr-osd.aspx

image
The slightly larger setup of Windows ADK 8.1 Update.

image
The updated content in the Patches folder.


More ...

Windows Server 2012 R2 Update - Notes from the lab

$
0
0

Just wanted to share a few “features” discovered after deploying the Windows Server 2012 R2 Update to a bunch of servers in our lab.

First, the update does spike the CPUs pretty hard during installation so plan your deployments carefully.

Second, if you (like me) have a few demo machines running Windows Server 2012 R2, with Desktop experience feature installed BEFORE installing the update, you will get a shortcut for the Windows Store on the taskbar. It doesn’t matter if the machine is in a workgroup or domain. Not so useful on a server maybe :)  Adding the Desktop experience feature AFTER installing the R2 update does not add the shortcut.

image
Pretty high CPU load for just an update… Virtual machines are more likely to use 80 – 90 percent.

 R2Updatev2
Desktop Experience installed BEFORE R2 Update = Shortcut to Windows Store on the taskbar.


More ...

Brand new Deployment labs on TechNet

$
0
0

Wohoo, three brand new deployment labs are available on the TechNet Virtual Labs platform.

train
Yep, if you have internet access, they can be run from anywhere, even a train :)

Creating a Windows 8.1 reference image
http://go.microsoft.com/?linkid=9845755

Deploying Windows 8.1 with MDT 2013 (Lite Touch)
http://go.microsoft.com/?linkid=9845757

Deploying Windows 8.1 with Configuration Manager 2012 R2 and MDT 2013 (Zero Touch)
http://go.microsoft.com/?linkid=9845756

 

Produced by Deployment Artist, I’m very proud  :)

DA

/ Johan


More ...

Deploying a reference image (VM) fully unattended

$
0
0

During the TechEd 2014 NA preconference earlier today, I demonstrated how to deploy a VM fully unattended using a PowerShell script. A few people asked for the script being used so here it is.

Requirements, for this script to work, you need to have a MDT 2013 Lite Touch deployment share, configured for full automation.

In my environment the Bootstrap.ini looks like this:

[Settings]
Priority=Default

[Default]
DeployRoot=\\MDT01\MDTBuildLab$
UserDomain=VIAMONSTRA
UserID=MDT_BA
UserPassword=P@ssw0rd

SkipBDDWelcome=YES

The CustomSettings.ini looks like this:

[Settings]
Priority=Default

[Default]
_SMSTSORGNAME=ViaMonstra
UserDataLocation=NONE
DoCapture=YES
ComputerBackupLocation=\\MDT01\MDTBuildLab$\Captures
BackupFile=%TaskSequenceID%#"(" & day(date) & "-" & month(date) & "-" & year(date) & ")"#.wim
TaskSequenceID=REFW81X64-001
OSInstall=Y
AdminPassword=P@ssw0rd
TimeZoneName=Pacific Standard Time 
JoinWorkgroup=WORKGROUP
HideShell=YES
FinishAction=SHUTDOWN
DoNotCreateExtraPartition=YES
WSUSServer=mdt01.corp.viamonstra.com:8530
ApplyGPOPack=NO

SkipAdminPassword=YES
SkipProductKey=YES
SkipComputerName=YES
SkipDomainMembership=YES
SkipUserData=YES
SkipLocaleSelection=YES
SkipTaskSequence=YES
SkipTimeZone=YES
SkipApplications=YES
SkipBitLocker=YES
SkipSummary=YES
SkipRoles=YES
SkipCapture=YES
SkipFinalSummary=YES

Then, to automate the deployment of the virtual machine, I run this PowerShell script:

$VMLocation = "D:\VMs"
$VMISO = "C:\ISO\MDT Build Lab x64.iso"
$VMNetwork = "Internal"

# Create REF001
$VMName = "REF001"
$VMMemory = 1024MB
$VMDiskSize = 60GB
New-VM -Name $VMName -BootDevice CD -MemoryStartupBytes $VMMemory -SwitchName $VMNetwork -Path $VMLocation -NoVHD -Verbose
New-VHD -Path "$VMLocation\$VMName\Virtual Hard Disks\$VMName-Disk1.vhdx" -SizeBytes $VMDiskSize -Verbose
Add-VMHardDiskDrive -VMName $VMName -Path "$VMLocation\$VMName\Virtual Hard Disks\$VMName-Disk1.vhdx" -Verbose
Set-VMDvdDrive -VMName $VMName -Path $VMISO -Verbose
Start-VM -VMName $VMName

$VM = Get-VM -Name $VMName
while ($VM.State -ne "off")
{ 
    write-host "The VM is still running" 
    sleep 20 
}

Remove-VM -Name $VMName -Force
Remove-Item -Recurse -Force $VMLocation\$VMName

The above script assume you have copied the MDT 2013 boot media (ISO) to the C:\ISO folder, and named it “MDT Build Lab x64.iso”

Happy Deployment, Johan


More ...

Links from ConfigMgr 2012 R2 preconference at TechEd 2014 NA

$
0
0

During the ConfigMgr 2012 R2 preconference at TechEd I showed a few links in the demos, here is a collection.

The links are also posted to the #teprc10 hash tag on Twitter, and if you don’t use Twitter, you better start, now! I’m @jarwidmark on twitter and the elder geek (Kent Agerlund) is @agerlund  :)

PowerShell Script to set permissions in Active Directory for OSD
http://www.deploymentresearch.comhttp://www.deploymentresearch.com/Research/tabid/62/EntryId/160/PowerShell-Script-to-set-permissions-in-Active-Directory-for-OSD.aspx

Hydration for System Center 2012 R2
http://www.deploymentresearch.comhttp://www.deploymentresearch.com/Research/tabid/62/EntryId/149/The-Hydration-Kit-for-System-Center-2012-R2-is-available-for-download.aspx

Script for Deploying a reference image (VM) fully unattended
http://www.deploymentresearch.comhttp://www.deploymentresearch.com/Research/tabid/62/EntryId/172/Deploying-a-reference-image-VM-fully-unattended.aspx

Link to Jason Sandy's startup script for ConfigMgr Client:
http://blog.configmgrftw.com/configmgr-client-startup-script/

Video - Compliance Settings and Control End–User Installed Software
http://channel9.msdn.com/Events/MMS/2013/UD-B307

Coretech Configuration Manager shutdown utility
http://blog.coretech.dk/kea/configuration-manager-shutdown-utility/

How to convert ConfigMgr Applications to Packages with Powershell
http://www.david-obrien.net/2014/01/24/convert-configmgr-applications-packages-powershell

Coretech Application E-Mail Approval Tool
http://blog.coretech.dk/kea/coretech-application-e-mail-approval-tool

The Coretech Software Update Management Tool
http://blog.coretech.dk/kea/the-coretech-software-update-management-tool

System Center 2012 Configuration Manager Client Network Traffic Estimates (Series, Part 1 of 3)
http://blogs.technet.com/b/manageabilityguys/archive/2013/04/22/system-center-2012-configuration-manager-client-network-traffic-estimates-series-part-1-of-3.aspx

PowerShell App Deployment Toolkit
https://psappdeploytoolkit.codeplex.com

 

Happy Deployment, Johan


More ...

Building reference images like a boss!

$
0
0

It’s a great week here at TechEd 2014 in Houston, later this afternoon I will present the never-dying “Creating the perfect reference image” with my partner in crime (and good friend), Mikael Nystrom. If you ever attended one of my deployment sessions before, you know I recommend using MDT Lite Touch for most scenarios, but what if you want to speed up the process?

All in all, by following these tips you can speed up the image capturing process by about 400 percent :)

 

Free Resources

If you haven’t created reference images with MDT before, check this lab on TechNet Virtual Labs:

Creating a Windows 8.1 reference image
http://go.microsoft.com/?linkid=9845755

Also check the recording from TechEd:

Building the Perfect Windows 8.1 Image
http://channel9.msdn.com/Events/TechEd/NorthAmerica/2014/WIN-B346

 

Bump up the speed using a VM with multiple vCPUs

Capturing a 4 GB image with MDT typically takes 40 minutes on a virtual machine with 1 vCPU, but only 25 minutes when assigning 2 vCPU’s.

 

Bump up the speed using DISM instead of ImageX

Of the above numbers, when using MDT with the default scripts, about 15 minutes is just scanning the file system (bug in ImageX which MDT is using). You can use DISM instead, which is much faster, see be below post by Mikael.

Nice to Know – Switch from ImageX to DISM in MDT
http://deploymentbunny.com/2014/05/19/nice-to-know-switch-from-imagex-to-dism-in-mdt/

 

Bump up the speed using a RAM disk

If you already have SSD’s in your Hyper-V or VMware Hosts, you won’t gain to much, but if you have SAN disks, or local 10k/15k disks, you can shorten the build and capture time quite a bit by deploying the VM to a RAM disk instead. Pretty good number of IOPS, and transfer rates.

In my environment I use the free RAM disk from StarWind (http://www.starwindsoftware.com ). Simply create a 20 GB RAM disk, and then create your VM on it.

Note: Don’t let the StarWind app format the disk, do it yourself from disk manager or server manager after the RAM disk is created. I run into weird issues when StarWind was allowed to format the disk.

image
The 20 GB RAM Disk created.

 

image
The RAM disk in File Explorer.


More ...

Achieving over 1-Million IOPS from Hyper-V VMs in a Scale-Out File Server Cluster

Fix - Cannot start Orchestrator Runbook via ConfigMgr Task Sequence

$
0
0

During TechEd I was discussing a ConfigMgr issue with Eric Leonard, a fellow ConfigMgr admin in Canada. The issue we were discussing were the following: When having multiple network access accounts configured in ConfigMgr, Orchestrator runbooks could not be started. It turned out there was a bug in ZTIExecuteRunbook.wsf script, a missing single quite. Big thanks to Eric for providing the solution.

Update 2014-05-27: Turned out to be a bug filed (Dec. 2013), please vote it up! https://connect.microsoft.com/ConfigurationManagervnext/feedback/details/812500/mdt-2013-error-in-ztiexecuterunbook-wsf-with-multiple-sccm-naa Thanks Gaëtan Hermann for letting me know.

The Fix

There bug in the ZTIExecuteRunbook.wsf script is on line 309, highlighted here:

If bNAACred Then 
    ' We will try another account
    Continue
Else

Obviously, “Continue” is not a valid command in VB script so this causes an error, the fix is to simple add a single quote to comment out the line.

If bNAACred Then 
    ' We will try another account
    ' Continue
Else

Happy Deployment, Johan


More ...

Deploying Windows 7 to HP ProBook 640 G1 with ConfigMgr 2012 R2

$
0
0

The last two weeks I’ve been working on a ConfigMgr 2012 R2 project in the US, that also involved OS Deployment. During the project all but one computer model deployed nicely, and the failing machine was the HP ProBook 640 G1 laptop. Even though all drivers installed fine, once the machine was put to standby/hibernate, it never woke up again.

After some troubleshooting (which included testing various BIOS versions) we realized it was the graphics driver causing the resume issue. Once we added the latest driver from AMD (and not the driver from HP), resume started to work again.

Now came the second problem: When deploying the new catalyst driver with ConfigMgr 2012, even though adding it as a driver package, it never completed the driver setup during the task sequence, but first after a login, and a final reboot.

The solution:

First, credits goes to Henrik Ericsson, a fellow ConfigMgr guru working on this project with me.

Step 1 – Create a driver package

Download the all the needed Windows 7 drivers from HP using the HP SoftPaq Download manager, except for the video driver. Download the video driver from AMD (we used the 14.4 version). Import the drivers to ConfigMgr and create a driver package as usual.

Step 2 – Create a driver applications (package) of the AMD driver

Create an application (package) that installs the AMD catalyst driver during the state restore phase of the task sequence. This is the package source folder. You get the content by running the main download (14-4-win7-win8-win8.1-64-dd-ccc-whql.exe) and then cancel the installation wizard after the files are extracted.

image

The is the program (running setup.exe –INSTALL).

image

Then add the driver package, and the driver application to the task sequence, and set a condition to only install on HP ProBook 640 G1 hardware.

image

 

Happy deployment, Johan


More ...

TechNet Virtual Lab - Deploying Windows 8.1 with ConfigMgr 2012 R2 and MDT 2013

$
0
0

If you are using ConfigMgr 2012 R2 for OS deployment and have not completed this TechNet Virtual Lab you might be doing it wrong…

This lab will take you through all needed steps to get a rock solid OSD configuration, including all needed tweaks to the default task sequence templates.

Deploying Windows 8.1 with Configuration Manager 2012 R2 and MDT 2013 (Zero Touch)
http://go.microsoft.com/?linkid=9845756

 

The Hands-on-Lab consists of the following modules

  • Exercise 1: Prepare for OS Deployment in ConfigMgr 2012 R2
  • Exercise 2: Create a WinPE 5.0 boot image
  • Exercise 3: Add operating system images
  • Exercise 4: Create an Application in ConfigMgr 2012 R2
  • Exercise 5: Add Drivers
  • Exercise 6: Create Task Sequences
  • Exercise 7: Finalizing the OSD configuration
  • Exercise 8: Deploy Windows 8.1 using PXE

In addition to the above section you also learn about new tips and tricks for adding hotfixes, branding, real-time monitoring, integrating with DaRT, and also going behind the scenes to follow what's going on in the log files (great for troubleshooting).

UEFI
Sample screenshot from the Create Task Sequences exercise, in this step enabling UEFI support.

Happy Deployment / Johan


More ...

Generate computer names based on folder content

$
0
0

Last week I got an email from a fellow deployment geek wanting to generate computer names based on what files that were in a folder… Every time they deployed a machined they had a script that saved the machine name to a folder, and he wanted a routine that figured out the next available name. Well, here it is…

Preparing

For this to work you need to have a folder in your deployment share, named computers, with a similar content. As you can can see the folder holds names from computers already deployed, and the next available computer name should be MYPC0006, right?

image
Folder structure in the deployment share.

Solution

All that was needed was a short userexit script (VBScript) that enumerated the files in the folder, but because the FileSystemObject in VBScript does do sorting, I had to populate a list, and then sort that one. Below you find the GetNextComputerName.vbs script, and the CustomSettings.ini lines that calls it. You need to do is copy the GetNextComputerName.vbs script to your deployment share scripts folder, and modify your CustomSettings.ini file.

Note: You can obviously add code to also write the new name to the folder, but since they already have that function in place, I skipped that part.

The “code” in CustomSettings.ini.

[Settings]
Priority=Default

[Default]
UserExit=GetNextComputerName.vbs
OSDComputerName=#GetNextComputerName()#

 

The GetNextComputerName.vbs script.

Function UserExit(sType, sWhen, sDetail, bSkip) 

    UserExit = Success 

End Function 

Function GetNextComputerName()

    oLogging.CreateEntry "------------ Initialization USEREXIT:GetNextComputerName.vbs -------------", LogTypeInfo

    Set list = CreateObject("ADOR.Recordset")
    list.Fields.Append "name", 200, 255
    list.Open

    For Each oFile In oFSO.GetFolder(oEnvironment.Item("DEPLOYROOT") & "\Computers").Files
      list.AddNew
      list("name").Value = oFile.Name
      list.Update
    Next

    list.Sort = "Name ASC"

    list.MoveFirst
    Do Until list.EOF
      sLastComputer = list("name").Value
      list.MoveNext
    Loop

    list.Close
    
    oLogging.CreateEntry "Last Computer Deployed was: " & sLastComputer, LogTypeInfo
    sNextNumber = Mid(sLastComputer,5,4) + 1

    GetNextComputerName = "MYPC" & right(sNextNumber + 10000,4)
    oLogging.CreateEntry "Next Computer Name is: " & GetNextComputerName, LogTypeInfo
    oLogging.CreateEntry "------------ Departing USEREXIT:GetNextComputerName.vbs -------------", LogTypeInfo

End Function

image
The next available computer name during deployment.

Happy Deployment / Johan


More ...

Listing applications configured for Task Sequence deployments

$
0
0

Of course you should not be deploying applications, but rather packages in your ConfigMgr 2012 (SCCM) task sequences. But if you do, you can use this little PowerShell script to list applications that have the AutoInstall property set to True, meaning being configured for task sequence deployment.

The Script

$AppList = Get-CMApplication

foreach ($App in $AppList)
{
    if ($App.SDMPackageXML  -like '*true*') 
    {
        Write-Output $App.LocalizedDisplayName 
    }
}

Note #1: If you want to list applications not configured for AutoInstall, just change the operator to –notlike.

Note #2: If you have many applications (like hundreds), the Get-CMApplication cmdlet is quite slow. To get some speedy result, you can also query the fn_ListLatestApplicationCIs(1033) SQL function directly in the ConfigMgr database. Fellow MVP Torsten Meringer have a nice post (in German) here: http://www.mssccmfaq.de/2013/08/28/applications-die-in-einer-task-sequenz-installiert-werden-duerfen/

 ise
Running the script.

The above script enumerates all applications that have the below setting (Allow this application to be installed from the Install Application task sequence without being deployed).

image
An application configured for task sequence deployment.

 

/ Johan


More ...

Configuring system performance settings in your reference image - By Bill Burnley

$
0
0

Todays post is contributed by Bill Burnley, a fellow deployment specialist in the Washington D.C. Metro Area.

 

Solution to get System Properties Performance to work stick in our image

In our VDI environment, which is currently hosted built on VMware vSphere environment using linked clones, I had a problem getting performance settings to stick in our image. After a good few hours of research, I came up with a working solution.

 

The background

First, I had already built a fully customized windows 7 x64 and x86 image using Johan's books, online deployment guides and information as well as leaning on our Image Subject Matter Expert Rob Moore. I was then directed to check out the VMware optimization guide for Windows 7 and Windows 8 located here: (http://www.vmware.com/files/pdf/VMware-View-OptimizationGuideWindows7-EN.pdf).  There is even an task sequence attached in which VMware provides several important changes, including some nice PowerShell examples. This is great, because it means that 90% of the things I would need to do post image install was done for me and I could turn on or off each option, prior to the rebuild. It also means that in the event that the VM goes bad somehow, a rapid rebuild can be performed. 

 

Getting the sample files

The guide samples files are included as attachments in the PDF download, and to get them, go to the Adobe Reader View menu, and select Show/Hide > Navigation Panes > Attachments. From there you can simply save them.

image
Getting the sample files attached to the PDF document.

 

Using a local GPO for background image settings

If you review the optimization guide, you will find that there are certain things turned off, that would need to be turned on, if for example you want a custom background to show up.  Something that was critical early on for our implementation. For my installation, I turned off the "Default Wallpaper" (forces blank wallpaper) setting, as well as "Disable Desktop Window Manager Session Manager" (turns off aero). 

I was already employing the copy profile option in my answer file as explained very well here by Johan (http://www.deploymentresearch.comhttp://www.deploymentresearch.com/Research/tabid/62/EntryId/43/How-CopyProfile-really-works-in-Windows-7-Deployments.aspx)  if you haven't already watched this, you should review it, because it is extremely useful information, especially if you have been trying to sysprep your images the hard way prior to utilizing them in MDT 2012 or higher.  However, even though I used this, in my VDI environment it still wasn't showing my background.  even though, if I created a new user it was utilizing my background, something wasn't working.  at this point, I threw in a local GPO to define the wallpaper and that worked!  Awesome.

But, there were other options that hadn't been realized in our Full VDI environment that were not in the original optimization guide.  If you type in SystemPropertiesPerformance in a run dialogue box, you can configure the performance options.  There are other ways to get there via control panel, but I find typing it to be the easiest.

image
The performance options adjusted for best performance.

At first, the settings did not stick

It was recommended to us that I set those setting to adjust for best performance.  I did this but the setting didn't carry over. I then proceeded to change the registry settings located in HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\VisualEffects. I thought by changing this registry setting in my master image and taking a snapshot, I would be good to go in our environment.  I also had made the changes and restarted my VM before the snapshot, so the changes were present in my VM as well as changed in the registry. 

Problem was, this setting did not carry over to our linked clones, we still saw aero windows everywhere. But, the change had occurred in the registry. It turned out that it had saved the settings but not applied them to default user. This was bad news because it meant that even replaying the registry settings with a separate service (which we also employed for profile management) would not work. We tried many different registry settings before slamming our heads against the wall.  Finally, I was re-reading Johan's post about copy profile and e-mailed him, because I decided I was going to start over with the gold image.  I re-captured it with the settings applied during my suspend phase.  This didn't work the first time....  Later I would realize that this was probably due to my impatience.... When I went to check the answer file, it was building the catalog file and seemed like it was frozen.  I interrupted it, and even though I re-initiated it and it seemed to work, based on my second round, it appears that this was not the case.

 

Fixing the problem - The shotgun approach

The second time I did it, I decided I would try the shotgun approach:

  1. I rebuilt the image following Johan's Copy Profile Post.
  2. When I get to where the suspend happens, I changed the Computer\HKCU\Software\Microsoft\Windows\Currentversion\Explorer\VisualEffects\VisualFXsetting to 2.
  3. I also saved a theme (with my custom background and settings.)  and tried to use a local GPO to force this theme. (this doesn't show up in my image though, so guessing it didn't copy over....)
  4. Rebooted after the changes
  5. Hit the shortcut to end the suspend

After I import my new reference image back into MDT, I reviewed the unattend file.  (Major advice alert: let the thing eat) it takes a while to load but its worth it. Mine took forever, but when it finally finished, I double checked my copy profile settings.

I redeployed the new image and viola, when I create a new user, they get the default system properties performance settings.  Then I redeploy to my vSphere VM.  Recompose the image to our VMware Horizon View Pools and test.  It works flawlessly now, and  we have moved on to bigger and better problems to work on.

Thanks
-Bill Burnley


More ...

Creating custom variables in MDT 2013

$
0
0

Yesterday I got a question in my twitter feed (@jarwidmark) about how to create a custom variable in MDT 2013 using a script. The answer is, yes you can do that, but you rarely have to, because you can create them directly in CustomSettings.ini to begin with. Anyway, some times it does makes sense to dynamically create custom variables in a script. In this post I demonstrate a few different methods for creating a custom variable.

Going back to the source

First, built-in variables are documented in the MDT 2013 help file, found via the Deployment Workbench “Help” menu, or in the file system: C:\Program Files\Microsoft Deployment Toolkit\Bin\Microsoft Deployment Toolkit Documentation Library.chm (default location).

image
The MDT 2013 help file.

Then MDT has it’s internal “document”, the ZTIGather.xml file that lists the variables, and also defines their behavior. For example if a property should have “first-writer-wins” or “last-writer-wins”. Here are few sample lines from the ZTIGather.xml file:

 

Creating a custom variable using CustomSettings.ini

The most commonly used method to create a custom variable is to add it to your CustomSettings.ini file. Here is an example, where two custom variables (or properties) are used for

[Settings]
Priority=HardwareInfo, Default
Properties=MakeAlias, ModelAlias

[HardwareInfo]
UserExit=ModelAliasExit.vbs
MakeAlias=#SetMakeAlias()#
ModelAlias=#SetModelAlias()#

 

Creating a custom variable in the Task Sequence

Variables set in CustomSettings.ini are considered global by default, but you can create task sequence specific variable directly in the task sequence by adding a “Set Task Sequence Variable” action. Here is an example showing the custom HydrationMethod variable in a task sequence.

image
Adding a custom variable to a task sequence.

 

Creating a custom variable in a script

When needing variables created (or set) in a script, for example based on dynamic conditions, you can do that too by simply calling the task sequence object. This is exactly what the built-in ZTISetVariable.wsf script does, but you also find that most of the other MDT scripts do that as well.

 

Happy deployment, Johan


More ...

The Dream Team is Back - The Ultimate Event

$
0
0

Don’t miss chance of getting the latest tips and tricks for building and managing a Microsoft infrastructure, delivered by computer industry experts like Mark Minasi, Johan Arwidmark and Mikael Nystrom.  This is full-day, technical event, held in five cities in Sweden and Norway in September 2014. The five sessions are:

  • Keynote - Get a grip on your Infrastructure
  • Windows Clusters for Beginners: From Highly Fearful to Highly Reliable in 75 Minutes!
  • Windows Deployment Done Right!
  • Modern Apps for IT Pros
  • Next generation user roaming

Check out the event web site (in Swedish): The Ultimate Event

mmj
The Ultimate Event.

Happy Deployment, Johan


More ...

Fix for MDT 2013 offline media deployment bug - Static IP addressing

$
0
0

If you are using MDT 2013 Lite Touch for offline media deployment, the feature to set a static IP during deployment doesn’t work. MDT will set the IP address in WinPE, but not in full Windows.

This is because of a bug in the Litetouch.wsf script, and the bug is for offline media only (not for normal network deployment, where the feature work as expected). You find more details in this post:
MDT 2012 Static IP for Offline Install
http://community.spiceworks.com/topic/541359-mdt-2012-static-ip-for-offline-install

One workaround is obviously to edit the Litetouch.wsf script per the article, but the problem can also be solved by adding an extra Apply Network Settings action to your task sequence. Works perfect as long as you add it directly after the Gather local only action in the State Restore phase (see screenshots below)

image
Setting static IP address during deployment.

test
Extra “Apply Network Settings” action added to the task sequence.

 

Happy deployment,

/ Johan


More ...

My TechEd Europe 2014 sessions

$
0
0

Between October 28 – 31 (27 for preconferences) Microsoft is running TechEd in Barcelona, don’t miss this!

20130627_TechEd2013_0210
From TechEd 2013 in Madrid, handing out a book in reward for a good question…

 

My sessions list for TechEd Europe 2014

Here is the my list of sessions at TechEd Europe 2014 in Barcelona… I would love to see you there, and don’t hesitate to say hi!

PRC08 Using Microsoft System Center 2012 R2 Configuration Manager in the Real World: Notes from the Field

Join Johan Arwidmark and Kent Agerlund, two of the world’s foremost Configuration Manager 2012 R2 experts in a dazzling series of seminars on how to use Configuration Manager 2012 R2 in the real world. Learn about the changes in Configuration Manager 2012 R2, how to build a Configuration Manager 2012 R2 infrastructure, how to migrate from Configuration Manager 2007, and upgrade to Configuration Manager 2012 SP1. Learn how to deploy applications and updates, and how to deploy and manage Windows 7 and Windows 8.1 operating systems. You also learn how to integrate Configuration Manager 2012 R2 with Windows Intune, for mobile device management. Kent and Johan share their notes from the field, and their tips and tricks for making System Management using Configuration Manager 2012 R2 even better. If you are working with Configuration Manager 2012 R2, or thinking about moving to Configuration Manager 2012 R2, this is the seminar that you cannot afford to miss.

WIN-B324 Real-World Windows Deployment: Notes from the Field

The uber-demo spaceship has landed... Join Johan Arwidmark in an hour (plus) live demo on how to build a Windows deployment solution, based on MDT 2013. Learn about the new features in Microsoft Deployment Toolkit 2013. Learn about deploying to EUFI enabled hardware. Work with drivers, updates, applications, configuring BitLocker—all for the enterprise network. This is notes from the field, lessons learned from real-world Windows 7 and Windows 8.1 deployment projects.

WIN-B412 Advanced Microsoft Deployment Toolkit 2013 Customizations: Dueling MDT Enhancements 

Meet Johan Arwidmark taking Microsoft Deployment Toolkit 2013 (MDT) to its outer limits. Learn about the new features in MDT 2013 and how to customize it to fit your organization's needs. You can expect a lot of live demos, tips, and tricks.

/ Johan


More ...

How to deploy Windows 8.1 (and Windows 7) with MDT 2013 - The Resources

$
0
0

Earlier this morning I got an email with some questions on how to deploy Windows using MDT 2013 Lite Touch. The questions were the basic deployment questions I hear over and over again so I thought it was about time to write a list of valuable deployment resources.

The questions

  1. How do I capture a Windows setup to a WIM Image, and do I need to sysprep the image?
  2. Once captured, How can I import the WIM image back into MDT again?
  3. How do I create and edit production task sequences?
  4. What about multiple partitions?
  5. How about creating an offline media?

The Resources

The following resources provide you with answers to the preceding questions, and much, much more. The resources are for Windows 8.1 but are valid for Windows 7 as well. I’ve organized the resources into the following sections:

  • Step-by-Step guides (free)
  • Virtual Labs (free)
  • Videos (free)
  • Commercial Videos (e.g. not free)
  • Books (not free either, but available on Kindle if your budget is limited).

Step-by-Step guides

On TechNet you find well-proven step-by-step guides.

TechNet Docs - Create a Windows 8.1 Reference Image
http://technet.microsoft.com/en-us/library/dn744290.aspx

TechNet Docs - Deploy a Windows 8.1 Image Using MDT 2013
http://technet.microsoft.com/en-us/library/dn744279.aspx

Server room interior

Virtual Hands-On-Labs

On TechNet Virtual Labs you can walk through each scenario, over and over again. Ready-made labs just waiting for you to connect. Yes, they are free :)

Creating a Windows 8.1 reference image 
http://go.microsoft.com/?linkid=9845755

Deploying Windows 8.1 with MDT 2013 (Lite Touch)
http://go.microsoft.com/?linkid=9845757

 

Free Videos

The jumpstart videos is a collection of four videos, covering the basics of Windows deployment using MDT 2013 (and ConfigMgr/SCCM 2012 as well)

Windows 8.1 Deployment Jump Start
http://www.microsoftvirtualacademy.com/training-courses/windows-8-1-deployment-jump-start

videos

Commercial Videos

On the following link you find links to commercial videos sold by Pluralsight, Windows IT Pro, and TrueSec, The videos are developed by Deployment Artist.

http://www.deploymentartist.com/Training/Videos.aspx

 

DF4-Cover-w200

Books

On the following link you find links to deployment books available on Amazon, and most other book shops. The books are published by Deployment Artist.

http://www.deploymentartist.com/Books.aspx

 

Happy Deployment,  Johan


More ...
Viewing all 168 articles
Browse latest View live