Blog Posts tagged with K2000 imaging

Ask a question

Upgrading to Windows 10

*NOTE - If these tasks were downloaded and imported into your K2000 prior to September 4, 2015 please contact support.  We found an issue with the import of the task which we will need to fix on the backend.  The download available now does not have this issue.  We apologize for the inconvenience.

Many users will want to upgrade their current operating system to Windows 10, retaining all their user data and applications.  In order to upgrade to Windows 10, one must utilize the same edition of Windows 10 as the older version of Windows.  For example, if running Windows 7 Professional or Ultimate, Windows 10 Professional must be used.  If running Windows 8 Enterprise then Windows 10 Enterprise must be used to upgrade the system.


An upgrade to Windows 10 must take place within the operating system itself and cannot take place in KBE.  There are two methods to upgrading to Windows 10 using KACE appliances. The first method would be to create a K1000 script as outlined on an ITNinja blog post. The second method, which is detailed below, can be done from the K2000.  We recommend that you now upgrade to 6.0 and use Custom Deployments for this process.  The tasks for custom deployment can be downloaded from this page: https://www.itninja.com/blog/view/custom-deployments


First, use the current version of Media Manager to upload your Windows 10 source media.  Once this is completed, the source media ID must be obtained from Library | Source Media.


Upload the .PKG files from the page linked above, this will import a Task Group.  Go to custom deployment page and create a new one.  Then select the Windows 10 upgrade task group from the installation plan menu and select apply and then save.  Preinstall tasks such as partitioning and formatting should not be added to the image (or it will no longer be an upgrade).  The image that is being applied to the machine has no files, so nothing is overwritten.  The midlevel task is a template that should be duplicated and edited.  This midlevel task copies down the Windows 10 source media, enables autologon to the workstation and writes a setupcomplete.cmd file that gets applied at the end of the upgrade process.


The first few lines of the midlevel task contain variables that need to be changed by the user.

strUser should be an admin username

strPassword is the password of the above user

strDomain is the name of the domain, or leave as localhost if leveraging a local user

win10_source_cd_id is the ID number of the uploaded Windows 10 source media


The post install task, “Upgrade Windows 10” does not have to be modified by default.  However, the last command line switch is ‘/dynamicupdates disable’.

When Windows 10 setup begins, it will attempt to download available updates by default.  The command line switch above disables this behavior.  If you prefer for the updates to be downloaded immediately, just delete this switch from the command line.  For more commandline switches see http://winaero.com/blog/windows-10-setup-exe-command-line-switches/

Back to K2000 Deployment Workbench

View comments (41)

Windows 10 Imaging Guide

Updated 1/9/18 - Updated Screen shots for new releases

Windows 10 Imaging Guide

I have developed a guide that walks through Windows 10 Imaging with the K2000 3.7 SP2 release.  This guide covers the following topics:

  • General Concepts of Windows 10 Imaging
  • Creating Windows 10 based KACE Boot Environments (KBEs)
  • Downloading and installing Windows 10 PE Driver Packs
  • Creating the Boot Environment
  • Managing Windows 10 Drivers
  • Understanding the Driver Feed
  • Using the Driver Feed Builder Tool
  • Creating Scripted Installations of Windows 10
  • Uploading the Windows 10 media
  • Creating the Scripted Install
  • Creating System Images
  • Creating the unattend.xml file
  • Running Sysprep
  • Capturing the Image
  • Deploying the Image

Post suggestions/comments and let us know how your Windows 10 imaging is coming along.

View comments (38)

WIM Storage K2000 Version 3.7: Freeing up space on your K2000 if you are using WIMs and Speed up Deployment using network windows shares

Here is the trick to save network bandwidth and K2000 diskspace.  Store the Wim's on Windows servers, Wim files are not restricted to K2000 file system.

I had the server crew create storage space on all the sites and I store my Wims at each site.  They created a share on the main storage server at each site named images$ and I have a K2000 domain user that has rights to these shares.  I created a subdirectory called imagestore in each share (required).

I used the KBE manipulator to create custom pxe boot environment that maps the T: drive to main storage space (default). 

When I need to capture a sysprepped image I choose the custom boot to map the server I want it to go to. I discuss making the custom capture KBE’s in this blog:


When staff deploys an image, they pxe boot to the K2000, the machine gets it deployment orders from the k2000 and starts.  I remap the T drive as a midlevel task prior to the DISM deploy task to the needed storage to access the WIM.

