55
									
								
								LIBVIRT_README.md
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										55
									
								
								LIBVIRT_README.md
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,55 @@ | |||||||
|  | # Detection Lab Libvirt build | ||||||
|  |  | ||||||
|  | ## Intro | ||||||
|  |  | ||||||
|  | This page contains the instruction to build DetectionLab for Qemu/LibVirt. This is the provider for you *if*: | ||||||
|  | * You are familiar with LibVirt, virt-manager and Qemu and prefer this software stack instead of VirtualBox | ||||||
|  | * You are willing to spend a bit more time thinkering with the build process as it is less hands-off than the official DetectionLab | ||||||
|  |  | ||||||
|  | A [step-by-step guide is available here](https://selorasec.wordpress.com/2019/12/03/ad-in-a-box-for-pocs-and-iocs-on-the-cheap-detectionlab-on-libvirt/#Setting_Up_Vagrant). | ||||||
|  |  | ||||||
|  | ## Prequisite | ||||||
|  | ### LibVirt | ||||||
|  |  | ||||||
|  | The `libvirt` and `virt-manager` installation walkthrough and documentation is out of scope of this project. To follow along, you need an already working installation of `libvirt`, `virt-manager`, and `QEMU+kvm`.  | ||||||
|  |  | ||||||
|  | ### Packer | ||||||
|  |  | ||||||
|  | 1.  The [Virtio drivers](https://docs.fedoraproject.org/en-US/quick-docs/creating-windows-virtual-machines-using-virtio-drivers/) ISO needs to be location in the `DetectionLab/Packer/` directory.    | ||||||
|  |  | ||||||
|  | * This is a direct [link to the latest version of the virtio drivers ISO](https://fedorapeople.org/groups/virt/virtio-win/direct-downloads/latest-virtio/virtio-win.iso).    | ||||||
|  | * There's also a "stable" version available [here](https://fedorapeople.org/groups/virt/virtio-win/direct-downloads/stable-virtio/virtio-win.iso).   | ||||||
|  |  | ||||||
|  | 2. Edit the windows_X.json files | ||||||
|  | * Make sure the following user-defined variables are pointing to the right thing: | ||||||
|  |  * `virtio_win_iso` : The ISO containing thethe lastest VirtIO drivers | ||||||
|  |  * `packer_build_dir` : Where to output the QCOW2 images. It's a temporary directory, the .box files will still be in DetectionLab/Packer | ||||||
|  |  | ||||||
|  | 3. Build the images | ||||||
|  | ``` | ||||||
|  | env TMPDIR=/path/to/large/storage/ PACKER_LOG=1 PACKER_LOG_PATH="packer_build.log" packer build --only=qemu windows_2016.json | ||||||
|  | env TMPDIR=/path/to/large/storage/ PACKER_LOG=1 PACKER_LOG_PATH="packer_build.log" packer build --only=qemu windows_10.json | ||||||
|  | ``` | ||||||
|  |  | ||||||
|  | ### Vagrant | ||||||
|  | 1. Install the necessary plugins: | ||||||
|  | * `vagrant plugin install vagrant-reload vagrant-libvirt vagrant-winrm-syncedfolders` | ||||||
|  | * See the guide for ubuntu as the vagrant packages comes with a ton on unofficial & outdated plugins that will cause problems | ||||||
|  | 2. Add the previously built windows .box files | ||||||
|  | * `vagrant box add windows_10_libvirt.box --name windows_10_libvirt` | ||||||
|  | * `vagrant box add windows_2016_libvirt.box --name windows_2016_libvirt` | ||||||
|  | 3. Build: `vagrant up --provider libvirt --no-parallel --provision` | ||||||
|  |  | ||||||
|  | #### Notes:  | ||||||
|  | The libvirt builder is highly experimental. This sections describes the tradeoffs and the differences between the vanilla DetectionLab. | ||||||
|  |  | ||||||
|  | - No pre-built images and integration with the build.sh script for now. This means building the Windows base boxes with Packer (> 1h) and provisioning with Vagrant manually (> 1h). Fortunately, the process is relatively straightforward. | ||||||
|  | - The boxes will have two network adapters | ||||||
|  | The vagrant-libvirt provider works by binding to a "management" network adapter IP addresses. The way vagrant finds the VM's IP address is by probing the dnsmasq lease file of libvirt's host. There's probably a better way, but this is the best I could do that just works (tm) so far. Here's what the configuration looks like: | ||||||
|  |  | ||||||
|  | * Management Network: Isolated network, no NAT, no internet access, with DHCP. | ||||||
|  | * Detectionlab Network: 192.168.38.0/24, with NAT, with internet access, with DHCP. | ||||||
|  |  | ||||||
|  | - The synced folder is using an old, slow and buggy plugin. While this barely works, it's enough to push the provisioning scripts to the Windows instances. Any modifications to the `vm.synced_folder` in the VagrantFile libvirt provider will likely break the provisionning process | ||||||
|  |  | ||||||
|  | - The graphical and input settings assume the use of virt-manager with the SPICE viewer on Windows and the VNC viewer on Linux (logger). The spice agent for copy/pasting and other quality of life improvement, like auto-resolution changes is *NOT* installed on the Windows hosts. *Guacamole* is a better way to access your VMs. | ||||||
							
								
								
									
										275
									
								
								Packer/answer_files/10_virtio/Autounattend.xml
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										275
									
								
								Packer/answer_files/10_virtio/Autounattend.xml
									
									
									
									
									
										Executable file
									
								
							| @@ -0,0 +1,275 @@ | |||||||
|  | <?xml version="1.0" encoding="utf-8"?> | ||||||
|  | <unattend xmlns="urn:schemas-microsoft-com:unattend"> | ||||||
|  |     <servicing/> | ||||||
|  |     <settings pass="windowsPE"> | ||||||
|  | 	<component name="Microsoft-Windows-PnpCustomizationsWinPE" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> | ||||||
|  |          <DriverPaths> | ||||||
|  |             <PathAndCredentials wcm:keyValue="1" wcm:action="add"> | ||||||
|  | 		    <Path>E:\viostor\w10\amd64</Path> | ||||||
|  |             </PathAndCredentials> | ||||||
|  |             <PathAndCredentials wcm:keyValue="2" wcm:action="add"> | ||||||
|  | 		    <Path>E:\vioscsi\w10\amd64</Path> | ||||||
|  |             </PathAndCredentials> | ||||||
|  |             <PathAndCredentials wcm:keyValue="3" wcm:action="add"> | ||||||
|  | 		    <Path>E:\NetKVM\w10\amd64</Path> | ||||||
|  |             </PathAndCredentials> | ||||||
|  |             <PathAndCredentials wcm:keyValue="4" wcm:action="add"> | ||||||
|  | 		    <Path>E:\Baloon\w10\amd64</Path> | ||||||
|  |             </PathAndCredentials> | ||||||
|  |             <PathAndCredentials wcm:keyValue="5" wcm:action="add"> | ||||||
|  | 		    <Path>E:\pvpanic\w10\amd64</Path> | ||||||
|  |             </PathAndCredentials> | ||||||
|  |             <PathAndCredentials wcm:keyValue="6" wcm:action="add"> | ||||||
|  | 		    <Path>E:\qxldod\w10\amd64</Path> | ||||||
|  |             </PathAndCredentials> | ||||||
|  |          </DriverPaths> | ||||||
|  |       </component> | ||||||
|  |  | ||||||
|  |         <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</FullName> | ||||||
|  |                 <Organization>Vagrant</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>W269N-WFGWX-YVC9B-4J6C9-T83GX</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>NPPR9-FWDCX-D2C8J-H872K-2YT43 | ||||||
|  |                     <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 10 Enterprise Evaluation</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 name="Microsoft-Windows-International-Core" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> | ||||||
|  |             <InputLocale>en-US</InputLocale> | ||||||
|  |             <SystemLocale>en-US</SystemLocale> | ||||||
|  |             <UILanguage>en-US</UILanguage> | ||||||
|  |             <UserLocale>en-US</UserLocale> | ||||||
|  |         </component> | ||||||
|  |         <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 reg add "HKLM\System\CurrentControlSet\Control\Network\NewNetworkWindowOff"</CommandLine> | ||||||
|  |                     <Description>Network prompt</Description> | ||||||
|  |                     <Order>3</Order> | ||||||
|  |                     <RequiresUserInput>true</RequiresUserInput> | ||||||
|  |                 </SynchronousCommand> | ||||||
|  |                 <SynchronousCommand wcm:action="add"> | ||||||
|  |                     <CommandLine>cmd.exe /c C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe -File a:\fixnetwork.ps1</CommandLine> | ||||||
|  |                     <Description>Fix public network</Description> | ||||||
|  |                     <Order>4</Order> | ||||||
|  |                     <RequiresUserInput>true</RequiresUserInput> | ||||||
|  |                 </SynchronousCommand> | ||||||
|  |                 <SynchronousCommand wcm:action="add"> | ||||||
|  |                     <CommandLine>C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe -File a:\disable-winrm.ps1</CommandLine> | ||||||
|  |                     <Description>Disable WinRM</Description> | ||||||
|  |                     <Order>5</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>6</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>7</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>8</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>9</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>10</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>11</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>12</Order> | ||||||
|  |                     <Description>Disable password expiration for vagrant user</Description> | ||||||
|  |                 </SynchronousCommand> | ||||||
|  |                 <SynchronousCommand wcm:action="add"> | ||||||
|  |                     <CommandLine>%SystemRoot%\System32\reg.exe ADD "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon" /v DefaultPassword /t REG_SZ /d "vagrant" /f</CommandLine> | ||||||
|  |                     <Order>13</Order> | ||||||
|  |                     <Description>Enable AutoLogon</Description> | ||||||
|  |                 </SynchronousCommand> | ||||||
|  |                 <SynchronousCommand wcm:action="add"> | ||||||
|  |                     <CommandLine>%SystemRoot%\System32\reg.exe ADD "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon" /v AutoAdminLogon /t REG_SZ /d 1 /f</CommandLine> | ||||||
|  |                     <Order>14</Order> | ||||||
|  |                     <Description>Enable AutoLogon</Description> | ||||||
|  |                 </SynchronousCommand> | ||||||
|  |                 <!-- WITHOUT WINDOWS UPDATES --> | ||||||
|  |                 <SynchronousCommand wcm:action="add"> | ||||||
|  |                     <CommandLine>cmd.exe /c C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe -File a:\enable-winrm.ps1</CommandLine> | ||||||
|  |                     <Description>Enable WinRM</Description> | ||||||
|  |                     <Order>99</Order> | ||||||
|  |                 </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:\disable-screensaver.ps1</CommandLine> | ||||||
|  |                     <Description>Disable Screensaver</Description> | ||||||
|  |                     <Order>99</Order> | ||||||
|  |                     <RequiresUserInput>true</RequiresUserInput> | ||||||
|  |                 </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> | ||||||
|  |         <component name="Security-Malware-Windows-Defender" processorArchitecture="x86" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> | ||||||
|  |             <DisableAntiSpyware>true</DisableAntiSpyware> | ||||||
|  |         </component> | ||||||
|  |     </settings> | ||||||
|  |     <cpi:offlineImage xmlns:cpi="urn:schemas-microsoft-com:cpi" cpi:source="catalog:d:/sources/install_windows 7 ENTERPRISE.clg"/> | ||||||
|  | </unattend> | ||||||
							
								
								
									
										271
									
								
								Packer/answer_files/2016_virtio/Autounattend.xml
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										271
									
								
								Packer/answer_files/2016_virtio/Autounattend.xml
									
									
									
									
									
										Executable file
									
								
							| @@ -0,0 +1,271 @@ | |||||||
|  | <?xml version="1.0" encoding="utf-8"?> | ||||||
|  | <unattend xmlns="urn:schemas-microsoft-com:unattend"> | ||||||
|  |     <settings pass="windowsPE"> | ||||||
|  | 	<component name="Microsoft-Windows-PnpCustomizationsWinPE" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> | ||||||
|  |          <DriverPaths> | ||||||
|  |             <PathAndCredentials wcm:keyValue="1" wcm:action="add"> | ||||||
|  | 		    <Path>E:\viostor\2k16\amd64</Path> | ||||||
|  |             </PathAndCredentials> | ||||||
|  |             <PathAndCredentials wcm:keyValue="2" wcm:action="add"> | ||||||
|  | 		    <Path>E:\vioscsi\2k16\amd64</Path> | ||||||
|  |             </PathAndCredentials> | ||||||
|  |             <PathAndCredentials wcm:keyValue="3" wcm:action="add"> | ||||||
|  | 		    <Path>E:\NetKVM\2k16\amd64</Path> | ||||||
|  |             </PathAndCredentials> | ||||||
|  |             <PathAndCredentials wcm:keyValue="4" wcm:action="add"> | ||||||
|  | 		    <Path>E:\Baloon\2k16\amd64</Path> | ||||||
|  |             </PathAndCredentials> | ||||||
|  |             <PathAndCredentials wcm:keyValue="5" wcm:action="add"> | ||||||
|  | 		    <Path>E:\pvpanic\2k16\amd64</Path> | ||||||
|  |             </PathAndCredentials> | ||||||
|  |             <PathAndCredentials wcm:keyValue="6" wcm:action="add"> | ||||||
|  | 		    <Path>E:\qxldod\2k16\amd64</Path> | ||||||
|  |             </PathAndCredentials> | ||||||
|  |          </DriverPaths> | ||||||
|  |  | ||||||
|  |       </component> | ||||||
|  |         <component name="Microsoft-Windows-International-Core-WinPE" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> | ||||||
|  |             <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> | ||||||
|  |         <component name="Microsoft-Windows-Setup" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> | ||||||
|  |             <DiskConfiguration> | ||||||
|  |                 <Disk wcm:action="add"> | ||||||
|  |                     <CreatePartitions> | ||||||
|  |                         <CreatePartition wcm:action="add"> | ||||||
|  |                             <Type>Primary</Type> | ||||||
|  |                             <Order>1</Order> | ||||||
|  |                             <Size>350</Size> | ||||||
|  |                         </CreatePartition> | ||||||
|  |                         <CreatePartition wcm:action="add"> | ||||||
|  |                             <Order>2</Order> | ||||||
|  |                             <Type>Primary</Type> | ||||||
|  |                             <Extend>true</Extend> | ||||||
|  |                         </CreatePartition> | ||||||
|  |                     </CreatePartitions> | ||||||
|  |                     <ModifyPartitions> | ||||||
|  |                         <ModifyPartition wcm:action="add"> | ||||||
|  |                             <Active>true</Active> | ||||||
|  |                             <Format>NTFS</Format> | ||||||
|  |                             <Label>boot</Label> | ||||||
|  |                             <Order>1</Order> | ||||||
|  |                             <PartitionID>1</PartitionID> | ||||||
|  |                         </ModifyPartition> | ||||||
|  |                         <ModifyPartition wcm:action="add"> | ||||||
|  |                             <Format>NTFS</Format> | ||||||
|  |                             <Label>Windows 2016</Label> | ||||||
|  |                             <Letter>C</Letter> | ||||||
|  |                             <Order>2</Order> | ||||||
|  |                             <PartitionID>2</PartitionID> | ||||||
|  |                         </ModifyPartition> | ||||||
|  |                     </ModifyPartitions> | ||||||
|  |                     <DiskID>0</DiskID> | ||||||
|  |                     <WillWipeDisk>true</WillWipeDisk> | ||||||
|  |                 </Disk> | ||||||
|  |             </DiskConfiguration> | ||||||
|  |             <ImageInstall> | ||||||
|  |                 <OSImage> | ||||||
|  |                     <InstallFrom> | ||||||
|  |                         <MetaData wcm:action="add"> | ||||||
|  |                             <Key>/IMAGE/NAME</Key> | ||||||
|  |                             <Value>Windows Server 2016 SERVERSTANDARD</Value> | ||||||
|  |                         </MetaData> | ||||||
|  |                     </InstallFrom> | ||||||
|  |                     <InstallTo> | ||||||
|  |                         <DiskID>0</DiskID> | ||||||
|  |                         <PartitionID>2</PartitionID> | ||||||
|  |                     </InstallTo> | ||||||
|  |                 </OSImage> | ||||||
|  |             </ImageInstall> | ||||||
|  |             <UserData> | ||||||
|  |                 <!-- Product Key from https://www.microsoft.com/de-de/evalcenter/evaluate-windows-server-technical-preview?i=1 --> | ||||||
|  |                 <ProductKey> | ||||||
|  |                     <!-- Do not uncomment the Key element if you are using trial ISOs --> | ||||||
|  |                     <!-- You must uncomment the Key element (and optionally insert your own key) if you are using retail or volume license ISOs --> | ||||||
|  |                     <!-- <Key>6XBNX-4JQGW-QX6QG-74P76-72V67</Key> --> | ||||||
|  |                     <WillShowUI>OnError</WillShowUI> | ||||||
|  |                 </ProductKey> | ||||||
|  |                 <AcceptEula>true</AcceptEula> | ||||||
|  |                 <FullName>Vagrant</FullName> | ||||||
|  |                 <Organization>Vagrant</Organization> | ||||||
|  |             </UserData> | ||||||
|  |         </component> | ||||||
|  |     </settings> | ||||||
|  |     <settings pass="specialize"> | ||||||
|  |         <component name="Microsoft-Windows-Shell-Setup" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> | ||||||
|  |             <OEMInformation> | ||||||
|  |                 <HelpCustomized>false</HelpCustomized> | ||||||
|  |             </OEMInformation> | ||||||
|  |             <ComputerName>vagrant-2016</ComputerName> | ||||||
|  |             <TimeZone>Pacific Standard Time</TimeZone> | ||||||
|  |             <RegisteredOwner/> | ||||||
|  |         </component> | ||||||
|  |         <component name="Microsoft-Windows-ServerManager-SvrMgrNc" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> | ||||||
|  |             <DoNotOpenServerManagerAtLogon>true</DoNotOpenServerManagerAtLogon> | ||||||
|  |         </component> | ||||||
|  |         <component name="Microsoft-Windows-IE-ESC" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> | ||||||
|  |             <IEHardenAdmin>false</IEHardenAdmin> | ||||||
|  |             <IEHardenUser>false</IEHardenUser> | ||||||
|  |         </component> | ||||||
|  |         <component name="Microsoft-Windows-OutOfBoxExperience" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> | ||||||
|  |             <DoNotOpenInitialConfigurationTasksAtLogon>true</DoNotOpenInitialConfigurationTasksAtLogon> | ||||||
|  |         </component> | ||||||
|  |         <component name="Microsoft-Windows-Security-SPP-UX" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> | ||||||
|  |             <SkipAutoActivation>true</SkipAutoActivation> | ||||||
|  |         </component> | ||||||
|  |         <component name="Microsoft-Windows-Deployment" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> | ||||||
|  |             <RunSynchronous> | ||||||
|  |                 <RunSynchronousCommand wcm:action="add"> | ||||||
|  |                     <Order>1</Order> | ||||||
|  |                     <Description>Set Execution Policy 64 Bit</Description> | ||||||
|  |                     <Path>cmd.exe /c powershell -Command "Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Force"</Path> | ||||||
|  |                 </RunSynchronousCommand> | ||||||
|  |                 <RunSynchronousCommand wcm:action="add"> | ||||||
|  |                     <Order>2</Order> | ||||||
|  |                     <Description>Set Execution Policy 32 Bit</Description> | ||||||
|  |                     <Path>cmd.exe /c powershell -Command "Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Force"</Path> | ||||||
|  |                 </RunSynchronousCommand> | ||||||
|  |                 <RunSynchronousCommand wcm:action="add"> | ||||||
|  |                     <Order>3</Order> | ||||||
|  |                     <Description>Disable WinRM</Description> | ||||||
|  |                     <Path>C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe -File a:\disable-winrm.ps1</Path> | ||||||
|  |                 </RunSynchronousCommand> | ||||||
|  |             </RunSynchronous> | ||||||
|  |         </component> | ||||||
|  |     </settings> | ||||||
|  |     <settings pass="oobeSystem"> | ||||||
|  |         <component name="Microsoft-Windows-Shell-Setup" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> | ||||||
|  |             <AutoLogon> | ||||||
|  |                 <Password> | ||||||
|  |                     <Value>vagrant</Value> | ||||||
|  |                     <PlainText>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>C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe -File a:\disable-winrm.ps1</CommandLine> | ||||||
|  |                     <Description>Disable WinRM</Description> | ||||||
|  |                     <Order>3</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>4</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>5</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>6</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>7</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>8</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>9</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>10</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:\enable-winrm.ps1</CommandLine> | ||||||
|  |                     <Description>Enable WinRM</Description> | ||||||
|  |                     <Order>99</Order> | ||||||
|  |                 </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:\disable-screensaver.ps1</CommandLine> | ||||||
|  |                     <Description>Disable Screensaver</Description> | ||||||
|  |                     <Order>99</Order> | ||||||
|  |                     <RequiresUserInput>true</RequiresUserInput> | ||||||
|  |                 </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 name="Microsoft-Windows-LUA-Settings" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> | ||||||
|  |             <EnableLUA>false</EnableLUA> | ||||||
|  |         </component> | ||||||
|  |     </settings> | ||||||
|  |     <cpi:offlineImage cpi:source="wim:c:/wim/install.wim#Windows Server 2012 R2 SERVERSTANDARD" xmlns:cpi="urn:schemas-microsoft-com:cpi" /> | ||||||
|  | </unattend> | ||||||
							
								
								
									
										49
									
								
								Packer/answer_files/2016_virtio/Autounattend_sysprep.xml
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										49
									
								
								Packer/answer_files/2016_virtio/Autounattend_sysprep.xml
									
									
									
									
									
										Executable file
									
								
							| @@ -0,0 +1,49 @@ | |||||||
|  | <?xml version="1.0" encoding="utf-8"?> | ||||||
|  | <unattend xmlns="urn:schemas-microsoft-com:unattend"> | ||||||
|  |     <settings pass="generalize"> | ||||||
|  |         <component name="Microsoft-Windows-Security-SPP" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> | ||||||
|  |             <SkipRearm>0</SkipRearm> | ||||||
|  |         </component> | ||||||
|  |         <component name="Microsoft-Windows-PnpSysprep" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> | ||||||
|  |             <PersistAllDeviceInstalls>false</PersistAllDeviceInstalls> | ||||||
|  |             <DoNotCleanUpNonPresentDevices>false</DoNotCleanUpNonPresentDevices> | ||||||
|  |         </component> | ||||||
|  |     </settings> | ||||||
|  |     <settings pass="oobeSystem"> | ||||||
|  |         <component name="Microsoft-Windows-International-Core" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> | ||||||
|  |             <InputLocale>en-US</InputLocale> | ||||||
|  |             <SystemLocale>en-US</SystemLocale> | ||||||
|  |             <UILanguage>en-US</UILanguage> | ||||||
|  |             <UserLocale>en-US</UserLocale> | ||||||
|  |         </component> | ||||||
|  |         <component name="Microsoft-Windows-Shell-Setup" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> | ||||||
|  |             <OOBE> | ||||||
|  |                 <HideEULAPage>true</HideEULAPage> | ||||||
|  |                 <ProtectYourPC>1</ProtectYourPC> | ||||||
|  |                 <NetworkLocation>Home</NetworkLocation> | ||||||
|  |                 <HideWirelessSetupInOOBE>true</HideWirelessSetupInOOBE> | ||||||
|  |             </OOBE> | ||||||
|  |             <TimeZone>UTC</TimeZone> | ||||||
|  |             <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> | ||||||
|  |         </component> | ||||||
|  |     </settings> | ||||||
|  |     <settings pass="specialize"> | ||||||
|  |     </settings> | ||||||
|  | </unattend> | ||||||
| @@ -1,5 +1,49 @@ | |||||||
| { | { | ||||||
|   "builders": [ |   "builders": [ | ||||||
|  | 	  { | ||||||
|  |       "type": "qemu", | ||||||
|  |       "vm_name":"windows_10", | ||||||
|  |       "communicator": "winrm", | ||||||
|  |       "iso_url": "{{user `iso_url`}}", | ||||||
|  |       "iso_checksum_type": "{{user `iso_checksum_type`}}", | ||||||
|  |       "iso_checksum": "{{user `iso_checksum`}}", | ||||||
|  |       "headless": true, | ||||||
|  |       "boot_wait": "6m", | ||||||
|  |       "boot_command": "", | ||||||
|  |       "winrm_username": "vagrant", | ||||||
|  |       "winrm_password": "vagrant", | ||||||
|  |       "winrm_timeout": "4h", | ||||||
|  |       "shutdown_timeout": "2h", | ||||||
|  |       "shutdown_command": "a:/sysprep.bat", | ||||||
|  |  | ||||||
|  |       "accelerator": "kvm", | ||||||
|  |       "disk_size": "{{user `disk_size`}}", | ||||||
|  |  | ||||||
|  |       "output_directory": "{{ user `packer_build_dir`}}", | ||||||
|  |  | ||||||
|  |       "qemuargs": [ | ||||||
|  | 	[ "-m", "2048"], | ||||||
|  | 	[ "-smp", "2"], | ||||||
|  |         [ "-drive", "file={{ user `virtio_win_iso` }},media=cdrom,index=3" ], | ||||||
|  | 	[ "-drive", "file={{ user `packer_build_dir`}}/{{ .Name }},if=virtio,cache=writeback,discard=ignore,format=qcow2,index=1" ] | ||||||
|  | 	], | ||||||
|  |  | ||||||
|  |       "floppy_files": [ | ||||||
|  |         "{{user `autounattend_virtio`}}", | ||||||
|  |         "./floppy/WindowsPowershell.lnk", | ||||||
|  |         "./floppy/PinTo10.exe", | ||||||
|  |         "./scripts/fixnetwork.ps1", | ||||||
|  |         "./scripts/rearm-windows.ps1", | ||||||
|  |         "./scripts/disable-screensaver.ps1", | ||||||
|  |         "./scripts/disable-winrm.ps1", | ||||||
|  |         "./scripts/enable-winrm.ps1", | ||||||
|  |         "./scripts/microsoft-updates.bat", | ||||||
|  |         "./scripts/win-updates.ps1", | ||||||
|  |         "./scripts/unattend.xml", | ||||||
|  |         "./scripts/sysprep.bat" | ||||||
|  |       ] | ||||||
|  |  | ||||||
|  | 	  }, | ||||||
|     { |     { | ||||||
|       "type": "vmware-iso", |       "type": "vmware-iso", | ||||||
|       "vm_name":"windows_10", |       "vm_name":"windows_10", | ||||||
| @@ -141,6 +185,9 @@ | |||||||
|     "iso_checksum_type": "sha256", |     "iso_checksum_type": "sha256", | ||||||
|     "iso_url": "https://software-download.microsoft.com/download/pr/18362.30.190401-1528.19h1_release_svc_refresh_CLIENTENTERPRISEEVAL_OEMRET_x64FRE_en-us.iso", |     "iso_url": "https://software-download.microsoft.com/download/pr/18362.30.190401-1528.19h1_release_svc_refresh_CLIENTENTERPRISEEVAL_OEMRET_x64FRE_en-us.iso", | ||||||
|     "autounattend": "./answer_files/10/Autounattend.xml", |     "autounattend": "./answer_files/10/Autounattend.xml", | ||||||
|     "disk_size": "61440" |     "disk_size": "61440", | ||||||
|  |     "virtio_win_iso": "./virtio-win.iso", | ||||||
|  |     "autounattend_virtio": "./answer_files/10_virtio/Autounattend.xml", | ||||||
|  |     "packer_build_dir": "/media/packer_build_dir/win10" | ||||||
|   } |   } | ||||||
| } | } | ||||||
|   | |||||||
| @@ -1,5 +1,47 @@ | |||||||
| { | { | ||||||
|   "builders": [ |   "builders": [ | ||||||
|  |     { | ||||||
|  |       "type": "qemu", | ||||||
|  |       "vm_name":"windows_10", | ||||||
|  |       "communicator": "winrm", | ||||||
|  |       "iso_url": "{{user `iso_url`}}", | ||||||
|  |       "iso_checksum_type": "{{user `iso_checksum_type`}}", | ||||||
|  |       "iso_checksum": "{{user `iso_checksum`}}", | ||||||
|  |       "headless": true, | ||||||
|  |       "boot_wait": "6m", | ||||||
|  |       "boot_command": "", | ||||||
|  |       "winrm_username": "vagrant", | ||||||
|  |       "winrm_password": "vagrant", | ||||||
|  |       "winrm_timeout": "4h", | ||||||
|  |       "shutdown_command": "shutdown /s /t 10 /f /d p:4:1 /c \"Packer Shutdown\"", | ||||||
|  |  | ||||||
|  |       "accelerator": "kvm", | ||||||
|  |       "disk_size": "{{user `disk_size`}}", | ||||||
|  |  | ||||||
|  |       "output_directory": "{{ user `packer_build_dir`}}", | ||||||
|  |  | ||||||
|  |       "qemuargs": [ | ||||||
|  | 	[ "-m", "2048"], | ||||||
|  | 	[ "-smp", "2"], | ||||||
|  |         [ "-drive", "file={{ user `virtio_win_iso` }},media=cdrom,index=3" ], | ||||||
|  | 	[ "-drive", "file={{ user `packer_build_dir`}}/{{ .Name }},if=virtio,cache=writeback,discard=ignore,format=qcow2,index=1" ] | ||||||
|  | 	], | ||||||
|  |  | ||||||
|  |       "floppy_files": [ | ||||||
|  |         "{{user `autounattend_virtio`}}", | ||||||
|  |         "./floppy/WindowsPowershell.lnk", | ||||||
|  |         "./floppy/WindowsPowershell.lnk", | ||||||
|  |         "./floppy/PinTo10.exe", | ||||||
|  |         "./scripts/unattend.xml", | ||||||
|  |         "./scripts/sysprep.bat", | ||||||
|  |         "./scripts/disable-screensaver.ps1", | ||||||
|  |         "./scripts/disable-winrm.ps1", | ||||||
|  |         "./scripts/enable-winrm.ps1", | ||||||
|  |         "./scripts/microsoft-updates.bat", | ||||||
|  |         "./scripts/win-updates.ps1" | ||||||
|  |       ] | ||||||
|  |  | ||||||
|  | 	  }, | ||||||
|     { |     { | ||||||
|       "vm_name":"WindowsServer2016", |       "vm_name":"WindowsServer2016", | ||||||
|       "type": "vmware-iso", |       "type": "vmware-iso", | ||||||
| @@ -126,6 +168,10 @@ | |||||||
|     "iso_url": "https://software-download.microsoft.com/download/pr/Windows_Server_2016_Datacenter_EVAL_en-us_14393_refresh.ISO", |     "iso_url": "https://software-download.microsoft.com/download/pr/Windows_Server_2016_Datacenter_EVAL_en-us_14393_refresh.ISO", | ||||||
|     "iso_checksum_type": "md5", |     "iso_checksum_type": "md5", | ||||||
|     "iso_checksum": "70721288BBCDFE3239D8F8C0FAE55F1F", |     "iso_checksum": "70721288BBCDFE3239D8F8C0FAE55F1F", | ||||||
|     "autounattend": "./answer_files/2016/Autounattend.xml" |     "disk_size": "61440", | ||||||
|  |     "autounattend": "./answer_files/2016/Autounattend.xml", | ||||||
|  |     "virtio_win_iso": "./virtio-win.iso", | ||||||
|  |     "autounattend_virtio": "./answer_files/2016_virtio/Autounattend.xml", | ||||||
|  |     "packer_build_dir": "/media/packer_build_dir/win2016" | ||||||
|   } |   } | ||||||
| } | } | ||||||
|   | |||||||
| @@ -4,4 +4,3 @@ locals { | |||||||
|   ata_url       = "https://${aws_instance.wef.public_ip}" |   ata_url       = "https://${aws_instance.wef.public_ip}" | ||||||
|   guacamole_url = "http://${aws_instance.logger.public_ip}:8080/guacamole" |   guacamole_url = "http://${aws_instance.logger.public_ip}:8080/guacamole" | ||||||
| } | } | ||||||
|  |  | ||||||
|   | |||||||
							
								
								
									
										98
									
								
								Vagrant/Vagrantfile
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										98
									
								
								Vagrant/Vagrantfile
									
									
									
									
										vendored
									
									
								
							| @@ -1,7 +1,26 @@ | |||||||
|  | libvirt_win10_box = "../Boxes/windows_10_libvirt.box" | ||||||
|  | libvirt_win2016_box = "../Boxes/windows_2016_libvirt.box" | ||||||
|  |  | ||||||
| Vagrant.configure("2") do |config| | Vagrant.configure("2") do |config| | ||||||
|  |  | ||||||
|  |   config.vm.provider "libvirt" do |libvirt| | ||||||
|  |     # This is required for Vagrant to properly configure the network interfaces. | ||||||
|  |     # See libvirt's README section for more information | ||||||
|  |  | ||||||
|  |     libvirt.management_network_name = "VagrantMgmt" | ||||||
|  |     libvirt.management_network_address = "192.168.123.0/24" | ||||||
|  |     libvirt.management_network_mode = "none" | ||||||
|  |  | ||||||
|  |     libvirt.cpu_mode = "host-passthrough" | ||||||
|  |  | ||||||
|  |     # Which storage pool path to use. Default to /var/lib/libvirt/images or ~/.local/share/libvirt/images depending on if you are running a system or user QEMU/KVM session. | ||||||
|  |     #libvirt.storage_pool_path = '/media/storage_nvme/system_session_vm_pool' | ||||||
|  |     libvirt.storage_pool_name = 'default' | ||||||
|  |   end | ||||||
|  |  | ||||||
|   config.vm.define "logger" do |cfg| |   config.vm.define "logger" do |cfg| | ||||||
|     cfg.vm.box = "bento/ubuntu-18.04" |     cfg.vm.box = "generic/ubuntu1604" | ||||||
|  |  | ||||||
|     cfg.vm.hostname = "logger" |     cfg.vm.hostname = "logger" | ||||||
|     cfg.vm.provision :shell, path: "bootstrap.sh" |     cfg.vm.provision :shell, path: "bootstrap.sh" | ||||||
|     cfg.vm.network :private_network, ip: "192.168.38.105", gateway: "192.168.38.1", dns: "8.8.8.8" |     cfg.vm.network :private_network, ip: "192.168.38.105", gateway: "192.168.38.1", dns: "8.8.8.8" | ||||||
| @@ -24,6 +43,17 @@ Vagrant.configure("2") do |config| | |||||||
|       vb.customize ["modifyvm", :id, "--natdnshostresolver1", "on"] |       vb.customize ["modifyvm", :id, "--natdnshostresolver1", "on"] | ||||||
|       vb.customize ["setextradata", "global", "GUI/SuppressMessages", "all" ] |       vb.customize ["setextradata", "global", "GUI/SuppressMessages", "all" ] | ||||||
|     end |     end | ||||||
|  |  | ||||||
|  |     cfg.vm.provider "libvirt" do |lv, override| | ||||||
|  |       lv.graphics_type = "vnc" | ||||||
|  |       lv.video_type = "vga" | ||||||
|  |       lv.input :type => "tablet", :bus => "usb" | ||||||
|  |       lv.video_vram = 32768 | ||||||
|  |       lv.memory = 4096 | ||||||
|  |       lv.cpus = 2 | ||||||
|  |  | ||||||
|  |       override.vm.synced_folder './', '/vagrant', type: 'rsync'  | ||||||
|  |     end | ||||||
|   end |   end | ||||||
|  |  | ||||||
|   config.vm.define "dc" do |cfg| |   config.vm.define "dc" do |cfg| | ||||||
| @@ -35,9 +65,10 @@ Vagrant.configure("2") do |config| | |||||||
|     cfg.winrm.basic_auth_only = true |     cfg.winrm.basic_auth_only = true | ||||||
|     cfg.winrm.timeout = 300 |     cfg.winrm.timeout = 300 | ||||||
|     cfg.winrm.retry_limit = 20 |     cfg.winrm.retry_limit = 20 | ||||||
|     cfg.vm.network :private_network, ip: "192.168.38.102", gateway: "192.168.38.1" |     cfg.vm.network :private_network, ip: "192.168.38.102", gateway: "192.168.38.1", dns: "8.8.8.8" | ||||||
|  |  | ||||||
|     cfg.vm.provision "shell", path: "scripts/fix-second-network.ps1", privileged: false, args: "192.168.38.102" |     # Added DNS here because libvirt fails to properly configure the windows client otherwise... :( | ||||||
|  |     cfg.vm.provision "shell", path: "scripts/fix-second-network.ps1", privileged: true, args: "-ip 192.168.38.102 -dns 8.8.8.8 -gateway 192.168.38.1"  | ||||||
|     cfg.vm.provision "shell", path: "scripts/provision.ps1", privileged: false |     cfg.vm.provision "shell", path: "scripts/provision.ps1", privileged: false | ||||||
|     cfg.vm.provision "reload" |     cfg.vm.provision "reload" | ||||||
|     cfg.vm.provision "shell", path: "scripts/provision.ps1", privileged: false |     cfg.vm.provision "shell", path: "scripts/provision.ps1", privileged: false | ||||||
| @@ -77,6 +108,26 @@ Vagrant.configure("2") do |config| | |||||||
|       vb.customize ["modifyvm", :id, "--natdnshostresolver1", "on"] |       vb.customize ["modifyvm", :id, "--natdnshostresolver1", "on"] | ||||||
|       vb.customize ["setextradata", "global", "GUI/SuppressMessages", "all" ] |       vb.customize ["setextradata", "global", "GUI/SuppressMessages", "all" ] | ||||||
|     end |     end | ||||||
|  |  | ||||||
|  |     cfg.vm.provider "libvirt" do |lv, override| | ||||||
|  |       lv.graphics_type = "spice" | ||||||
|  |       lv.video_type = "qxl" | ||||||
|  |       lv.input :type => "tablet", :bus => "usb" | ||||||
|  |  | ||||||
|  |       override.vm.box = libvirt_win2016_box | ||||||
|  |       lv.video_vram = 32768 | ||||||
|  |       lv.memory = 3072 | ||||||
|  |       lv.cpus = 2 | ||||||
|  |       # This is NOT the right semantic for Vagrant synced folder. It's a dirty hack around : | ||||||
|  |       # https://github.com/Cimpress-MCP/vagrant-winrm-syncedfolders/issues/11 | ||||||
|  |       # If dest is /vagrant, it'll upload in C:\vagrant\Vagrant.... | ||||||
|  |       # It's like 'cp /my/dir /my/dir2' vs 'cp /my/dir /my/dir2/' | ||||||
|  |       # | ||||||
|  |       # The Winrm synced folder plugin is also excruciatingly slow. Would gladly replace with something else  | ||||||
|  |       # that works with linux host and windows guest... | ||||||
|  |  | ||||||
|  |       override.vm.synced_folder '.', '/', type: 'winrm'  | ||||||
|  |     end | ||||||
|   end |   end | ||||||
|  |  | ||||||
|   config.vm.define "wef" do |cfg| |   config.vm.define "wef" do |cfg| | ||||||
| @@ -89,7 +140,7 @@ Vagrant.configure("2") do |config| | |||||||
|     cfg.winrm.retry_limit = 20 |     cfg.winrm.retry_limit = 20 | ||||||
|     cfg.vm.network :private_network, ip: "192.168.38.103", gateway: "192.168.38.1", dns: "192.168.38.102" |     cfg.vm.network :private_network, ip: "192.168.38.103", gateway: "192.168.38.1", dns: "192.168.38.102" | ||||||
|  |  | ||||||
|     cfg.vm.provision "shell", path: "scripts/fix-second-network.ps1", privileged: false, args: "-ip 192.168.38.103 -dns 192.168.38.102" |     cfg.vm.provision "shell", path: "scripts/fix-second-network.ps1", privileged: true, args: "-ip 192.168.38.103 -dns 8.8.8.8 -gateway 192.168.38.1"  | ||||||
|     cfg.vm.provision "shell", path: "scripts/provision.ps1", privileged: false |     cfg.vm.provision "shell", path: "scripts/provision.ps1", privileged: false | ||||||
|     cfg.vm.provision "shell", inline: "cscript c:\\windows\\system32\\slmgr.vbs -rearm", privileged: false |     cfg.vm.provision "shell", inline: "cscript c:\\windows\\system32\\slmgr.vbs -rearm", privileged: false | ||||||
|     cfg.vm.provision "reload" |     cfg.vm.provision "reload" | ||||||
| @@ -129,6 +180,25 @@ Vagrant.configure("2") do |config| | |||||||
|       vb.customize ["modifyvm", :id, "--natdnshostresolver1", "on"] |       vb.customize ["modifyvm", :id, "--natdnshostresolver1", "on"] | ||||||
|       vb.customize ["setextradata", "global", "GUI/SuppressMessages", "all" ] |       vb.customize ["setextradata", "global", "GUI/SuppressMessages", "all" ] | ||||||
|     end |     end | ||||||
|  |  | ||||||
|  |     cfg.vm.provider "libvirt" do |lv, override| | ||||||
|  |       lv.graphics_type = "spice" | ||||||
|  |       lv.video_type = "qxl" | ||||||
|  |       lv.input :type => "tablet", :bus => "usb" | ||||||
|  |       override.vm.box = libvirt_win2016_box | ||||||
|  |       lv.video_vram = 32768 | ||||||
|  |       lv.memory = 2048 | ||||||
|  |       lv.cpus = 2 | ||||||
|  |       # This is NOT the right semantic for Vagrant synced folder. It's a dirty hack around : | ||||||
|  |       # https://github.com/Cimpress-MCP/vagrant-winrm-syncedfolders/issues/11 | ||||||
|  |       # If dest is /vagrant, it'll upload in C:\vagrant\Vagrant.... | ||||||
|  |       # It's like 'cp /my/dir /my/dir2' vs 'cp /my/dir /my/dir2/' | ||||||
|  |       # | ||||||
|  |       # The Winrm synced folder plugin is also excruciatingly slow. Would gladly replace with something else  | ||||||
|  |       # that works with linux host and windows guest... | ||||||
|  |  | ||||||
|  |       override.vm.synced_folder '.', '/', type: 'winrm'  | ||||||
|  |     end | ||||||
|   end |   end | ||||||
|  |  | ||||||
|   config.vm.define "win10" do |cfg| |   config.vm.define "win10" do |cfg| | ||||||
| @@ -141,7 +211,7 @@ Vagrant.configure("2") do |config| | |||||||
|     cfg.winrm.retry_limit = 20 |     cfg.winrm.retry_limit = 20 | ||||||
|     cfg.vm.network :private_network, ip: "192.168.38.104", gateway: "192.168.38.1", dns: "192.168.38.102" |     cfg.vm.network :private_network, ip: "192.168.38.104", gateway: "192.168.38.1", dns: "192.168.38.102" | ||||||
|  |  | ||||||
|     cfg.vm.provision "shell", path: "scripts/fix-second-network.ps1", privileged: false, args: "-ip 192.168.38.104 -dns 192.168.38.102" |     cfg.vm.provision "shell", path: "scripts/fix-second-network.ps1", privileged: true, args: "-ip 192.168.38.104 -dns 8.8.8.8 -gateway 192.168.38.1"  | ||||||
|     cfg.vm.provision "shell", path: "scripts/MakeWindows10GreatAgain.ps1", privileged: false |     cfg.vm.provision "shell", path: "scripts/MakeWindows10GreatAgain.ps1", privileged: false | ||||||
|     cfg.vm.provision "shell", path: "scripts/provision.ps1", privileged: false |     cfg.vm.provision "shell", path: "scripts/provision.ps1", privileged: false | ||||||
|     cfg.vm.provision "shell", inline: "cscript c:\\windows\\system32\\slmgr.vbs -rearm", privileged: false |     cfg.vm.provision "shell", inline: "cscript c:\\windows\\system32\\slmgr.vbs -rearm", privileged: false | ||||||
| @@ -178,5 +248,23 @@ Vagrant.configure("2") do |config| | |||||||
|       vb.customize ["modifyvm", :id, "--natdnshostresolver1", "on"] |       vb.customize ["modifyvm", :id, "--natdnshostresolver1", "on"] | ||||||
|       vb.customize ["setextradata", "global", "GUI/SuppressMessages", "all" ] |       vb.customize ["setextradata", "global", "GUI/SuppressMessages", "all" ] | ||||||
|     end |     end | ||||||
|  |     cfg.vm.provider "libvirt" do |lv, override| | ||||||
|  |       lv.graphics_type = "spice" | ||||||
|  |       lv.video_type = "qxl" | ||||||
|  |       lv.input :type => "tablet", :bus => "usb" | ||||||
|  |       override.vm.box = libvirt_win10_box | ||||||
|  |       lv.video_vram = 32768 | ||||||
|  |       lv.memory = 2048 | ||||||
|  |       lv.cpus = 2 | ||||||
|  |       # This is NOT the right semantic for Vagrant synced folder. It's a dirty hack around : | ||||||
|  |       # https://github.com/Cimpress-MCP/vagrant-winrm-syncedfolders/issues/11 | ||||||
|  |       # If dest is /vagrant, it'll upload in C:\vagrant\Vagrant.... | ||||||
|  |       # It's like 'cp /my/dir /my/dir2' vs 'cp /my/dir /my/dir2/' | ||||||
|  |       # | ||||||
|  |       # The Winrm synced folder plugin is also excruciatingly slow. Would gladly replace with something else  | ||||||
|  |       # that works with linux host and windows guest... | ||||||
|  |  | ||||||
|  |       override.vm.synced_folder '.', '/', type: 'winrm'  | ||||||
|  |     end | ||||||
|   end |   end | ||||||
| end | end | ||||||
|   | |||||||
| @@ -57,6 +57,11 @@ test_prerequisites() { | |||||||
| } | } | ||||||
|  |  | ||||||
| fix_eth1_static_ip() { | fix_eth1_static_ip() { | ||||||
|  |   USING_KVM=$(sudo lsmod | grep kvm) | ||||||
|  |   if [ ! -z "$USING_KVM" ]; then | ||||||
|  |     echo "[*] Using KVM, no need to fix DHCP for eth1 iface" | ||||||
|  |     return 0 | ||||||
|  |   fi | ||||||
|   # There's a fun issue where dhclient keeps messing with eth1 despite the fact |   # There's a fun issue where dhclient keeps messing with eth1 despite the fact | ||||||
|   # that eth1 has a static IP set. We workaround this by setting a static DHCP lease. |   # that eth1 has a static IP set. We workaround this by setting a static DHCP lease. | ||||||
|   echo -e 'interface "eth1" { |   echo -e 'interface "eth1" { | ||||||
|   | |||||||
| @@ -1,10 +1,32 @@ | |||||||
| # Source: https://github.com/StefanScherer/adfs2 | # Source: https://github.com/StefanScherer/adfs2 | ||||||
| param ([String] $ip, [String] $dns) | param ([String] $ip, [String] $dns, [String] $gateway) | ||||||
|  |  | ||||||
| if (! (Test-Path 'C:\Program Files\VMware\VMware Tools')) { | if ( (Get-NetAdapter | Select-Object -First 1 | Select-Object -ExpandProperty InterfaceDescription).Contains('Red Hat VirtIO')) { | ||||||
|  |   Write-Host "Setting Network Configuration for LibVirt interface" | ||||||
|  |   $subnet = $ip -replace "\.\d+$", "" | ||||||
|  |   $name = (Get-NetIPAddress -AddressFamily IPv4 ` | ||||||
|  |      | Where-Object -FilterScript { ($_.IPAddress).StartsWith("$subnet") } ` | ||||||
|  |      ).InterfaceAlias | ||||||
|  |   if ($name) { | ||||||
|  |     Write-Host "Set IP address to $ip of interface $name" | ||||||
|  |     & netsh.exe int ip set address "$name" static $ip 255.255.255.0 "$gateway" | ||||||
|  |     if ($dns) { | ||||||
|  |       Write-Host "Set DNS server address to $dns of interface $name" | ||||||
|  |       & netsh.exe interface ipv4 add dnsserver "$name" address=$dns index=1 | ||||||
|  |     } | ||||||
|  |   } else { | ||||||
|  |     Write-Error "Could not find a interface with subnet $subnet.xx" | ||||||
|  |   } | ||||||
|  |    | ||||||
|  |   exit 0 | ||||||
|  | } | ||||||
|  |  | ||||||
|  | if (! (Test-Path 'C:\Program Files\VMware\VMware Tools') ) { | ||||||
|   Write-Host "Nothing to do for other providers than VMware." |   Write-Host "Nothing to do for other providers than VMware." | ||||||
|   exit 0 |   exit 0 | ||||||
| } | } | ||||||
|  |  | ||||||
|  |  | ||||||
| Write-Host "$('[{0:HH:mm}]' -f (Get-Date))" | Write-Host "$('[{0:HH:mm}]' -f (Get-Date))" | ||||||
| Write-Host "Setting IP address and DNS information for the Ethernet1 interface" | Write-Host "Setting IP address and DNS information for the Ethernet1 interface" | ||||||
| Write-Host "If this step times out, it's because vagrant is connecting to the VM on the wrong interface" | Write-Host "If this step times out, it's because vagrant is connecting to the VM on the wrong interface" | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user
	 Chris Long
					Chris Long