This is a module I started to put together after the current MVP Summit when I decided I wanted to put together Nano Server.

The current Technet documentation at the time was lacking (it has dramatically improved) but this did not stop my internal need,  A different way to deploy using only PowerShell

If you’re curious, you can download the module here on Github or here on the Technet Script Repository.  Using PowerShell 5 you can follow the on screen prompts and use the following one liner.

Find-Module DeployImage | Install-Module

What does this module give you?

PowerShell Cmdlets to try and ease dropping a WIM file to a hard drive.   It is NOT an MDT replacement.   It is just an alternative option for the WIM deployment.  The initial intention was just Nano Server but since the process applies to all WIM files you can use it however you like.

It was written and tested in Windows 10.  It should work with VERY minor modifications for Windows 8.1.

If you are going to use this in Windows 8.1 you will need to run this line to ensure it’s using the NEWEST Dism Cmdlets.

C:\Program Files (x86)\Windows Kits\10\Assessment and Deployment Kit\Deployment Tools\amd64\DISM\Dism.psd1

and if on a 32bit version of Windows

C:\Program Files (x86)\Windows Kits\10\Assessment and Deployment Kit\Deployment Tools\x86\DISM\Dism.psd1

It comes with some useful Cmdlets (and some sort of useful) that made Nano Server easier for me to drop onto a Physical server (vs. a Virtual Machine).

I also welcome any pulls / updates / critique through the Github link at www.github.com/energizedtech/DeployImage

Copy-DeployImageSample

This Cmdlet will grab the sample PS1 files in the DeployImage module folder and copy them to your current folder or a targeted Destination folder.

  • DeployNanoServerPhysical.ps1 – Create a Windows NanoServer on Physical Disk – Sample Script
  • DeployNanoServerPhysicalMedia.ps1 – Create a Bootable Windows PE key with PowerShell 5 and all content to Deploy Nano Server on Phsyical Disk – Sample Script
  • DeployNanoServerVHD.ps1 – Create a Windows NanoServer on VHD file – Sample Script
  • DeployWindowsPE.ps1 – Create a Bootlable Windows PE with PowerShell – Sample Script
  • DeployWindowsToGo.ps1 – Create a Bootable Windows to Go – Sample Scripts

Clear-DiskStructure

This Cmdlet will provide a more definitive erasure of the Partition structure on a Disk than Clear-Disk.  I have encountered many situations where Clear-Disk requires all Partitions removed first before it PROPERLY blanks the partition table.  This provides the extra code.

Get-AttachedDisk will give you all disks (USB,SATA,SCSI,SAS) attached to the computer.   It will default to internal only but you can add a –USB switch to target only USB keys or a –GUI switch to choose the disk from the list

New-PartitionStructure

This Cmdlet will drop down a default MBR or GPT partition structure on a Targeted disk

New-NanoServerWIM

This Cmdlet will take a provided Nano Server WIM file and customized it with targeted Server features and create a new WIM file

New-WindowsPEWim

This Cmdlet will take a Windows 10 ADK Windows PE file and create a new custom version with Windows Powershell

New-UnattendXMLContent

This Cmdlet will generate Unattend.xml file content pre-populated with everything needed for a Workgroup or Domain joined configuration.

Send-UnattendXML

This Cmdlet just sends a provided file containing Unattend.xml content to a Target Windows O/S folder

Send-BootCode

This Cmdlet will generate the needed boot files to enable a USB or Harddisk to boot

Remove-DriveLetter

This Cmdlet will remove a Drive Letter from an assigned partition.  This is very handy if you have to try and image Multiple USB keys.

Send-SanPolicy

This is meant for Windows To Go.   It will apply the necessary policy to prevent the WindowsToGo key from being assigned a drive letter when mounted normally.  It also prevents the internal disks from being mounted when Windows To Go boots.

Get-ArchitectureString

This is moderately useful.   It detects if the Operating System is x64 or x86 and returns a ‘ (x86)’ to append to “C:\Program Files” requests

Test-WindowsADK

Does a quick Boolean TRUE/FALSE if the Windows 10 ADK is installed

Copy-WithProgress

This is something I am mucking about with to show Progress when copying files.

Advertisements