The deployment starts on the K2000 and then it switches over to the storage server to copy the wim portion then switches back to the K2000 for the remainder of it's mid level and post tasks.

All the workload of deploying the image files is placed on the storage servers instead of the K2000.  I have had 120 images deploying from a single K2000 this way and I am still able to capture an image even when they are deploying.

I have had to image over a T1 when the microwave link went down.  Still managed to use the K2000 to do full classrooms by putting the wim file on a local server.

The server crew can easily backup the wims also.

For this blog I am using WinPE5x64 to allow use of DISM vs Imagex


First download and install the template files used in the KSWIM – (Kace Streaming WIM Toolkit)


Duplicate the needed templates for your environment.

Replace the “WIM - Apply wim stream C/D/S(UEFI) partitions (template) with the midlevel tasks you are going to create.  The first midlevel task is to remap the WIM source server and the second+ to use DISM to deploy the WIM file(s) with.

I use AutoIT to create my exe’s for the mid level tasks.


The remap AutoIT AU3 is

DriveMapDel ("t:")

DriveMapAdd ("t:", "\\server\share", 0, "domain\user", "password")


The DISM deploy AutoIT AU3 is

If $CmdLine[0] Then

$p0 = $CmdLine[1]

$p1 = $CmdLine[2]


RunWait('x:\windows\system32\dism.exe /apply-image /imagefile:t:\Imagestore\' & $p0 & '.wim /index:1 /ApplyDir:' & $p1 & ':' , "" , @SW_MINIMIZE)


The P0 and P1 are variables we will use in the deploy task.

Create the au3 files in auto IT then use the complier that comes with it to create the exe’s with.


You choose x86 or x64 during the compile process.

Mid level tasks

The first group of tasks are for remappings.  Create and compile an exe for each server you want to pull wims from.  Create a task for each remap.


This is my remap EDacad2 task:  Upload the complied exe you created in AutoIT and call it.


The second group of tasks is for image deployments.  Create a task for every wim to deploy (including the UEFI-S partition for UEFI images)


This is my DISM deploy for acad F15 basic


Open the duplicated KSWIM deployment template and change the mid tasks and add your mid/post tasks after

View comments (1)

Capturing WIM’s to locations other than the kbox (externally capturing)

This is the capture wim compliment to blog http://www.itninja.com/blog/view/wim-storage-k2000-version-3-7-freeing-up-space-on-your-k2000-if-you-are-using-wims-and-speed-up-deployment-using-network-windows-shares

Using KBE manipulator you can create dedicated KBE’s set to capture an image to a specific location.

Since I am using DISM to deploy my wims I am using winpe5

First we will create HTA files and place them in you directory you use to upload portable applications to the KBEM

If you have not used this feature prior create a dedicated directory on your tech station that you will place these files in as well as the remap exe's you created using AutoIT in this blog: http://www.itninja.com/blog/view/wim-storage-k2000-version-3-7-freeing-up-space-on-your-k2000-if-you-are-using-wims-and-speed-up-deployment-using-network-windows-shares


Use Notepad++ or Wordpad to paste this code and save as a HTA file like pictured above (Capture_wim.hta = this generic HTA Code)

<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<link rel="stylesheet" type="text/css" href="deployment_client.css" />

<title>WIM Capture</title>

<script language="VBScript">
'Resize window
Sub Window_onLoad
window.resizeTo 400,400
End Sub

'Verify t:\imagestore exists
Sub StartCapture

Dim imgForm
Set imgForm = Document.forms("imgForm")

Set objFSO = CreateObject("Scripting.FileSystemObject")
If objFSO.FolderExists ("t:\imagestore") Then
Set objFolder = objFSO.CreateFolder("t:\imagestore")
End if

'Verify image is not already on T:\imagestore
Set objFSO = CreateObject("Scripting.FileSystemObject")
If objFSO.FileExists("t:\imagestore\" & imgForm.imgName.value & ".wim") Then
MsgBox("The WIM image already exists. Please use a different name")
ElseIf imgForm.imgName.value = "" Then
MsgBox("A blank name is not allowed.")
'Start Image Capture
strCommand = "%systemdrive%\windows\system32\imagex.exe /capture /verify /compress" & " " & imgForm.comPrs.value & " " & imgForm.srcDrive.value & ":" & " " & "t:\imagestore\" & imgForm.imgName.value & ".wim" & " " & "'" & imgForm.imgName.value & "'" & " " & "/logfile" & " " & "t:\imagestore\" & imgForm.imgName.value & ".log"
Set wshShell = CreateObject("WScript.Shell")
WshShell.run strCommand
'MsgBox("Process Complete. Check T:\imagestore\" & imgForm.imgName.value & ".log for errors" )
Set WshShell = nothing
End If
End Sub


<h1>WIM Capture</h1>

<form id="imgForm" action="">
<div class="list">Image Name: <input type="text" name="imgName" id="imgName" size="20" maxlength="10">.wim</div>
<div class="list">Source Drive: <input type="text" name="srcDrive" id="srcDrive" size="1" maxlength="1">:</div<br/>

<table><tr><td VALIGN="baseline">
<div class="list">Compression: </div>
<td VALIGN="baseline">
<select name="comPrs" id="comPrs">---
<option value="fast">Fast</option>
<option value="maximum">Maximum</option>
<option value="none">None</option>
<div class="text"><em>Note: Images will be sent to t:\imagestore\.</em></div<br/>
<input type="button" value="Start Capture" name="StartCapture" onClick="StartCapture">

<span id = "DataArea"></span>


I prefer to create multiple HTA’s that display the path the captured WIM will go to.

To create a custom HTA for each server, change this line in the code. (This only changes the user display, does not actually control the capture location, the map.exe does that)

<div class="text"><em>Note: Images will be sent to t:\imagestore\.</em></div<br/>
to something more specific to suit your needs
<div class="text"><em>Note: Images will be sent to \\msacad2\k2000\images\imagestore\.</em></div<br/>

Start the KBEM and choose the tool kit


Fill in the KBE information


From the configure dropdown choose “Modify KBE Tools”


Check “add Files to KBE”

Browse to and choose the location of the local directory you want to upload to x:\applications.

Uncheck “Kace Deployment Menu”


From the configure dropdown choose “Add custom DOS command(s)”


Call the remap and hta file from the x:\applications directory


 Say OK and Click create KBE:


Using the KBE you just created:

Pxe boot and choose the KBE for capturing and let it load


File in the name of the WIM and drive letter and click capture.

Generic Capture HTA


modified Capture HTA


View comments (2)

Boot to UEFI KBE over network!

Small work around me and my boss came up with. 
I got tired of using the USB boot method to image tablets and desktops with UEFI options.
This may not work for a lot of setups out there that need multiple network boot options. Maybe someone can improve my setup. We are in an all x64 enviornment moving to Windows 10.

The short explanation is WDS.

You will need to add the WDS role on a server to get started. 
We are imaging everything with Windows 10 for our upcoming year. Though we still seem to be able to image previous versions with our KBE. I created the KBE with the newest version of WinPE. After it has been created, open it in kace. Create and download the USB bootable image. Open the zip file and you will want the boot.wim located in files\sources\.

(Side note: I'm using the boot.wim created from the guide by SMal.tmcc that lets me stream images from an external server. Much faster than straight from kace!) You can find the guide here: http://www.itninja.com/blog/view/wim-storage-freeing-up-space-on-your-k2000-if-you-are-using-wims-k2000-version-3-6
There is another guide I've found that lets you stream the images straight from kace. I'm still testing this option out. 

Open WDS on your server. Expand Servers->yourserver->Boot Images. Right-click and Add Boot Image and browse to your boot.wim
Right-click your server name on the left. Open Properties. Go to the Boot tab and select the default boot image for your x64 and x64 (UEFI) architecture. The same boot image will work for both. 
My PXE Boot Policy on the same tab is set to require users to press F12 to continue into the KBE. I also set the PXE Response tab to Respond to all clients.
Make sure the WDS server is started before continuing.

Now that the WDS Server is ready you will need to change your DHCP option 67 (and optionally 66).
I have removed my option 66 since WDS does a broadcast I believe.
Change your option 67 to: boot\x64\pxeboot.com

Now you should be able to UEFI Network boot to your UEFI KBE!

Note: Make sure you use the UEFI Network boot option rom and not the legacy option rom!

This has worked out for me very well in the last couple months and I hope I haven't forgot anything about the basic setup for you. Let me know if I've skipped any steps and I will try to update this as needed.
View comments (3)
Showing 1 - 5 of 11 results

Top Contributors

Talk About Virtualization