Building Your Imaging Environment (PSImage)
Community solution, not FileWave Support scope. PSImage is provided for educational use and is not supported through standard FileWave Support tickets. For paid setup or customization help, contact professional.services@filewave.com or use existing Professional Services hours. Community discussion is available through the FileWave Discord server. For FileWave's supported Windows imaging workflow, use Network Imaging / IVS.
Build Your WinPE boot.wim
- Download the latest ADK for Windows 11. Scroll down to the "Other ADK downloads" section and download the "Windows PE add-on for the ADK for Windows 11".
- Install the ADK, keep the default installation path, and check the "Deployment Tools" and "User State Migration Tool (USMT)" components.
- Install the Windows PE add-on.
- Find the Windows Kits program folder in the Windows Start menu and launch the "Deployment and Imaging Tools Environment" as an administrator.
- Enter the following commands below in the Deployment and Imaging Tools shell.
copype amd64 C:\WinPE_amd64 Dism /Mount-Image /ImageFile:"C:\WinPE_amd64\media\sources\boot.wim" /Index:1 /MountDir:"C:\WinPE_amd64\mount" Dism /Add-Package /Image:"C:\WinPE_amd64\mount" /PackagePath:"C:\Program Files (x86)\Windows Kits\10\Assessment and Deployment Kit\Windows Preinstallation Environment\amd64\WinPE_OCs\WinPE-WMI.cab" Dism /Add-Package /Image:"C:\WinPE_amd64\mount" /PackagePath:"C:\Program Files (x86)\Windows Kits\10\Assessment and Deployment Kit\Windows Preinstallation Environment\amd64\WinPE_OCs\en-us\WinPE-WMI_en-us.cab" Dism /Add-Package /Image:"C:\WinPE_amd64\mount" /PackagePath:"C:\Program Files (x86)\Windows Kits\10\Assessment and Deployment Kit\Windows Preinstallation Environment\amd64\WinPE_OCs\WinPE-NetFX.cab" Dism /Add-Package /Image:"C:\WinPE_amd64\mount" /PackagePath:"C:\Program Files (x86)\Windows Kits\10\Assessment and Deployment Kit\Windows Preinstallation Environment\amd64\WinPE_OCs\en-us\WinPE-NetFX_en-us.cab" Dism /Add-Package /Image:"C:\WinPE_amd64\mount" /Packagepath:"C:\Program Files (x86)\Windows Kits\10\Assessment and Deployment Kit\Windows Preinstallation Environment\amd64\WinPE_OCs\winpe-scripting.cab" Dism /Add-Package /Image:"C:\WinPE_amd64\mount" /Packagepath:"C:\Program Files (x86)\Windows Kits\10\Assessment and Deployment Kit\Windows Preinstallation Environment\amd64\WinPE_OCs\en-us\winpe-scripting_en-us.cab" Dism /Add-Package /Image:"C:\WinPE_amd64\mount" /Packagepath:"C:\Program Files (x86)\Windows Kits\10\Assessment and Deployment Kit\Windows Preinstallation Environment\amd64\WinPE_OCs\WinPE-PowerShell.cab" Dism /Add-Package /Image:"C:\WinPE_amd64\mount" /Packagepath:"C:\Program Files (x86)\Windows Kits\10\Assessment and Deployment Kit\Windows Preinstallation Environment\amd64\WinPE_OCs\en-us\WinPE-PowerShell_en-us.cab" Dism /Add-Package /Image:"C:\WinPE_amd64\mount" /Packagepath:"C:\Program Files (x86)\Windows Kits\10\Assessment and Deployment Kit\Windows Preinstallation Environment\amd64\WinPE_OCs\winpe-wds-tools.cab" Dism /Add-Package /Image:"C:\WinPE_amd64\mount" /Packagepath:"C:\Program Files (x86)\Windows Kits\10\Assessment and Deployment Kit\Windows Preinstallation Environment\amd64\WinPE_OCs\en-us\winpe-wds-tools_en-us.cab" Dism /Add-Package /Image:"C:\WinPE_amd64\mount" /Packagepath:"C:\Program Files (x86)\Windows Kits\10\Assessment and Deployment Kit\Windows Preinstallation Environment\amd64\WinPE_OCs\winpe-wmi.cab" Dism /Add-Package /Image:"C:\WinPE_amd64\mount" /Packagepath:"C:\Program Files (x86)\Windows Kits\10\Assessment and Deployment Kit\Windows Preinstallation Environment\amd64\WinPE_OCs\en-us\winpe-wmi_en-us.cab" - Edit C:\WinPE_amd64\mount\Windows\System32\startnet.cmd and replace the contents with the block below. You may have to copy the file to your desktop first, edit the copy, and then copy it back into the System32 folder to overwrite the original.
@echo off wpeinit cd \imaging \windows\system32\windowspowershell\v1.0\powershell.exe -ExecutionPolicy Bypass -File go.ps1 - Create a folder C:\WinPE_amd64\mount\imaging.
- Add this go.ps1 file to the C:\WinPE_amd64\mount\imaging folder.
- Create a C:\WinPE_amd64\mount\imaging\config.ini file with the following contents. Make sure File Explorer displays file extensions. The icon should look like a blank sheet of paper with a gear in the lower-left corner.
Replace every example credential before deployment. The values in
config.iniare stored insideboot.wim. Do not publish or distribute a WIM that contains shared, production, or example passwords.[admin] mode=standard [autologin] autousername=fwadmin autopassword=REPLACE_WITH_TEMP_ADMIN_PASSWORD [share] server=prompt share=prompt domain=REPLACE_WITH_YOUR_DOMAIN username=REPLACE_WITH_SHARE_ACCOUNT password=REPLACE_WITH_SHARE_PASSWORD [path] image_path=z:\images driver_path=z:\models msi_path=z:\fwclient script_path=z:\scripts config_path=z:\config history_path=z:\logs log_path=z:\logs util_path=z:\utils extra_path=z:\extra - If you want to gate WinPE so that a password is required to access the imaging environment, add a file at C:\WinPE_amd64\mount\imaging\password.txt and add your password in it. Make sure there is no white space before nor after the password.
- Close all text editors and File Explorer windows to ensure that there are no open files on the mount point for boot.wim.
- Commit your changes and unmount the WIM image with
dism /unmount-image /mountdir:C:\WinPE_amd64\mount /commit - Your WinPE boot.wim file is available at "C:\WinPE_amd64\media\sources\boot.wim".
Editing Pre-imaging Components in WinPE
WinPE is contained in the boot.wim file and holds the config.ini that has your pre-imaging and imaging configuration data. This info tells the disk imaging where to find various resources. It must be customized for your environment. To mount and edit the boot.wim file
- Open a CMD prompt with admin privileges and run
dism /mount-image /ImageFile:"C:\WinPE_amd64\media\sources\boot.wim" /Index:1 /MountDir:"C:\WinPE_amd64\mount" - Browse to C:\WinPE_amd64\mount\imaging and edit config.ini or add/remove password.txt. The password inside password.txt, if this file is present, is used to restrict unauthorized access.
- Close all Windows Explorer windows. Make sure neither config.ini nor password.txt are open in an editor. Otherwise the unmount will fail.
- Commit changes to WIM and unmount with
dism /unmount-image /mountdir:C:\WinPE_amd64\mount /commit
Below is a sample config.ini with explanations. Notes are surrounded by parentheses and are not present in the actual config.ini.
[admin]
mode=standard (set to "usb" => for local imaging on dual partitioned USB thumb stick)
[autologin] (temporary admin account used for post-imaging autologin; the account is deleted when imaging completes)
autousername=fwadmin
autopassword=REPLACE_WITH_TEMP_ADMIN_PASSWORD
[share] (credentials for accessing the PSImage share during reimaging)
server=myserver (set to "prompt" to ask for the server hosting the PSImage share)
share=psimage (set to "prompt" to ask for the domain, username, and password)
domain=REPLACE_WITH_YOUR_DOMAIN
username=REPLACE_WITH_SHARE_ACCOUNT
password=REPLACE_WITH_SHARE_PASSWORD
[path] (do not change these unless instructed to do so)
image_path=z:\images
driver_path=z:\models
msi_path=z:\fwclient
script_path=z:\scripts
config_path=z:\config
history_path=z:\logs
log_path=z:\logs
extra_path=z:\extra
Creating a bootable ISO
Follow the instructions in the section above titled "Editing Pre-imaging Components in WinPE" to ensure that your config.ini is set up correctly with "mode=standard". Go to Windows Kits, start the "Deployment and Imaging Tools Environment" as an administrator, and run the following command.
MakeWinPEMedia /ISO C:\WinPE_amd64 C:\WinPE_amd64\WinPE_amd64.iso
Setting up your bootable USB thumb stick
Follow the instructions in the section above titled "Editing Pre-imaging Components in WinPE" to ensure that your config.ini is set up correctly with "mode=standard" and a password.txt if desired.
- Insert a USB thumb stick.
- Open a CMD session with admin privileges.
- Launch diskpart and enter the following series of commands. Run "list disk" at the diskpart prompt to determine the number assigned to your thumb drive, usually 1 unless your PC has more than one disk drive. 0 is normally the designation for your boot drive, which is typically the hard disk you're booted into.
select disk 1 clean create partition primary size=750 active format fs=FAT32 quick label="WinPE" assign letter=P exit - To create a bootable USB thumb drive run
xcopy C:\WinPE_amd64\media P:\ /s
Setting up a dual-partitioned USB thumb stick for local imaging
Follow the instructions in the section above titled "Editing Pre-imaging Components in WinPE" to ensure that your config.ini is set up correctly with "mode=usb" and a password.txt if desired.
- Insert a USB thumb stick.
- Open a CMD session with admin privileges.
- Launch diskpart and enter the following series of commands. Run "list disk" at the diskpart prompt to determine the number assigned to your thumb drive, usually 1 unless your PC has more than one disk drive. 0 is normally the designation for your boot drive, which is typically the hard disk you're booted into.
select disk 1 clean create partition primary size=750 active format fs=FAT32 quick label="WinPE" assign letter=P create partition primary format fs=NTFS quick label="Imaging" assign letter=I exit - Copy the WinPE files to the bootable FAT32 partition of the USB thumb stick with
xcopy C:\WinPE_amd64\media P:\ /s - Copy the contents of the PSImage_v0.3.zip file to the root level of the I: drive.
Cloning your USB thumb stick
Once you have your USB thumb sticks configured the way you like them use ImageUSB to take an image of it. This image can then be written to any other thumb drive, as long as the target thumb drive is the same size or larger than the original. For local disk imaging the secondary NTFS volume on the thumb drive will be expanded to consume all available space when you check “Extend/Add Partition (NTFS only)”.
Adding your boot.wim to WDS for PXE booting
This method can be used for both capturing the master image and restoring it to target PCs.
- Follow the instructions in the section above titled "Editing Pre-imaging Components in WinPE" to ensure that your config.ini is set up correctly with "mode=standard" and a password.txt if desired.
- Copy the boot.wim file to your WDS server.
- Add the WDS feature to your Windows Server. These instructions are for Windows 2019 but will be very similar for other versions of Windows Server.
- Go to Windows Administrative Tools > Windows Deployment Services.
- Navigate to Servers > LocalServerName, right-click and pick Configure Server.
- For testing, pick Standalone server but yours may already be Integrated with Active Directory.
- Leave C:\RemoteInstall for the remote installation folder.
- Choose Respond to all client computers (known and unknown) unless you already know what you are doing and want to restrict PXE booting.
- Uncheck Add images to the server now check and click Finish button.
- Navigate to Servers > LocalServerName > Boot Images on the left, right-click on the right and pick Add Boot Image.
- Specify your customized boot.wim file as the boot image. Note that PXE booting is significantly slower with BIOS systems than UEFI ones.
No comments to display
No comments to display