-
-
Save mikenelson-io/8e3f04aaa5dec0cbb4c6cf01e6b4aec4 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#Go to https://www.microsoft.com/en-us/evalcenter/evaluate-windows-server-technical-preview and download Windows Server TP 5 - Nano ISO | |
#Link that might work ? http://care.dlservice.microsoft.com/dl/download/B/3/3/B33F3810-EE82-4C20-B864-394A2C4B6661/Nano-WindowsServerTechnicalPreview5.vhd | |
#Windows Server TP5 Licnese Key MFY9F-XBN2F-TYFMP-CCV49-RMYVH | |
#Download image if link works: wget http://care.dlservice.microsoft.com/dl/download/B/3/3/B33F3810-EE82-4C20-B864-394A2C4B6661/Nano-WindowsServerTechnicalPreview5.vhd -OutFile C:\temp\Windows-Nano-Server-TP5.VHD | |
#http://care.dlservice.microsoft.com/dl/download/8/9/2/89284B3B-BA51-49C8-90F8-59C0A58D0E70/14300.1000.160324-1723.RS1_RELEASE_SVC_SERVER_OEMRET_X64FRE_EN-US.ISO | |
#Variables that can be chnaged | |
$VMWorkStation = 'C:\Program Files (x86)\VMware\VMware Workstation\' | |
#$vdisk = $VMWorkStation + "vmware-vdiskmanager.exe" | |
$StarWind = "c:\Program Files (x86)\StarWind Software\StarWind V2V Image Converter\StarV2Vc.exe" | |
$VMTools = $VMWorkStation + "windows.iso" | |
$WorkingDir = "C:\Temp\Windows Nano Server\" | |
$ISOPath = $WorkingDir + "ISO\" | |
$NanoISOName = "Windows-Nano-Server-TP5.ISO" | |
$NanoISOPath = $ISOPath + $NanoISOName | |
$NanoVMDKName = "Windows-Nano-Server-TP5.VMDK" | |
$NanoVMDKPath = $WorkingDir + $NanoVMDKName | |
$NanoVHDxName = "Nano01.vhdx" | |
$NanoVHDxPath = $WorkingDir + $NanoVHDxName | |
$DriversDir = $WorkingDir+"Drivers\" | |
$WindowsAdminPass = "VMware1!" | |
#^End of Variables that can be chnaged | |
#Test if PowerShell has been run as administrator - Source: http://www.jonathanmedd.net/2014/01/testing-for-admin-privileges-in-powershell.html | |
if(([Security.Principal.WindowsPrincipal] [Security.Principal.WindowsIdentity]::GetCurrent()).IsInRole([Security.Principal.WindowsBuiltInRole] “Administrator”)){ | |
}else{ | |
Write-Host "This script requies that it is 'Run as Administrator' - Please run it again by right clicking and selete 'Run as Administrator'" | |
$x = $host.UI.RawUI.ReadKey("NoEcho,IncludeKeyDown") | |
Exit | |
} | |
#^End of Test if PowerShell has been run as administrator | |
#Test all variables needed | |
If(!(Test-Path $VMworkStation)){ | |
Write-Host "Variable VMworkStation/$VMworkStation is not correct or VMware Workstation is not installed - Please fix" | |
$x = $host.UI.RawUI.ReadKey("NoEcho,IncludeKeyDown") | |
Exit | |
} | |
If(!(Test-Path $VMTools)){ | |
Write-Host "Variable VMtools/$VMtools is not correct or VMware Workstation is not installed - Please fix" | |
$x = $host.UI.RawUI.ReadKey("NoEcho,IncludeKeyDown") | |
Exit | |
} | |
If(!(Test-Path $WorkingDir)){ | |
New-Item $WorkingDir -type directory | Out-Null | |
} | |
If(!(Test-Path $DriversDir)){ | |
New-Item $DriversDir -type directory | Out-Null | |
} | |
If(!(Test-Path $ISOPath)){ | |
New-Item $ISOPath -type directory | Out-Null | |
} | |
#^End of Test all variables needed | |
#Source: http://www.v-front.de/2016/07/how-to-deploy-windows-nano-server-tp5.html | |
#Create Nano Server image | |
#Mount VMwareTools ISO disk image | |
$MountCDROM = Mount-DiskImage $VMTools -StorageType ISO -Access ReadOnly -PassThru | |
$MountDriveVMTools = ($MountCDROM | Get-Volume).DriveLetter | |
& $MountDriveVMTools":\setup64.exe" /a /s /v /qn #Cant get it to extract to a chosen location - Defaults to c:\ everytime | |
#Copy needed drivers | |
do{ | |
}until(Test-Path "C:\VMware\VMware Tools\VMware\Drivers\vmxnet3\NDIS6") | |
Copy-Item (Dir "C:\VMware\VMware Tools\VMware\Drivers\pvscsi\").FullName $DriversDir | |
Copy-Item (Dir "C:\VMware\VMware Tools\VMware\Drivers\vmxnet3\NDIS6\").FullName $DriversDir | |
#Clean up after extract | |
Sleep 1 #or else remove-item command failes | |
Remove-Item "C:\VMware Tools64.msi" | |
Remove-Item "C:\VMware" -Force -Recurse | |
$MountCDROM | Dismount-DiskImage | |
#Mount Windows ISO disk image | |
$MountCDROM = Mount-DiskImage $NanoISOPath -StorageType ISO -Access ReadOnly -PassThru | |
$MountDriveWin = ($MountCDROM | Get-Volume).DriveLetter | |
Import-Module -Global $MountDriveWin":\NanoServer\NanoServerImageGenerator\NanoServerImageGenerator.psm1" | |
New-NanoServerImage -MediaPath $MountDriveWin":\" -BasePath $WorkingDir"Base" -TargetPath $NanoVHDxPath -ComputerName Nano01 -EnableRemoteManagementPort -DriversPath $WorkingDir"Drivers" -AdministratorPassword (ConvertTo-SecureString -String $WindowsAdminPass -AsPlainText -Force) -DeploymentType Host -Edition Standard | |
#Convert VHDx to VMDK | |
.$StarWind if=$NanoVHDxPath ot=VMDK_VMFS of=$NanoVMDKPath vmdktype=scsi | |
if(!(Test-Path $NanoVMDKPath)){ | |
Write-Host "Convertion failed! - See generic error above" | |
Break | |
} | |
#Clean up after VHDx creation | |
$MountCDROM | Dismount-DiskImage | |
Remove-Item $NanoVHDxPath | |
Remove-Item $WorkingDir"Drivers" -Force -Recurse | |
Remove-Item $WorkingDir"Base" -Force -Recurse | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment