From 8e00cf86e799ac57201c28f46fb256588ad3ed22 Mon Sep 17 00:00:00 2001 From: Stefan Scherer Date: Sat, 11 Oct 2014 16:47:25 +0200 Subject: [PATCH 01/28] update to setupssh-6.6.1p1-3 --- scripts/openssh.ps1 | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/scripts/openssh.ps1 b/scripts/openssh.ps1 index 1e188f79..e3728e6e 100644 --- a/scripts/openssh.ps1 +++ b/scripts/openssh.ps1 @@ -3,14 +3,9 @@ param ( ) Write-Host "AutoStart: $AutoStart" -$is_64bit = [IntPtr]::size -eq 8 # setup openssh -$ssh_download_url = "http://www.mls-software.com/files/setupssh-6.6p1-1.exe" -if ($is_64bit) { - Write-Host "64 bit OS found" - $ssh_download_url = "http://www.mls-software.com/files/setupssh-6.6p1-1(x64).exe" -} +$ssh_download_url = "http://www.mls-software.com/files/setupssh-6.6.1p1-3.exe" if (!(Test-Path "C:\Program Files\OpenSSH\bin\ssh.exe")) { Write-Host "Downloading $ssh_download_url" From 24e04b211d3096df64f215867c389f53e0915d7d Mon Sep 17 00:00:00 2001 From: Stefan Scherer Date: Sun, 12 Oct 2014 11:02:12 +0200 Subject: [PATCH 02/28] remove ssh_host_ed25519_key as Vagrant's net-ssh 2.9.1 does not support it --- scripts/openssh.ps1 | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/scripts/openssh.ps1 b/scripts/openssh.ps1 index e3728e6e..1a45c7d8 100644 --- a/scripts/openssh.ps1 +++ b/scripts/openssh.ps1 @@ -44,6 +44,10 @@ $sshd_config = $sshd_config -replace '#UseDNS yes', 'UseDNS no' $sshd_config = $sshd_config -replace 'Banner /etc/banner.txt', '#Banner /etc/banner.txt' Set-Content "C:\Program Files\OpenSSH\etc\sshd_config" $sshd_config +Write-Host "Removing ed25519 key as Vagrant net-ssh 2.9.1 does not support it" +Remove-Item -Force -ErrorAction SilentlyContinue "C:\Program Files\OpenSSH\etc\ssh_host_ed25519_key" +Remove-Item -Force -ErrorAction SilentlyContinue "C:\Program Files\OpenSSH\etc\ssh_host_ed25519_key.pub" + # use c:\Windows\Temp as /tmp location Write-Host "Setting temp directory location" Remove-Item -Recurse -Force -ErrorAction SilentlyContinue "C:\Program Files\OpenSSH\tmp" From ea6c7a21d60a312987cc9650e5ded78048d6dace Mon Sep 17 00:00:00 2001 From: Ken Sykora Date: Wed, 5 Nov 2014 08:31:42 -0600 Subject: [PATCH 03/28] Updated to latest build (no longer need a specific 64 bit version) --- scripts/openssh.ps1 | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/scripts/openssh.ps1 b/scripts/openssh.ps1 index 1e188f79..c3172eb4 100644 --- a/scripts/openssh.ps1 +++ b/scripts/openssh.ps1 @@ -6,11 +6,7 @@ Write-Host "AutoStart: $AutoStart" $is_64bit = [IntPtr]::size -eq 8 # setup openssh -$ssh_download_url = "http://www.mls-software.com/files/setupssh-6.6p1-1.exe" -if ($is_64bit) { - Write-Host "64 bit OS found" - $ssh_download_url = "http://www.mls-software.com/files/setupssh-6.6p1-1(x64).exe" -} +$ssh_download_url = "http://www.mls-software.com/files/setupssh-6.7p1-1.exe" if (!(Test-Path "C:\Program Files\OpenSSH\bin\ssh.exe")) { Write-Host "Downloading $ssh_download_url" From 6690a74c20ec371adf4fcdd504184014c7a5b4df Mon Sep 17 00:00:00 2001 From: Ken Sykora Date: Wed, 5 Nov 2014 08:49:26 -0600 Subject: [PATCH 04/28] Converted to use Write-Output instead of Write-Host in openssh.ps1 --- scripts/openssh.ps1 | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/scripts/openssh.ps1 b/scripts/openssh.ps1 index c3172eb4..40846727 100644 --- a/scripts/openssh.ps1 +++ b/scripts/openssh.ps1 @@ -2,14 +2,14 @@ param ( [switch]$AutoStart = $false ) -Write-Host "AutoStart: $AutoStart" +Write-Output "AutoStart: $AutoStart" $is_64bit = [IntPtr]::size -eq 8 # setup openssh $ssh_download_url = "http://www.mls-software.com/files/setupssh-6.7p1-1.exe" if (!(Test-Path "C:\Program Files\OpenSSH\bin\ssh.exe")) { - Write-Host "Downloading $ssh_download_url" + Write-Output "Downloading $ssh_download_url" (New-Object System.Net.WebClient).DownloadFile($ssh_download_url, "C:\Windows\Temp\openssh.exe") Start-Process "C:\Windows\Temp\openssh.exe" "/S /port=22 /privsep=1 /password=D@rj33l1ng" -NoNewWindow -Wait } @@ -17,13 +17,13 @@ if (!(Test-Path "C:\Program Files\OpenSSH\bin\ssh.exe")) { Stop-Service "OpenSSHd" -Force # ensure vagrant can log in -Write-Host "Setting vagrant user file permissions" +Write-Output "Setting vagrant user file permissions" New-Item -ItemType Directory -Force -Path "C:\Users\vagrant\.ssh" C:\Windows\System32\icacls.exe "C:\Users\vagrant" /grant "vagrant:(OI)(CI)F" C:\Windows\System32\icacls.exe "C:\Program Files\OpenSSH\bin" /grant "vagrant:(OI)RX" C:\Windows\System32\icacls.exe "C:\Program Files\OpenSSH\usr\sbin" /grant "vagrant:(OI)RX" -Write-Host "Setting SSH home directories" +Write-Output "Setting SSH home directories" (Get-Content "C:\Program Files\OpenSSH\etc\passwd") | Foreach-Object { $_ -replace '/home/(\w+)', '/cygdrive/c/Users/$1' } | Set-Content 'C:\Program Files\OpenSSH\etc\passwd' @@ -34,7 +34,7 @@ $passwd_file = $passwd_file -replace '/bin/bash', '/bin/sh' Set-Content 'C:\Program Files\OpenSSH\etc\passwd' $passwd_file # fix opensshd to not be strict -Write-Host "Setting OpenSSH to be non-strict" +Write-Output "Setting OpenSSH to be non-strict" $sshd_config = Get-Content "C:\Program Files\OpenSSH\etc\sshd_config" $sshd_config = $sshd_config -replace 'StrictModes yes', 'StrictModes no' $sshd_config = $sshd_config -replace '#PubkeyAuthentication yes', 'PubkeyAuthentication yes' @@ -46,13 +46,13 @@ $sshd_config = $sshd_config -replace 'Banner /etc/banner.txt', '#Banner /etc/ban Set-Content "C:\Program Files\OpenSSH\etc\sshd_config" $sshd_config # use c:\Windows\Temp as /tmp location -Write-Host "Setting temp directory location" +Write-Output "Setting temp directory location" Remove-Item -Recurse -Force -ErrorAction SilentlyContinue "C:\Program Files\OpenSSH\tmp" C:\Program` Files\OpenSSH\bin\junction.exe /accepteula "C:\Program Files\OpenSSH\tmp" "C:\Windows\Temp" C:\Windows\System32\icacls.exe "C:\Windows\Temp" /grant "vagrant:(OI)(CI)F" # add 64 bit environment variables missing from SSH -Write-Host "Setting SSH environment" +Write-Output "Setting SSH environment" $sshenv = "TEMP=C:\Windows\Temp" if ($is_64bit) { $env_vars = "ProgramFiles(x86)=C:\Program Files (x86)", ` @@ -64,11 +64,11 @@ if ($is_64bit) { Set-Content C:\Users\vagrant\.ssh\environment $sshenv # record the path for provisioners (without the newline) -Write-Host "Recording PATH for provisioners" +Write-Output "Recording PATH for provisioners" Set-Content C:\Windows\Temp\PATH ([byte[]][char[]] $env:PATH) -Encoding Byte # configure firewall -Write-Host "Configuring firewall" +Write-Output "Configuring firewall" netsh advfirewall firewall add rule name="SSHD" dir=in action=allow service=OpenSSHd enable=yes netsh advfirewall firewall add rule name="SSHD" dir=in action=allow program="C:\Program Files\OpenSSH\usr\sbin\sshd.exe" enable=yes netsh advfirewall firewall add rule name="ssh" dir=in action=allow protocol=TCP localport=22 From 1adf0b1a1c6fbd1cf30be440415e763472fa2592 Mon Sep 17 00:00:00 2001 From: Paul Palmer Date: Wed, 5 Nov 2014 14:10:54 -0500 Subject: [PATCH 05/28] install openssh with non-standard port initially to avoid race condition between install and stop-service --- scripts/openssh.ps1 | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/scripts/openssh.ps1 b/scripts/openssh.ps1 index 1e188f79..7e41fd19 100644 --- a/scripts/openssh.ps1 +++ b/scripts/openssh.ps1 @@ -15,7 +15,10 @@ if ($is_64bit) { if (!(Test-Path "C:\Program Files\OpenSSH\bin\ssh.exe")) { Write-Host "Downloading $ssh_download_url" (New-Object System.Net.WebClient).DownloadFile($ssh_download_url, "C:\Windows\Temp\openssh.exe") - Start-Process "C:\Windows\Temp\openssh.exe" "/S /port=22 /privsep=1 /password=D@rj33l1ng" -NoNewWindow -Wait + + # initially set the port to 2222 so that there is not a race + # condition in which packer connects to SSH before we can disable the service + Start-Process "C:\Windows\Temp\openssh.exe" "/S /port=2222 /privsep=1 /password=D@rj33l1ng" -NoNewWindow -Wait } Stop-Service "OpenSSHd" -Force @@ -47,6 +50,8 @@ $sshd_config = $sshd_config -replace '#PermitUserEnvironment no', 'PermitUserEnv $sshd_config = $sshd_config -replace '#UseDNS yes', 'UseDNS no' # disable the login banner $sshd_config = $sshd_config -replace 'Banner /etc/banner.txt', '#Banner /etc/banner.txt' +# next time OpenSSH starts have it listen on th eproper port +$sshd_config = $sshd_config -replace 'Port 2222', "Port 22" Set-Content "C:\Program Files\OpenSSH\etc\sshd_config" $sshd_config # use c:\Windows\Temp as /tmp location From 03c4225c6b97e24445d98f793e409d3da00ed091 Mon Sep 17 00:00:00 2001 From: Ken Sykora Date: Wed, 5 Nov 2014 14:02:35 -0600 Subject: [PATCH 06/28] Added comments for clarity on retail ISOs in win8.1 (#114) --- answer_files/81/Autounattend.xml | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/answer_files/81/Autounattend.xml b/answer_files/81/Autounattend.xml index 00ea2457..7c61a642 100644 --- a/answer_files/81/Autounattend.xml +++ b/answer_files/81/Autounattend.xml @@ -31,6 +31,20 @@ true Vagrant Administrator Vagrant Inc. + + + XC9B7-NBPP2-83J2H-RHMBY-92BT4 Never From 1b9dbd6f960401c6e9e3f1e76b3a521708bc983a Mon Sep 17 00:00:00 2001 From: Ken Sykora Date: Thu, 6 Nov 2014 09:22:35 -0600 Subject: [PATCH 07/28] Updated changelog --- CHANGELOG.md | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 5e5398db..0488d6bd 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,9 @@ +## Unreleased + +* Clarified use of the `` element in Windows 8.1 autounattend file (#114) +* Fixed issue with OpenSSH / Packer race condition (#113) +* + ## v1.23 (Nov 5th, 2014) * Resolved issue with Windows 7 not successfully completing an update run (#83) From 9824a4a7ea15092f65857cd7967aee7baff9eef5 Mon Sep 17 00:00:00 2001 From: Victor Robertson Date: Wed, 3 Sep 2014 21:03:42 -0500 Subject: [PATCH 08/28] Document problems with Chef provisioner in README As Packer currently has no support for WinRM and all communication with the VM is done over SSH in Cygwin, some Packer features fail to work properly including Chef. While Chef works for many packages, it doesn't work with those that make assumptions about available programs in PATH such as msiexec.exe. This patch addresses the issue by documenting the problem in README.md with hopes that future developers will spend less time trying to solve Chef-related issues. --- README.md | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 023942c5..0dc5e604 100644 --- a/README.md +++ b/README.md @@ -82,7 +82,7 @@ Doing so will give you hours back in your day, which is a good thing. ### OpenSSH / WinRM -Currently, [Packer](http://packer.io) has a single communitator that uses SSH. This means we need an SSH server installed on Windows - which is not optimal as we could use WinRM to communicate with the Windows VM. In the short term, everything works well with SSH; in the medium term, work is underway on a WinRM communicator for Packer. +Currently, [Packer](http://packer.io) has a single communitator that uses SSH. This means we need an SSH server installed on Windows - which is not optimal as we could use WinRM to communicate with the Windows VM. In the short term, many Packer features works well with SSH; in the medium term, work is underway on a WinRM communicator for Packer. If you have serious objections to OpenSSH being installed, you can always add another stage to your build pipeline: @@ -90,6 +90,10 @@ If you have serious objections to OpenSSH being installed, you can always add an * Create a Vagrantfile, use the base box from Packer, connect to the VM via WinRM (using the [vagrant-windows](https://github.com/WinRb/vagrant-windows) plugin) and disable the 'sshd' service or uninstall OpenSSH completely * Perform a Vagrant run and output a .box file +It's worth mentioning that many Chef cookbooks will not work properly through Cygwin's SSH environment on Windows. Specifically, packages that need access to environment-specific configurations such as the `PATH` variable, will fail. This includes packages that use the Windows installer, `msiexec.exe`. + +It's currently recommended that you add a second step to your pipeline and use Vagrant to install your packages through Chef. + ### Using .box Files With Vagrant The generated box files include a Vagrantfile template that is suitable for From f35bbec1f8a5f53144fceb7b3f752beb87e30d52 Mon Sep 17 00:00:00 2001 From: Ken Sykora Date: Thu, 6 Nov 2014 14:34:52 -0600 Subject: [PATCH 09/28] Grammar --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 0dc5e604..c05cd3f1 100644 --- a/README.md +++ b/README.md @@ -82,7 +82,7 @@ Doing so will give you hours back in your day, which is a good thing. ### OpenSSH / WinRM -Currently, [Packer](http://packer.io) has a single communitator that uses SSH. This means we need an SSH server installed on Windows - which is not optimal as we could use WinRM to communicate with the Windows VM. In the short term, many Packer features works well with SSH; in the medium term, work is underway on a WinRM communicator for Packer. +Currently, [Packer](http://packer.io) has a single communitator that uses SSH. This means we need an SSH server installed on Windows - which is not optimal as we could use WinRM to communicate with the Windows VM. In the short term, many Packer features work well with SSH; in the medium term, work is underway on a WinRM communicator for Packer. If you have serious objections to OpenSSH being installed, you can always add another stage to your build pipeline: From c6be4572a8833710da8d5faa33108d6e6f56af23 Mon Sep 17 00:00:00 2001 From: Stefan Scherer Date: Sun, 9 Nov 2014 08:37:44 +0100 Subject: [PATCH 10/28] updated to setupssh-6.7p1-1.exe --- scripts/openssh.ps1 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/openssh.ps1 b/scripts/openssh.ps1 index 1a45c7d8..3d0c90e5 100644 --- a/scripts/openssh.ps1 +++ b/scripts/openssh.ps1 @@ -5,7 +5,7 @@ param ( Write-Host "AutoStart: $AutoStart" # setup openssh -$ssh_download_url = "http://www.mls-software.com/files/setupssh-6.6.1p1-3.exe" +$ssh_download_url = "http://www.mls-software.com/files/setupssh-6.7p1-1.exe" if (!(Test-Path "C:\Program Files\OpenSSH\bin\ssh.exe")) { Write-Host "Downloading $ssh_download_url" From 995cf44bbfbdc580934621d8b850c55f9799a2e9 Mon Sep 17 00:00:00 2001 From: Stefan Scherer Date: Thu, 13 Nov 2014 19:57:06 +0100 Subject: [PATCH 11/28] extend primary partition to use template.json --- answer_files/2008_r2/Autounattend.xml | 2 +- answer_files/2008_r2_core/Autounattend.xml | 2 +- answer_files/2012/Autounattend.xml | 2 +- answer_files/7/Autounattend.xml | 2 +- answer_files/81/Autounattend.xml | 2 +- 5 files changed, 5 insertions(+), 5 deletions(-) diff --git a/answer_files/2008_r2/Autounattend.xml b/answer_files/2008_r2/Autounattend.xml index ed1e5ef0..ecd4f17c 100644 --- a/answer_files/2008_r2/Autounattend.xml +++ b/answer_files/2008_r2/Autounattend.xml @@ -9,7 +9,7 @@ 1 Primary - 60000 + true diff --git a/answer_files/2008_r2_core/Autounattend.xml b/answer_files/2008_r2_core/Autounattend.xml index 23a5bf61..e9e90c27 100644 --- a/answer_files/2008_r2_core/Autounattend.xml +++ b/answer_files/2008_r2_core/Autounattend.xml @@ -9,7 +9,7 @@ 1 Primary - 60000 + true diff --git a/answer_files/2012/Autounattend.xml b/answer_files/2012/Autounattend.xml index 17fa9162..e069ea82 100644 --- a/answer_files/2012/Autounattend.xml +++ b/answer_files/2012/Autounattend.xml @@ -9,7 +9,7 @@ 1 Primary - 60000 + true diff --git a/answer_files/7/Autounattend.xml b/answer_files/7/Autounattend.xml index c42f9ac4..996da72f 100644 --- a/answer_files/7/Autounattend.xml +++ b/answer_files/7/Autounattend.xml @@ -9,7 +9,7 @@ 1 Primary - 60000 + true diff --git a/answer_files/81/Autounattend.xml b/answer_files/81/Autounattend.xml index 7c61a642..6e471517 100644 --- a/answer_files/81/Autounattend.xml +++ b/answer_files/81/Autounattend.xml @@ -9,7 +9,7 @@ 1 Primary - 60000 + true From feb9bdd0adefa838ac1eaaa2e5d7348361e4a769 Mon Sep 17 00:00:00 2001 From: Matt Graham Date: Tue, 18 Nov 2014 17:02:30 -0500 Subject: [PATCH 12/28] Add support for Hyper-V Server 2012 R2 --- answer_files/2012_r2_hyperv/Autounattend.xml | 296 +++++++++++++++++++ windows_2012_r2_hyperv.json | 99 +++++++ 2 files changed, 395 insertions(+) create mode 100644 answer_files/2012_r2_hyperv/Autounattend.xml create mode 100644 windows_2012_r2_hyperv.json diff --git a/answer_files/2012_r2_hyperv/Autounattend.xml b/answer_files/2012_r2_hyperv/Autounattend.xml new file mode 100644 index 00000000..caef6572 --- /dev/null +++ b/answer_files/2012_r2_hyperv/Autounattend.xml @@ -0,0 +1,296 @@ + + + + + + en-US + + en-US + en-US + en-US + en-US + en-US + + + + + + + Primary + 1 + 350 + + + 2 + Primary + true + + + + + true + NTFS + + 1 + 1 + + + NTFS + + C + 2 + 2 + + + 0 + true + + + + + + + /IMAGE/NAME + Windows Server 2012 R2 SERVERHYPERCORE + + + + 0 + 2 + + + + + + + + + + OnError + + true + Vagrant + Vagrant + + + + + + + false + + vagrant-2012-r2 + Pacific Standard Time + + + + true + + + false + false + + + true + + + true + + + + + + + vagrant + true</PlainText> + </Password> + <Enabled>true</Enabled> + <Username>vagrant</Username> + </AutoLogon> + <FirstLogonCommands> + <SynchronousCommand wcm:action="add"> + <CommandLine>cmd.exe /c powershell -Command "Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Force"</CommandLine> + <Description>Set Execution Policy 64 Bit</Description> + <Order>1</Order> + <RequiresUserInput>true</RequiresUserInput> + </SynchronousCommand> + <SynchronousCommand wcm:action="add"> + <CommandLine>C:\Windows\SysWOW64\cmd.exe /c powershell -Command "Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Force"</CommandLine> + <Description>Set Execution Policy 32 Bit</Description> + <Order>2</Order> + <RequiresUserInput>true</RequiresUserInput> + </SynchronousCommand> + <SynchronousCommand wcm:action="add"> + <CommandLine>cmd.exe /c winrm quickconfig -q</CommandLine> + <Description>winrm quickconfig -q</Description> + <Order>3</Order> + <RequiresUserInput>true</RequiresUserInput> + </SynchronousCommand> + <SynchronousCommand wcm:action="add"> + <CommandLine>cmd.exe /c winrm quickconfig -transport:http</CommandLine> + <Description>winrm quickconfig -transport:http</Description> + <Order>4</Order> + <RequiresUserInput>true</RequiresUserInput> + </SynchronousCommand> + <SynchronousCommand wcm:action="add"> + <CommandLine>cmd.exe /c winrm set winrm/config @{MaxTimeoutms="1800000"}</CommandLine> + <Description>Win RM MaxTimoutms</Description> + <Order>5</Order> + <RequiresUserInput>true</RequiresUserInput> + </SynchronousCommand> + <SynchronousCommand wcm:action="add"> + <CommandLine>cmd.exe /c winrm set winrm/config/winrs @{MaxMemoryPerShellMB="300"}</CommandLine> + <Description>Win RM MaxMemoryPerShellMB</Description> + <Order>6</Order> + <RequiresUserInput>true</RequiresUserInput> + </SynchronousCommand> + <SynchronousCommand wcm:action="add"> + <CommandLine>cmd.exe /c winrm set winrm/config/service @{AllowUnencrypted="true"}</CommandLine> + <Description>Win RM AllowUnencrypted</Description> + <Order>7</Order> + <RequiresUserInput>true</RequiresUserInput> + </SynchronousCommand> + <SynchronousCommand wcm:action="add"> + <CommandLine>cmd.exe /c winrm set winrm/config/service/auth @{Basic="true"}</CommandLine> + <Description>Win RM auth Basic</Description> + <Order>8</Order> + <RequiresUserInput>true</RequiresUserInput> + </SynchronousCommand> + <SynchronousCommand wcm:action="add"> + <CommandLine>cmd.exe /c winrm set winrm/config/client/auth @{Basic="true"}</CommandLine> + <Description>Win RM client auth Basic</Description> + <Order>9</Order> + <RequiresUserInput>true</RequiresUserInput> + </SynchronousCommand> + <SynchronousCommand wcm:action="add"> + <CommandLine>cmd.exe /c winrm set winrm/config/listener?Address=*+Transport=HTTP @{Port="5985"} </CommandLine> + <Description>Win RM listener Address/Port</Description> + <Order>10</Order> + <RequiresUserInput>true</RequiresUserInput> + </SynchronousCommand> + <SynchronousCommand wcm:action="add"> + <CommandLine>cmd.exe /c netsh advfirewall firewall set rule group="remote administration" new enable=yes </CommandLine> + <Description>Win RM adv firewall enable</Description> + <Order>11</Order> + <RequiresUserInput>true</RequiresUserInput> + </SynchronousCommand> + <SynchronousCommand wcm:action="add"> + <CommandLine>cmd.exe /c netsh firewall add portopening TCP 5985 "Port 5985" </CommandLine> + <Description>Win RM port open</Description> + <Order>12</Order> + <RequiresUserInput>true</RequiresUserInput> + </SynchronousCommand> + <SynchronousCommand wcm:action="add"> + <CommandLine>cmd.exe /c net stop winrm </CommandLine> + <Description>Stop Win RM Service </Description> + <Order>13</Order> + <RequiresUserInput>true</RequiresUserInput> + </SynchronousCommand> + <SynchronousCommand wcm:action="add"> + <CommandLine>cmd.exe /c sc config winrm start= auto</CommandLine> + <Description>Win RM Autostart</Description> + <Order>14</Order> + <RequiresUserInput>true</RequiresUserInput> + </SynchronousCommand> + <SynchronousCommand wcm:action="add"> + <CommandLine>cmd.exe /c net start winrm</CommandLine> + <Description>Start Win RM Service</Description> + <Order>15</Order> + <RequiresUserInput>true</RequiresUserInput> + </SynchronousCommand> + <SynchronousCommand wcm:action="add"> + <CommandLine>%SystemRoot%\System32\reg.exe ADD HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced\ /v HideFileExt /t REG_DWORD /d 0 /f</CommandLine> + <Order>16</Order> + <Description>Show file extensions in Explorer</Description> + </SynchronousCommand> + <SynchronousCommand wcm:action="add"> + <CommandLine>%SystemRoot%\System32\reg.exe ADD HKCU\Console /v QuickEdit /t REG_DWORD /d 1 /f</CommandLine> + <Order>17</Order> + <Description>Enable QuickEdit mode</Description> + </SynchronousCommand> + <SynchronousCommand wcm:action="add"> + <CommandLine>%SystemRoot%\System32\reg.exe ADD HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced\ /v Start_ShowRun /t REG_DWORD /d 1 /f</CommandLine> + <Order>18</Order> + <Description>Show Run command in Start Menu</Description> + </SynchronousCommand> + <SynchronousCommand wcm:action="add"> + <CommandLine>%SystemRoot%\System32\reg.exe ADD HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced\ /v StartMenuAdminTools /t REG_DWORD /d 1 /f</CommandLine> + <Order>19</Order> + <Description>Show Administrative Tools in Start Menu</Description> + </SynchronousCommand> + <SynchronousCommand wcm:action="add"> + <CommandLine>%SystemRoot%\System32\reg.exe ADD HKLM\SYSTEM\CurrentControlSet\Control\Power\ /v HibernateFileSizePercent /t REG_DWORD /d 0 /f</CommandLine> + <Order>20</Order> + <Description>Zero Hibernation File</Description> + </SynchronousCommand> + <SynchronousCommand wcm:action="add"> + <CommandLine>%SystemRoot%\System32\reg.exe ADD HKLM\SYSTEM\CurrentControlSet\Control\Power\ /v HibernateEnabled /t REG_DWORD /d 0 /f</CommandLine> + <Order>21</Order> + <Description>Disable Hibernation Mode</Description> + </SynchronousCommand> + <SynchronousCommand wcm:action="add"> + <CommandLine>cmd.exe /c wmic useraccount where "name='vagrant'" set PasswordExpires=FALSE</CommandLine> + <Order>22</Order> + <Description>Disable password expiration for vagrant user</Description> + </SynchronousCommand> + <!-- WITHOUT WINDOWS UPDATES --> + <!-- + <SynchronousCommand wcm:action="add"> + <CommandLine>cmd.exe /c C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe -File a:\openssh.ps1 -AutoStart</CommandLine> + <Description>Install OpenSSH</Description> + <Order>99</Order> + <RequiresUserInput>true</RequiresUserInput> + </SynchronousCommand> + --> + <!-- END WITHOUT WINDOWS UPDATES --> + <!-- WITH WINDOWS UPDATES --> + <SynchronousCommand wcm:action="add"> + <CommandLine>cmd.exe /c a:\microsoft-updates.bat</CommandLine> + <Order>98</Order> + <Description>Enable Microsoft Updates</Description> + </SynchronousCommand> + <SynchronousCommand wcm:action="add"> + <CommandLine>cmd.exe /c C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe -File a:\win-updates.ps1</CommandLine> + <Description>Install Windows Updates</Description> + <Order>100</Order> + <RequiresUserInput>true</RequiresUserInput> + </SynchronousCommand> + <!-- END WITH WINDOWS UPDATES --> + </FirstLogonCommands> + <OOBE> + <HideEULAPage>true</HideEULAPage> + <HideLocalAccountScreen>true</HideLocalAccountScreen> + <HideOEMRegistrationScreen>true</HideOEMRegistrationScreen> + <HideOnlineAccountScreens>true</HideOnlineAccountScreens> + <HideWirelessSetupInOOBE>true</HideWirelessSetupInOOBE> + <NetworkLocation>Home</NetworkLocation> + <ProtectYourPC>1</ProtectYourPC> + </OOBE> + <UserAccounts> + <AdministratorPassword> + <Value>vagrant</Value> + <PlainText>true</PlainText> + </AdministratorPassword> + <LocalAccounts> + <LocalAccount wcm:action="add"> + <Password> + <Value>vagrant</Value> + <PlainText>true</PlainText> + </Password> + <Group>administrators</Group> + <DisplayName>Vagrant</DisplayName> + <Name>vagrant</Name> + <Description>Vagrant User</Description> + </LocalAccount> + </LocalAccounts> + </UserAccounts> + <RegisteredOwner/> + </component> + </settings> + <settings pass="offlineServicing"> + <component xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" name="Microsoft-Windows-LUA-Settings" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS"> + <EnableLUA>false</EnableLUA> + </component> + </settings> + <cpi:offlineImage xmlns:cpi="urn:schemas-microsoft-com:cpi" cpi:source="wim:c:/wim/install.wim#Windows Server 2012 R2 SERVERSTANDARD"/> +</unattend> diff --git a/windows_2012_r2_hyperv.json b/windows_2012_r2_hyperv.json new file mode 100644 index 00000000..eb95f5cc --- /dev/null +++ b/windows_2012_r2_hyperv.json @@ -0,0 +1,99 @@ +{ + "builders": [ + { + "type": "vmware-iso", + "iso_url": "http://care.dlservice.microsoft.com/dl/download/F/7/D/F7DF966B-5C40-4674-9A32-D83D869A3244/9600.16384.WINBLUE_RTM.130821-1623_X64FRE_SERVERHYPERCORE_EN-US-IRM_SHV_X64FRE_EN-US_DV5.ISO", + "iso_checksum_type": "md5", + "iso_checksum": "9c9e0d82cb6301a4b88fd2f4c35caf80", + "headless": true, + "boot_wait": "2m", + "ssh_username": "vagrant", + "ssh_password": "vagrant", + "ssh_wait_timeout": "4h", + "shutdown_command": "shutdown /s /t 10 /f /d p:4:1 /c \"Packer Shutdown\"", + "guest_os_type": "windows8srv-64", + "tools_upload_flavor": "windows", + "disk_size": 61440, + "vnc_port_min": 5900, + "vnc_port_max": 5980, + "floppy_files": [ + "./answer_files/2012_r2_hyperv/Autounattend.xml", + "./scripts/microsoft-updates.bat", + "./scripts/win-updates.ps1", + "./scripts/openssh.ps1" + ], + "vmx_data": { + "RemoteDisplay.vnc.enabled": "false", + "RemoteDisplay.vnc.port": "5900", + "memsize": "2048", + "numvcpus": "2", + "scsi0.virtualDev": "lsisas1068" + } + }, + { + "type": "virtualbox-iso", + "iso_url": "http://care.dlservice.microsoft.com/dl/download/F/7/D/F7DF966B-5C40-4674-9A32-D83D869A3244/9600.16384.WINBLUE_RTM.130821-1623_X64FRE_SERVERHYPERCORE_EN-US-IRM_SHV_X64FRE_EN-US_DV5.ISO", + "iso_checksum_type": "md5", + "iso_checksum": "9c9e0d82cb6301a4b88fd2f4c35caf80", + "headless": true, + "boot_wait": "2m", + "ssh_username": "vagrant", + "ssh_password": "vagrant", + "ssh_wait_timeout": "4h", + "shutdown_command": "shutdown /s /t 10 /f /d p:4:1 /c \"Packer Shutdown\"", + "guest_os_type": "Windows2012_64", + "disk_size": 61440, + "floppy_files": [ + "./answer_files/2012_r2_hyperv/Autounattend.xml", + "./scripts/microsoft-updates.bat", + "./scripts/win-updates.ps1", + "./scripts/openssh.ps1", + "./scripts/oracle-cert.cer" + ], + "vboxmanage": [ + [ + "modifyvm", + "{{.Name}}", + "--memory", + "2048" + ], + [ + "modifyvm", + "{{.Name}}", + "--cpus", + "2" + ] + ] + } + ], + "provisioners": [ + { + "type": "shell", + "remote_path": "/tmp/script.bat", + "execute_command": "{{.Vars}} cmd /c C:/Windows/Temp/script.bat", + "scripts": [ + "./scripts/vm-guest-tools.bat", + "./scripts/chef.bat", + "./scripts/vagrant-ssh.bat", + "./scripts/enable-rdp.bat", + "./scripts/compile-dotnet-assemblies.bat", + "./scripts/disable-auto-logon.bat", + "./scripts/compact.bat" + ] + }, + { + "type": "shell", + "inline": [ + "rm -rf /tmp/*" + ] + } + ], + "post-processors": [ + { + "type": "vagrant", + "keep_input_artifact": false, + "output": "windows_2012_r2_hyperv_{{.Provider}}.box", + "vagrantfile_template": "vagrantfile-windows_2012_r2.template" + } + ] +} From 760f2b6b138b85a95795ba6ff4b081dd076911ae Mon Sep 17 00:00:00 2001 From: JVimes <JVimes@users.noreply.github.com> Date: Sun, 23 Nov 2014 14:51:59 -0700 Subject: [PATCH 13/28] Fixing cut-and-paste error from 2012 autounattend. --- answer_files/81/Autounattend.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/answer_files/81/Autounattend.xml b/answer_files/81/Autounattend.xml index 6e471517..826cdf1d 100644 --- a/answer_files/81/Autounattend.xml +++ b/answer_files/81/Autounattend.xml @@ -46,7 +46,7 @@ --> <!-- Product Key from http://technet.microsoft.com/en-us/library/ff793406.aspx --> - <ProductKey>XC9B7-NBPP2-83J2H-RHMBY-92BT4 + <ProductKey>MHF9N-XY6XB-WVXMC-BTDCT-MKKG7 <WillShowUI>Never</WillShowUI> </ProductKey> </UserData> @@ -276,7 +276,7 @@ <HelpCustomized>false</HelpCustomized> </OEMInformation> <!-- Rename computer here. --> - <ComputerName>vagrant-2012</ComputerName> + <ComputerName>vagrant-81</ComputerName> <TimeZone>Pacific Standard Time</TimeZone> <RegisteredOwner/> </component> From 147b8ddab01b07a273f8a5ad3ed2c8155f7910e3 Mon Sep 17 00:00:00 2001 From: JVimes <JVimes@users.noreply.github.com> Date: Sun, 23 Nov 2014 14:53:40 -0700 Subject: [PATCH 14/28] Fixing product key URL in comment. --- answer_files/81/Autounattend.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/answer_files/81/Autounattend.xml b/answer_files/81/Autounattend.xml index 826cdf1d..b3d0fa3c 100644 --- a/answer_files/81/Autounattend.xml +++ b/answer_files/81/Autounattend.xml @@ -45,7 +45,7 @@ Notice the addition of the `<Key>` element. --> - <!-- Product Key from http://technet.microsoft.com/en-us/library/ff793406.aspx --> + <!-- Product Key from http://technet.microsoft.com/en-us/library/jj612867.aspx --> <ProductKey>MHF9N-XY6XB-WVXMC-BTDCT-MKKG7 <WillShowUI>Never</WillShowUI> </ProductKey> From 883493cdc3894e6c60b0a59e8f2b858175d78c51 Mon Sep 17 00:00:00 2001 From: Ken Sykora <ksykora@nerdery.com> Date: Fri, 12 Dec 2014 10:22:22 -0600 Subject: [PATCH 15/28] Updated changelog with fixed issues --- CHANGELOG.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 0488d6bd..42c486d2 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,7 +2,8 @@ * Clarified use of the `<Key>` element in Windows 8.1 autounattend file (#114) * Fixed issue with OpenSSH / Packer race condition (#113) -* +* Fixed issue with Windows 8.1 product key and computer name (#121) +* Fixed issue where disk size would always be 60GB regardless of value in packer template (#117) ## v1.23 (Nov 5th, 2014) From eac4efe29870089a415fc277b2e531ca2be24983 Mon Sep 17 00:00:00 2001 From: Stefan Scherer <scherer_stefan@icloud.com> Date: Sat, 24 Jan 2015 18:54:53 +0100 Subject: [PATCH 16/28] Windows 10 Technical Preview Build 9926 --- answer_files/10/Autounattend.xml | 288 +++++++++++++++++++++++++++++++ vagrantfile-windows_10.template | 47 +++++ windows_10.json | 77 +++++++++ 3 files changed, 412 insertions(+) create mode 100644 answer_files/10/Autounattend.xml create mode 100644 vagrantfile-windows_10.template create mode 100644 windows_10.json diff --git a/answer_files/10/Autounattend.xml b/answer_files/10/Autounattend.xml new file mode 100644 index 00000000..f2d955fd --- /dev/null +++ b/answer_files/10/Autounattend.xml @@ -0,0 +1,288 @@ +<?xml version="1.0" encoding="utf-8"?> +<unattend xmlns="urn:schemas-microsoft-com:unattend"> + <servicing/> + <settings pass="windowsPE"> + <component xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" name="Microsoft-Windows-Setup" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS"> + <DiskConfiguration> + <Disk wcm:action="add"> + <CreatePartitions> + <CreatePartition wcm:action="add"> + <Order>1</Order> + <Type>Primary</Type> + <Extend>true</Extend> + </CreatePartition> + </CreatePartitions> + <ModifyPartitions> + <ModifyPartition wcm:action="add"> + <Extend>false</Extend> + <Format>NTFS</Format> + <Letter>C</Letter> + <Order>1</Order> + <PartitionID>1</PartitionID> + <Label>Windows 10</Label> + </ModifyPartition> + </ModifyPartitions> + <DiskID>0</DiskID> + <WillWipeDisk>true</WillWipeDisk> + </Disk> + <WillShowUI>OnError</WillShowUI> + </DiskConfiguration> + <UserData> + <AcceptEula>true</AcceptEula> + <FullName>Vagrant Administrator</FullName> + <Organization>Vagrant Inc.</Organization> + + <!-- + NOTE: If you are re-configuring this for use of a retail key + and using a retail ISO, you need to adjust the <ProductKey> block + below to look like this: + + <ProductKey> + <Key>33PXH-7Y6KF-2VJC9-XBBR8-HVTHH</Key> + <WillShowUI>Never</WillShowUI> + </ProductKey> + + Notice the addition of the `<Key>` element. + --> + + <!-- Product Key from http://technet.microsoft.com/en-us/library/jj612867.aspx --> + <ProductKey>NKJFK-GPHP7-G8C3J-P6JXR-HQRJR + <WillShowUI>Never</WillShowUI> + </ProductKey> + </UserData> + <ImageInstall> + <OSImage> + <InstallTo> + <DiskID>0</DiskID> + <PartitionID>1</PartitionID> + </InstallTo> + <WillShowUI>OnError</WillShowUI> + <InstallToAvailablePartition>false</InstallToAvailablePartition> + <InstallFrom> + <MetaData wcm:action="add"> + <Key>/IMAGE/NAME</Key> + <Value>Windows 8.1 Pro</Value> + </MetaData> + </InstallFrom> + </OSImage> + </ImageInstall> + </component> + <component xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" name="Microsoft-Windows-International-Core-WinPE" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS"> + <SetupUILanguage> + <UILanguage>en-US</UILanguage> + </SetupUILanguage> + <InputLocale>en-US</InputLocale> + <SystemLocale>en-US</SystemLocale> + <UILanguage>en-US</UILanguage> + <UILanguageFallback>en-US</UILanguageFallback> + <UserLocale>en-US</UserLocale> + </component> + </settings> + <settings pass="offlineServicing"> + <component name="Microsoft-Windows-LUA-Settings" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS"> + <EnableLUA>false</EnableLUA> + </component> + </settings> + <settings pass="oobeSystem"> + <component xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" name="Microsoft-Windows-Shell-Setup" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS"> + <UserAccounts> + <AdministratorPassword> + <Value>vagrant</Value> + <PlainText>true</PlainText> + </AdministratorPassword> + <LocalAccounts> + <LocalAccount wcm:action="add"> + <Password> + <Value>vagrant</Value> + <PlainText>true</PlainText> + </Password> + <Description>Vagrant User</Description> + <DisplayName>vagrant</DisplayName> + <Group>administrators</Group> + <Name>vagrant</Name> + </LocalAccount> + </LocalAccounts> + </UserAccounts> + <OOBE> + <HideEULAPage>true</HideEULAPage> + <HideWirelessSetupInOOBE>true</HideWirelessSetupInOOBE> + <NetworkLocation>Home</NetworkLocation> + <ProtectYourPC>1</ProtectYourPC> + </OOBE> + <AutoLogon> + <Password> + <Value>vagrant</Value> + <PlainText>true</PlainText> + </Password> + <Username>vagrant</Username> + <Enabled>true</Enabled> + </AutoLogon> + <FirstLogonCommands> + <SynchronousCommand wcm:action="add"> + <CommandLine>cmd.exe /c powershell -Command "Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Force"</CommandLine> + <Description>Set Execution Policy 64 Bit</Description> + <Order>1</Order> + <RequiresUserInput>true</RequiresUserInput> + </SynchronousCommand> + <SynchronousCommand wcm:action="add"> + <CommandLine>C:\Windows\SysWOW64\cmd.exe /c powershell -Command "Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Force"</CommandLine> + <Description>Set Execution Policy 32 Bit</Description> + <Order>2</Order> + <RequiresUserInput>true</RequiresUserInput> + </SynchronousCommand> + <SynchronousCommand wcm:action="add"> + <CommandLine>cmd.exe /c winrm quickconfig -q</CommandLine> + <Description>winrm quickconfig -q</Description> + <Order>3</Order> + <RequiresUserInput>true</RequiresUserInput> + </SynchronousCommand> + <SynchronousCommand wcm:action="add"> + <CommandLine>cmd.exe /c winrm quickconfig -transport:http</CommandLine> + <Description>winrm quickconfig -transport:http</Description> + <Order>4</Order> + <RequiresUserInput>true</RequiresUserInput> + </SynchronousCommand> + <SynchronousCommand wcm:action="add"> + <CommandLine>cmd.exe /c winrm set winrm/config @{MaxTimeoutms="1800000"}</CommandLine> + <Description>Win RM MaxTimoutms</Description> + <Order>5</Order> + <RequiresUserInput>true</RequiresUserInput> + </SynchronousCommand> + <SynchronousCommand wcm:action="add"> + <CommandLine>cmd.exe /c winrm set winrm/config/winrs @{MaxMemoryPerShellMB="300"}</CommandLine> + <Description>Win RM MaxMemoryPerShellMB</Description> + <Order>6</Order> + <RequiresUserInput>true</RequiresUserInput> + </SynchronousCommand> + <SynchronousCommand wcm:action="add"> + <CommandLine>cmd.exe /c winrm set winrm/config/service @{AllowUnencrypted="true"}</CommandLine> + <Description>Win RM AllowUnencrypted</Description> + <Order>7</Order> + <RequiresUserInput>true</RequiresUserInput> + </SynchronousCommand> + <SynchronousCommand wcm:action="add"> + <CommandLine>cmd.exe /c winrm set winrm/config/service/auth @{Basic="true"}</CommandLine> + <Description>Win RM auth Basic</Description> + <Order>8</Order> + <RequiresUserInput>true</RequiresUserInput> + </SynchronousCommand> + <SynchronousCommand wcm:action="add"> + <CommandLine>cmd.exe /c winrm set winrm/config/client/auth @{Basic="true"}</CommandLine> + <Description>Win RM client auth Basic</Description> + <Order>9</Order> + <RequiresUserInput>true</RequiresUserInput> + </SynchronousCommand> + <SynchronousCommand wcm:action="add"> + <CommandLine>cmd.exe /c winrm set winrm/config/listener?Address=*+Transport=HTTP @{Port="5985"} </CommandLine> + <Description>Win RM listener Address/Port</Description> + <Order>10</Order> + <RequiresUserInput>true</RequiresUserInput> + </SynchronousCommand> + <SynchronousCommand wcm:action="add"> + <CommandLine>cmd.exe /c netsh advfirewall firewall set rule group="remote administration" new enable=yes </CommandLine> + <Description>Win RM adv firewall enable</Description> + <Order>11</Order> + <RequiresUserInput>true</RequiresUserInput> + </SynchronousCommand> + <SynchronousCommand wcm:action="add"> + <CommandLine>cmd.exe /c netsh firewall add portopening TCP 5985 "Port 5985" </CommandLine> + <Description>Win RM port open</Description> + <Order>12</Order> + <RequiresUserInput>true</RequiresUserInput> + </SynchronousCommand> + <SynchronousCommand wcm:action="add"> + <CommandLine>cmd.exe /c net stop winrm </CommandLine> + <Description>Stop Win RM Service </Description> + <Order>13</Order> + <RequiresUserInput>true</RequiresUserInput> + </SynchronousCommand> + <SynchronousCommand wcm:action="add"> + <CommandLine>cmd.exe /c sc config winrm start= auto</CommandLine> + <Description>Win RM Autostart</Description> + <Order>14</Order> + <RequiresUserInput>true</RequiresUserInput> + </SynchronousCommand> + <SynchronousCommand wcm:action="add"> + <CommandLine>cmd.exe /c net start winrm</CommandLine> + <Description>Start Win RM Service</Description> + <Order>15</Order> + <RequiresUserInput>true</RequiresUserInput> + </SynchronousCommand> + <SynchronousCommand wcm:action="add"> + <CommandLine>%SystemRoot%\System32\reg.exe ADD HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced\ /v HideFileExt /t REG_DWORD /d 0 /f</CommandLine> + <Order>16</Order> + <Description>Show file extensions in Explorer</Description> + </SynchronousCommand> + <SynchronousCommand wcm:action="add"> + <CommandLine>%SystemRoot%\System32\reg.exe ADD HKCU\Console /v QuickEdit /t REG_DWORD /d 1 /f</CommandLine> + <Order>17</Order> + <Description>Enable QuickEdit mode</Description> + </SynchronousCommand> + <SynchronousCommand wcm:action="add"> + <CommandLine>%SystemRoot%\System32\reg.exe ADD HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced\ /v Start_ShowRun /t REG_DWORD /d 1 /f</CommandLine> + <Order>18</Order> + <Description>Show Run command in Start Menu</Description> + </SynchronousCommand> + <SynchronousCommand wcm:action="add"> + <CommandLine>%SystemRoot%\System32\reg.exe ADD HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced\ /v StartMenuAdminTools /t REG_DWORD /d 1 /f</CommandLine> + <Order>19</Order> + <Description>Show Administrative Tools in Start Menu</Description> + </SynchronousCommand> + <SynchronousCommand wcm:action="add"> + <CommandLine>%SystemRoot%\System32\reg.exe ADD HKLM\SYSTEM\CurrentControlSet\Control\Power\ /v HibernateFileSizePercent /t REG_DWORD /d 0 /f</CommandLine> + <Order>20</Order> + <Description>Zero Hibernation File</Description> + </SynchronousCommand> + <SynchronousCommand wcm:action="add"> + <CommandLine>%SystemRoot%\System32\reg.exe ADD HKLM\SYSTEM\CurrentControlSet\Control\Power\ /v HibernateEnabled /t REG_DWORD /d 0 /f</CommandLine> + <Order>21</Order> + <Description>Disable Hibernation Mode</Description> + </SynchronousCommand> + <SynchronousCommand wcm:action="add"> + <CommandLine>cmd.exe /c wmic useraccount where "name='vagrant'" set PasswordExpires=FALSE</CommandLine> + <Order>22</Order> + <Description>Disable password expiration for vagrant user</Description> + </SynchronousCommand> + <!-- WITHOUT WINDOWS UPDATES --> + <!-- + <SynchronousCommand wcm:action="add"> + <CommandLine>cmd.exe /c C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe -File a:\openssh.ps1 -AutoStart</CommandLine> + <Description>Install OpenSSH</Description> + <Order>99</Order> + <RequiresUserInput>true</RequiresUserInput> + </SynchronousCommand> + --> + <!-- END WITHOUT WINDOWS UPDATES --> + <!-- WITH WINDOWS UPDATES --> + <SynchronousCommand wcm:action="add"> + <CommandLine>cmd.exe /c a:\microsoft-updates.bat</CommandLine> + <Order>98</Order> + <Description>Enable Microsoft Updates</Description> + </SynchronousCommand> + <SynchronousCommand wcm:action="add"> + <CommandLine>cmd.exe /c C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe -File a:\win-updates.ps1</CommandLine> + <Description>Install Windows Updates</Description> + <Order>100</Order> + <RequiresUserInput>true</RequiresUserInput> + </SynchronousCommand> + <!-- END WITH WINDOWS UPDATES --> + </FirstLogonCommands> + <ShowWindowsLive>false</ShowWindowsLive> + </component> + </settings> + <settings pass="specialize"> + <component name="Microsoft-Windows-Shell-Setup" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS"> + <OEMInformation> + <HelpCustomized>false</HelpCustomized> + </OEMInformation> + <!-- Rename computer here. --> + <ComputerName>vagrant-10</ComputerName> + <TimeZone>Pacific Standard Time</TimeZone> + <RegisteredOwner/> + </component> + <component xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" name="Microsoft-Windows-Security-SPP-UX" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS"> + <SkipAutoActivation>true</SkipAutoActivation> + </component> + </settings> + <cpi:offlineImage xmlns:cpi="urn:schemas-microsoft-com:cpi" cpi:source="catalog:d:/sources/install_windows 7 ENTERPRISE.clg"/> +</unattend> diff --git a/vagrantfile-windows_10.template b/vagrantfile-windows_10.template new file mode 100644 index 00000000..43fa03b7 --- /dev/null +++ b/vagrantfile-windows_10.template @@ -0,0 +1,47 @@ +# -*- mode: ruby -*- +# vi: set ft=ruby : + +Vagrant.require_version ">= 1.6.2" + +Vagrant.configure("2") do |config| + config.vm.define "vagrant-windows-10-preview" + config.vm.box = "windows_10_preview" + config.vm.communicator = "winrm" + + # Admin user name and password + config.winrm.username = "vagrant" + config.winrm.password = "vagrant" + + config.vm.guest = :windows + config.windows.halt_timeout = 15 + + config.vm.network :forwarded_port, guest: 3389, host: 3389, id: "rdp", auto_correct: true + config.vm.network :forwarded_port, guest: 22, host: 2222, id: "ssh", auto_correct: true + + config.vm.provider :virtualbox do |v, override| + #v.gui = true + v.customize ["modifyvm", :id, "--memory", 2048] + v.customize ["modifyvm", :id, "--cpus", 2] + v.customize ["setextradata", "global", "GUI/SuppressMessages", "all" ] + end + + config.vm.provider :vmware_fusion do |v, override| + #v.gui = true + v.vmx["memsize"] = "2048" + v.vmx["numvcpus"] = "2" + v.vmx["ethernet0.virtualDev"] = "vmxnet3" + v.vmx["RemoteDisplay.vnc.enabled"] = "false" + v.vmx["RemoteDisplay.vnc.port"] = "5900" + v.vmx["scsi0.virtualDev"] = "lsisas1068" + end + + config.vm.provider :vmware_workstation do |v, override| + #v.gui = true + v.vmx["memsize"] = "2048" + v.vmx["numvcpus"] = "2" + v.vmx["ethernet0.virtualDev"] = "vmxnet3" + v.vmx["RemoteDisplay.vnc.enabled"] = "false" + v.vmx["RemoteDisplay.vnc.port"] = "5900" + v.vmx["scsi0.virtualDev"] = "lsisas1068" + end +end diff --git a/windows_10.json b/windows_10.json new file mode 100644 index 00000000..b34833f1 --- /dev/null +++ b/windows_10.json @@ -0,0 +1,77 @@ +{ + "builders": [ + { + "type": "vmware-iso", + "iso_url": "http://iso.esd.microsoft.com/W9TPI/B6B0A0278A90510669EAB90ABF80B22A/Windows10_TechnicalPreview_x64_EN-US_9926.iso", + "iso_checksum_type": "sha1", + "iso_checksum": "6A95316728299D95249A29FBEB9676DED23B8BEB", + "headless": false, + "boot_wait": "2m", + "ssh_username": "vagrant", + "ssh_password": "vagrant", + "ssh_wait_timeout": "2h", + "shutdown_command": "shutdown /s /t 10 /f /d p:4:1 /c \"Packer Shutdown\"", + "guest_os_type": "windows8srv-64", + "tools_upload_flavor": "windows", + "disk_size": 61440, + "vnc_port_min": 5900, + "vnc_port_max": 5980, + "floppy_files": [ + "./answer_files/10/Autounattend.xml", + "./scripts/microsoft-updates.bat", + "./scripts/win-updates.ps1", + "./scripts/openssh.ps1" + ], + "vmx_data": { + "RemoteDisplay.vnc.enabled": "false", + "RemoteDisplay.vnc.port": "5900", + "memsize": "2048", + "numvcpus": "2", + "scsi0.virtualDev": "lsisas1068" + } + }, + { + "type": "virtualbox-iso", + "iso_url": "http://iso.esd.microsoft.com/W9TPI/B6B0A0278A90510669EAB90ABF80B22A/Windows10_TechnicalPreview_x64_EN-US_9926.iso", + "iso_checksum_type": "sha1", + "iso_checksum": "6A95316728299D95249A29FBEB9676DED23B8BEB", + "headless": false, + "boot_wait": "2m", + "ssh_username": "vagrant", + "ssh_password": "vagrant", + "ssh_wait_timeout": "2h", + "shutdown_command": "shutdown /s /t 10 /f /d p:4:1 /c \"Packer Shutdown\"", + "guest_os_type": "Windows81_64", + "disk_size": 61440, + "floppy_files": [ + "./answer_files/10/Autounattend.xml", + "./scripts/microsoft-updates.bat", + "./scripts/win-updates.ps1", + "./scripts/openssh.ps1", + "./scripts/oracle-cert.cer" + ], + "vboxmanage": [ + [ + "modifyvm", + "{{.Name}}", + "--memory", + "2048" + ], + [ + "modifyvm", + "{{.Name}}", + "--cpus", + "2" + ] + ] + } + ], + "post-processors": [ + { + "type": "vagrant", + "keep_input_artifact": false, + "output": "windows_10_{{.Provider}}.box", + "vagrantfile_template": "vagrantfile-windows_10.template" + } + ] +} From 928399a8fa6ec92afe762ef7f041a448c9d085e7 Mon Sep 17 00:00:00 2001 From: Victor Robertson <vrobertson@efolder.net> Date: Wed, 28 Jan 2015 10:55:30 -0800 Subject: [PATCH 17/28] Define MaxUpdatesPerCycle for updates on 2008 R2 builds Previously, the 2008 R2 build would time out due to an unidentified problem during the update process. It seems that limiting the number of updates applied at once solves the problem. Until the problem is identified and a proper fix formed, the Autounattend scripts for 2008 R2 has been updated to make use of this workaround. The problem persists with 2008 R2 Core even with this addition. --- answer_files/2008_r2/Autounattend.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/answer_files/2008_r2/Autounattend.xml b/answer_files/2008_r2/Autounattend.xml index ecd4f17c..1b00ee08 100644 --- a/answer_files/2008_r2/Autounattend.xml +++ b/answer_files/2008_r2/Autounattend.xml @@ -248,7 +248,7 @@ <Description>Enable Microsoft Updates</Description> </SynchronousCommand> <SynchronousCommand wcm:action="add"> - <CommandLine>cmd.exe /c C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe -File a:\win-updates.ps1</CommandLine> + <CommandLine>cmd.exe /c C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe -File a:\win-updates.ps1 -MaxUpdatesPerCycle 30</CommandLine> <Description>Install Windows Updates</Description> <Order>100</Order> <RequiresUserInput>true</RequiresUserInput> From 9cee32ad85743f95d5ae962941294114a0faa998 Mon Sep 17 00:00:00 2001 From: bigwave <ian@bigwave.org.uk> Date: Wed, 18 Feb 2015 22:35:32 +0000 Subject: [PATCH 18/28] Display windows updates that have been installed Also suspect that you can delete these line just before this change, but haven't tested it: New-Object -TypeName PSObject -Property @{ Title = $UpdatesToInstall.Item($i).Title Result = $InstallationResult.GetUpdateResult($i).ResultCode } --- scripts/win-updates.ps1 | 2 ++ 1 file changed, 2 insertions(+) diff --git a/scripts/win-updates.ps1 b/scripts/win-updates.ps1 index 0feadbda..302785f3 100755 --- a/scripts/win-updates.ps1 +++ b/scripts/win-updates.ps1 @@ -154,6 +154,8 @@ function Install-WindowsUpdates() { Title = $UpdatesToInstall.Item($i).Title Result = $InstallationResult.GetUpdateResult($i).ResultCode } + LogWrite "Item: " $UpdatesToInstall.Item($i).Title + LogWrite "Result: " $InstallationResult.GetUpdateResult($i).ResultCode; } Check-ContinueRestartOrEnd From 102f6fbf65e71ad7bb295aed0cf4e70867908c1a Mon Sep 17 00:00:00 2001 From: bigwave <ian@bigwave.org.uk> Date: Wed, 18 Feb 2015 22:40:03 +0000 Subject: [PATCH 19/28] Stop SearchResult display failing I've lost the URL explaining what the problem was, but the gist of it was that something in the -Property list has already been formatted, so piping it into Format-List makes it choke. This should stop the script throwing exceptions displaying this info, but I've left the exception handling in as it can't hurt --- scripts/win-updates.ps1 | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/scripts/win-updates.ps1 b/scripts/win-updates.ps1 index 302785f3..fc835ab0 100755 --- a/scripts/win-updates.ps1 +++ b/scripts/win-updates.ps1 @@ -192,7 +192,12 @@ function Check-WindowsUpdates() { $Message = "There are " + $SearchResult.Updates.Count + " more updates." LogWrite $Message try { - $script:SearchResult.Updates |Select-Object -Property Title, Description, SupportUrl, UninstallationNotes, RebootRequired, EulaAccepted |Format-List + for($i=0; $i -lt $script:SearchResult.Updates.Count; $i++) { + LogWrite $script:SearchResult.Updates.Item($i).Title + LogWrite $script:SearchResult.Updates.Item($i).Description + LogWrite $script:SearchResult.Updates.Item($i).RebootRequired + LogWrite $script:SearchResult.Updates.Item($i).EulaAccepted + } $global:MoreUpdates=1 } catch { LogWrite $_.Exception | Format-List -force From f803337122410c2af54dec9236dec7d556992a1e Mon Sep 17 00:00:00 2001 From: Stefan Scherer <scherer_stefan@icloud.com> Date: Sat, 11 Oct 2014 16:47:25 +0200 Subject: [PATCH 20/28] update to setupssh-6.6.1p1-3 --- scripts/openssh.ps1 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/openssh.ps1 b/scripts/openssh.ps1 index c86d949e..dda66b6e 100644 --- a/scripts/openssh.ps1 +++ b/scripts/openssh.ps1 @@ -6,7 +6,7 @@ Write-Output "AutoStart: $AutoStart" $is_64bit = [IntPtr]::size -eq 8 # setup openssh -$ssh_download_url = "http://www.mls-software.com/files/setupssh-6.7p1-1.exe" +$ssh_download_url = "http://www.mls-software.com/files/setupssh-6.7p1-2.exe" if (!(Test-Path "C:\Program Files\OpenSSH\bin\ssh.exe")) { Write-Output "Downloading $ssh_download_url" From aaf48f792fa7f91106a9914fbf1348bf9149fd2f Mon Sep 17 00:00:00 2001 From: Stefan Scherer <scherer_stefan@icloud.com> Date: Sun, 12 Oct 2014 11:02:12 +0200 Subject: [PATCH 21/28] remove ssh_host_ed25519_key as Vagrant's net-ssh 2.9.1 does not support it --- scripts/openssh.ps1 | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/scripts/openssh.ps1 b/scripts/openssh.ps1 index dda66b6e..d43ae9c0 100644 --- a/scripts/openssh.ps1 +++ b/scripts/openssh.ps1 @@ -50,6 +50,10 @@ $sshd_config = $sshd_config -replace 'Banner /etc/banner.txt', '#Banner /etc/ban $sshd_config = $sshd_config -replace 'Port 2222', "Port 22" Set-Content "C:\Program Files\OpenSSH\etc\sshd_config" $sshd_config +Write-Host "Removing ed25519 key as Vagrant net-ssh 2.9.1 does not support it" +Remove-Item -Force -ErrorAction SilentlyContinue "C:\Program Files\OpenSSH\etc\ssh_host_ed25519_key" +Remove-Item -Force -ErrorAction SilentlyContinue "C:\Program Files\OpenSSH\etc\ssh_host_ed25519_key.pub" + # use c:\Windows\Temp as /tmp location Write-Output "Setting temp directory location" Remove-Item -Recurse -Force -ErrorAction SilentlyContinue "C:\Program Files\OpenSSH\tmp" From ff585fb9853253e3058891968b0d083d0c5d5f84 Mon Sep 17 00:00:00 2001 From: Stefan Scherer <scherer_stefan@icloud.com> Date: Wed, 25 Feb 2015 16:16:25 +0100 Subject: [PATCH 22/28] install setupssh-6.7p1-2.exe --- scripts/openssh.ps1 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/openssh.ps1 b/scripts/openssh.ps1 index 62b73a1e..d43ae9c0 100644 --- a/scripts/openssh.ps1 +++ b/scripts/openssh.ps1 @@ -6,7 +6,7 @@ Write-Output "AutoStart: $AutoStart" $is_64bit = [IntPtr]::size -eq 8 # setup openssh -$ssh_download_url = "http://www.mls-software.com/files/setupssh-6.7p1-1.exe" +$ssh_download_url = "http://www.mls-software.com/files/setupssh-6.7p1-2.exe" if (!(Test-Path "C:\Program Files\OpenSSH\bin\ssh.exe")) { Write-Output "Downloading $ssh_download_url" From 6aa8bb67e5e8028c182bb1a9e99d5a941fd8f67f Mon Sep 17 00:00:00 2001 From: Stefan Scherer <scherer_stefan@icloud.com> Date: Wed, 25 Feb 2015 16:18:02 +0100 Subject: [PATCH 23/28] use Write-Output --- scripts/openssh.ps1 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/openssh.ps1 b/scripts/openssh.ps1 index d43ae9c0..a4132818 100644 --- a/scripts/openssh.ps1 +++ b/scripts/openssh.ps1 @@ -50,7 +50,7 @@ $sshd_config = $sshd_config -replace 'Banner /etc/banner.txt', '#Banner /etc/ban $sshd_config = $sshd_config -replace 'Port 2222', "Port 22" Set-Content "C:\Program Files\OpenSSH\etc\sshd_config" $sshd_config -Write-Host "Removing ed25519 key as Vagrant net-ssh 2.9.1 does not support it" +Write-Output "Removing ed25519 key as Vagrant net-ssh 2.9.1 does not support it" Remove-Item -Force -ErrorAction SilentlyContinue "C:\Program Files\OpenSSH\etc\ssh_host_ed25519_key" Remove-Item -Force -ErrorAction SilentlyContinue "C:\Program Files\OpenSSH\etc\ssh_host_ed25519_key.pub" From 36286235ac069b816657fed62795a97c82682500 Mon Sep 17 00:00:00 2001 From: Stefan Scherer <scherer_stefan@icloud.com> Date: Thu, 30 Apr 2015 07:59:35 +0200 Subject: [PATCH 24/28] update to Windows 10 Inside Preview Build 10074 --- answer_files/10/Autounattend.xml | 4 ++-- windows_10.json | 8 ++++---- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/answer_files/10/Autounattend.xml b/answer_files/10/Autounattend.xml index f2d955fd..34d34c85 100644 --- a/answer_files/10/Autounattend.xml +++ b/answer_files/10/Autounattend.xml @@ -46,7 +46,7 @@ --> <!-- Product Key from http://technet.microsoft.com/en-us/library/jj612867.aspx --> - <ProductKey>NKJFK-GPHP7-G8C3J-P6JXR-HQRJR + <ProductKey>6P99N-YF42M-TPGBG-9VMJP-YKHCF <WillShowUI>Never</WillShowUI> </ProductKey> </UserData> @@ -61,7 +61,7 @@ <InstallFrom> <MetaData wcm:action="add"> <Key>/IMAGE/NAME</Key> - <Value>Windows 8.1 Pro</Value> + <Value>Windows 10 Pro Technical Preview</Value> </MetaData> </InstallFrom> </OSImage> diff --git a/windows_10.json b/windows_10.json index b34833f1..392421a6 100644 --- a/windows_10.json +++ b/windows_10.json @@ -2,9 +2,9 @@ "builders": [ { "type": "vmware-iso", - "iso_url": "http://iso.esd.microsoft.com/W9TPI/B6B0A0278A90510669EAB90ABF80B22A/Windows10_TechnicalPreview_x64_EN-US_9926.iso", + "iso_url": "http://iso.esd.microsoft.com/W10IP/E0F85BFCD0F6BA607BF1528926371D21F8F6B6BF/Windows10_InsiderPreview_x64_EN-US_10074.iso", "iso_checksum_type": "sha1", - "iso_checksum": "6A95316728299D95249A29FBEB9676DED23B8BEB", + "iso_checksum": "E354B44994B46FB7CDC295FA1F075D9F95FECEA8", "headless": false, "boot_wait": "2m", "ssh_username": "vagrant", @@ -32,9 +32,9 @@ }, { "type": "virtualbox-iso", - "iso_url": "http://iso.esd.microsoft.com/W9TPI/B6B0A0278A90510669EAB90ABF80B22A/Windows10_TechnicalPreview_x64_EN-US_9926.iso", + "iso_url": "http://iso.esd.microsoft.com/W10IP/E0F85BFCD0F6BA607BF1528926371D21F8F6B6BF/Windows10_InsiderPreview_x64_EN-US_10074.iso", "iso_checksum_type": "sha1", - "iso_checksum": "6A95316728299D95249A29FBEB9676DED23B8BEB", + "iso_checksum": "E354B44994B46FB7CDC295FA1F075D9F95FECEA8", "headless": false, "boot_wait": "2m", "ssh_username": "vagrant", From 4204e080d5528dbd110b6a885275b71961dd0123 Mon Sep 17 00:00:00 2001 From: Timothy Sutton <tim@synthist.net> Date: Mon, 4 May 2015 16:13:09 -0400 Subject: [PATCH 25/28] Update Ultradefrag to 6.1.0 --- scripts/compact.bat | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/scripts/compact.bat b/scripts/compact.bat index f50c6f46..8a1fd8a7 100644 --- a/scripts/compact.bat +++ b/scripts/compact.bat @@ -4,10 +4,10 @@ if not exist "C:\Windows\Temp\7z920-x64.msi" ( msiexec /qb /i C:\Windows\Temp\7z920-x64.msi if not exist "C:\Windows\Temp\ultradefrag.zip" ( - powershell -Command "(New-Object System.Net.WebClient).DownloadFile('http://downloads.sourceforge.net/ultradefrag/ultradefrag-portable-6.0.2.bin.amd64.zip', 'C:\Windows\Temp\ultradefrag.zip')" <NUL + powershell -Command "(New-Object System.Net.WebClient).DownloadFile('http://downloads.sourceforge.net/ultradefrag/ultradefrag-portable-6.1.0.bin.amd64.zip', 'C:\Windows\Temp\ultradefrag.zip')" <NUL ) -if not exist "C:\Windows\Temp\ultradefrag-portable-6.0.2.amd64\udefrag.exe" ( +if not exist "C:\Windows\Temp\ultradefrag-portable-6.1.0.amd64\udefrag.exe" ( cmd /c ""C:\Program Files\7-Zip\7z.exe" x C:\Windows\Temp\ultradefrag.zip -oC:\Windows\Temp" ) @@ -26,7 +26,7 @@ rmdir /S /Q C:\Windows\SoftwareDistribution\Download mkdir C:\Windows\SoftwareDistribution\Download net start wuauserv -cmd /c C:\Windows\Temp\ultradefrag-portable-6.0.2.amd64\udefrag.exe --optimize --repeat C: +cmd /c C:\Windows\Temp\ultradefrag-portable-6.1.0.amd64\udefrag.exe --optimize --repeat C: cmd /c %SystemRoot%\System32\reg.exe ADD HKCU\Software\Sysinternals\SDelete /v EulaAccepted /t REG_DWORD /d 1 /f cmd /c C:\Windows\Temp\sdelete.exe -q -z C: From 7dce83afebee94ba27b9376c592db55efc999974 Mon Sep 17 00:00:00 2001 From: Stefan Scherer <scherer_stefan@icloud.com> Date: Mon, 8 Jun 2015 15:21:33 +0200 Subject: [PATCH 26/28] Updated changelog --- CHANGELOG.md | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 42c486d2..e7a7148c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,9 +1,17 @@ ## Unreleased +## v1.24 (June 8th, 2015) + * Clarified use of the `<Key>` element in Windows 8.1 autounattend file (#114) * Fixed issue with OpenSSH / Packer race condition (#113) * Fixed issue with Windows 8.1 product key and computer name (#121) * Fixed issue where disk size would always be 60GB regardless of value in packer template (#117) +* Added Windows 10 Technical Preview (#132, #144) +* Fixed Windows Updates for Windows 2008 R2 builds (#135) +* Display Windows Updates that have been installed (#139) +* Added support for Hyper-V Server 2012 R2 (#120) +* Updated OpenSSH to 6.7 (#111) +* Updated Ultadefrag to 6.1.0 (#145) ## v1.23 (Nov 5th, 2014) From 6814fb8429b8a4199aa8e697bc4d5ebfd4a0209b Mon Sep 17 00:00:00 2001 From: TheBigBear <TheBigBear@users.noreply.github.com> Date: Thu, 18 Dec 2014 08:58:52 +0000 Subject: [PATCH 27/28] Update Autounattend.xml ComputerName was set to "vagrant-2012" should be "vagrant-7" instead. (fixes issue #124) --- answer_files/7/Autounattend.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/answer_files/7/Autounattend.xml b/answer_files/7/Autounattend.xml index 996da72f..080436ff 100644 --- a/answer_files/7/Autounattend.xml +++ b/answer_files/7/Autounattend.xml @@ -272,7 +272,7 @@ <HelpCustomized>false</HelpCustomized> </OEMInformation> <!-- Rename computer here. --> - <ComputerName>vagrant-2012</ComputerName> + <ComputerName>vagrant-7</ComputerName> <TimeZone>Pacific Standard Time</TimeZone> <RegisteredOwner/> </component> From 8d79753afe4090042748661dddcc1c173cbc4bcd Mon Sep 17 00:00:00 2001 From: Stefan Scherer <scherer_stefan@icloud.com> Date: Mon, 8 Jun 2015 15:30:02 +0200 Subject: [PATCH 28/28] Updated changelog --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index e7a7148c..e1f82369 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -12,6 +12,7 @@ * Added support for Hyper-V Server 2012 R2 (#120) * Updated OpenSSH to 6.7 (#111) * Updated Ultadefrag to 6.1.0 (#145) +* Fixed ComputerName for Windows 7 build (#125) ## v1.23 (Nov 5th, 2014)