forked from jedi4ever/veewee
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
8 changed files
with
548 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,152 @@ | ||
<?xml version="1.0" encoding="utf-8"?> | ||
<unattend xmlns="urn:schemas-microsoft-com:unattend"> | ||
<settings pass="oobeSystem"> | ||
<component name="Microsoft-Windows-Shell-Setup" 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"> | ||
<UserAccounts> | ||
<AdministratorPassword> | ||
<Value>dgBhAGcAcgBhAG4AdABBAGQAbQBpAG4AaQBzAHQAcgBhAHQAbwByAFAAYQBzAHMAdwBvAHIAZAA=</Value> | ||
<PlainText>false</PlainText> | ||
</AdministratorPassword> | ||
<LocalAccounts> | ||
<LocalAccount wcm:action="add"> | ||
<Password> | ||
<Value>dgBhAGcAcgBhAG4AdABQAGEAcwBzAHcAbwByAGQA</Value> | ||
<PlainText>false</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>Work</NetworkLocation> | ||
<ProtectYourPC>3</ProtectYourPC> | ||
</OOBE> | ||
<AutoLogon> | ||
<Password> | ||
<Value>dgBhAGcAcgBhAG4AdABQAGEAcwBzAHcAbwByAGQA</Value> | ||
<PlainText>false</PlainText> | ||
</Password> | ||
<Username>vagrant</Username> | ||
<Enabled>true</Enabled> | ||
</AutoLogon> | ||
<FirstLogonCommands> | ||
<SynchronousCommand wcm:action="add"> | ||
<CommandLine>cmd.exe /c a:install-winrm.bat</CommandLine> | ||
<Description>Install winrm</Description> | ||
<Order>1</Order> | ||
<RequiresUserInput>true</RequiresUserInput> | ||
</SynchronousCommand> | ||
<SynchronousCommand wcm:action="add"> | ||
<Order>2</Order> | ||
<CommandLine>cmd.exe /c a:install-chefclient.bat</CommandLine> | ||
<Description>Install chefclient</Description> | ||
<RequiresUserInput>false</RequiresUserInput> | ||
</SynchronousCommand> | ||
</FirstLogonCommands> | ||
<ShowWindowsLive>false</ShowWindowsLive> | ||
</component> | ||
<component name="Microsoft-Windows-WinRE-RecoveryAgent" 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"> | ||
<UninstallWindowsRE>true</UninstallWindowsRE> | ||
</component> | ||
</settings> | ||
<settings pass="windowsPE"> | ||
<component name="Microsoft-Windows-Setup" 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"> | ||
<DiskConfiguration> | ||
<Disk wcm:action="add"> | ||
<CreatePartitions> | ||
<CreatePartition wcm:action="add"> | ||
<Order>1</Order> | ||
<Type>Primary</Type> | ||
<Size>20000</Size> | ||
</CreatePartition> | ||
</CreatePartitions> | ||
<ModifyPartitions> | ||
<ModifyPartition wcm:action="add"> | ||
<Active>true</Active> | ||
<Extend>false</Extend> | ||
<Format>NTFS</Format> | ||
<Label>Vagrant7</Label> | ||
<Letter>C</Letter> | ||
<Order>1</Order> | ||
<PartitionID>1</PartitionID> | ||
</ModifyPartition> | ||
</ModifyPartitions> | ||
<DiskID>0</DiskID> | ||
<WillWipeDisk>true</WillWipeDisk> | ||
</Disk> | ||
<WillShowUI>OnError</WillShowUI> | ||
</DiskConfiguration> | ||
<UserData> | ||
<!-- Product Key from http://technet.microsoft.com/en-us/library/ff793406.aspx --> | ||
<ProductKey> | ||
<WillShowUI>Never</WillShowUI> | ||
</ProductKey> | ||
<AcceptEula>true</AcceptEula> | ||
<FullName>Vagrant User</FullName> | ||
<Organization>Vagrant Inc.</Organization> | ||
</UserData> | ||
<ImageInstall> | ||
<OSImage> | ||
<InstallFrom> | ||
<MetaData wcm:action="add"> | ||
<Key>/IMAGE/NAME</Key> | ||
<Value>Windows 7 ULTIMATE</Value> | ||
</MetaData> | ||
</InstallFrom> | ||
<InstallTo> | ||
<DiskID>0</DiskID> | ||
<PartitionID>1</PartitionID> | ||
</InstallTo> | ||
<WillShowUI>OnError</WillShowUI> | ||
<InstallToAvailablePartition>false</InstallToAvailablePartition> | ||
</OSImage> | ||
</ImageInstall> | ||
<EnableFirewall>true</EnableFirewall> | ||
</component> | ||
<component name="Microsoft-Windows-International-Core-WinPE" 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"> | ||
<SetupUILanguage> | ||
<UILanguage>en-US</UILanguage> | ||
</SetupUILanguage> | ||
<InputLocale>en-US</InputLocale> | ||
<SystemLocale>en-US</SystemLocale> | ||
<UILanguage>en-US</UILanguage> | ||
<UserLocale>en-US</UserLocale> | ||
</component> | ||
</settings> | ||
<settings pass="specialize"> | ||
<component name="Microsoft-Windows-Shell-Setup" 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"> | ||
<OEMInformation> | ||
<HelpCustomized>false</HelpCustomized> | ||
</OEMInformation> | ||
<ComputerName>Vagrant-win7</ComputerName> | ||
<TimeZone>New Zealand Standard Time</TimeZone> | ||
<RegisteredOrganization></RegisteredOrganization> | ||
<RegisteredOwner>Vagrant</RegisteredOwner> | ||
</component> | ||
<component name="Microsoft-Windows-Security-SPP-UX" 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"> | ||
<SkipAutoActivation>true</SkipAutoActivation> | ||
</component> | ||
<component name="Microsoft-Windows-SystemRestore-Main" 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"> | ||
<DisableSR>1</DisableSR> | ||
</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> | ||
<settings pass="offlineServicing"> | ||
<component name="Microsoft-Windows-LUA-Settings" 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"> | ||
<EnableLUA>false</EnableLUA> | ||
</component> | ||
</settings> | ||
<settings pass="generalize"> | ||
<component name="Microsoft-Windows-Security-SPP" 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"> | ||
<SkipRearm>1</SkipRearm> | ||
</component> | ||
</settings> | ||
<cpi:offlineImage cpi:source="wim:d:/sources/install.wim#Windows 7 HOMEPREMIUM" xmlns:cpi="urn:schemas-microsoft-com:cpi" /> | ||
</unattend> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,171 @@ | ||
You can download a free trial of Windows 7 Enterprise 90-day Trial | ||
|
||
url: http://technet.microsoft.com/en-us/evalcenter/cc442495.aspx | ||
file: 7600.16385.090713-1255_x64fre_enterprise_en-us_EVAL_Eval_Enterprise-GRMCENXEVAL_EN_DVD.iso | ||
md5sum: 1d0d239a252cb53e466d39e752b17c28 | ||
|
||
''' | ||
PS C:\Users\Administrator> Dism /Get-WIMInfo /WimFile:d:\sources\install.wim | ||
|
||
Deployment Image Servicing and Management tool | ||
Version: 6.1.7600.16385 | ||
|
||
Details for image : d:\sources\install.wim | ||
|
||
Index : 1 | ||
Name : Windows 7 ENTERPRISE | ||
Description : Windows 7 ENTERPRISE | ||
Size : 11,913,037,777 bytes | ||
|
||
The operation completed successfully. | ||
''' | ||
|
||
|
||
Though I have also used "Windows 7 7600 AIO.ISO" from MSDN | ||
* All In One = AIO | ||
file: Windows 7 7600 AIO.ISO | ||
md5sum: ace6c61269613bf515fd59c62185bbcf | ||
|
||
|
||
''' | ||
PS C:\Users\Administrator> Dism /Get-WIMInfo /WimFile:d:\sources\install.wim | ||
|
||
Deployment Image Servicing and Management tool | ||
Version: 6.1.7600.16385 | ||
|
||
Details for image : d:\sources\install.wim | ||
|
||
Index : 1 | ||
Name : Windows 7 STARTER | ||
Description : Windows 7 STARTER | ||
Size : 7,936,340,784 bytes | ||
|
||
Index : 2 | ||
Name : Windows 7 HOMEBASIC | ||
Description : Windows 7 HOMEBASIC | ||
Size : 7,992,394,907 bytes | ||
|
||
Index : 3 | ||
Name : Windows 7 HOMEPREMIUM | ||
Description : Windows 7 HOMEPREMIUM | ||
Size : 8,432,859,356 bytes | ||
|
||
Index : 4 | ||
Name : Windows 7 PROFESSIONAL | ||
Description : Windows 7 PROFESSIONAL | ||
Size : 8,313,318,889 bytes | ||
|
||
Index : 5 | ||
Name : Windows 7 ULTIMATE | ||
Description : Windows 7 ULTIMATE | ||
Size : 8,471,060,645 bytes | ||
|
||
Index : 6 | ||
Name : Windows 7 Home Basic X64 | ||
Description : Windows 7 HOMEBASIC | ||
Size : 11,500,789,302 bytes | ||
|
||
Index : 7 | ||
Name : Windows 7 Home Premium X64 | ||
Description : Windows 7 HOMEPREMIUM | ||
Size : 12,012,660,212 bytes | ||
|
||
Index : 8 | ||
Name : Windows 7 Home Professional X64 | ||
Description : Windows 7 PROFESSIONAL | ||
Size : 11,910,752,928 bytes | ||
|
||
Index : 9 | ||
Name : Windows 7 Home Ultimate X64 | ||
Description : Windows 7 ULTIMATE | ||
Size : 12,070,211,908 bytes | ||
|
||
The operation completed successfully. | ||
''' | ||
|
||
- place it in a directory called iso | ||
|
||
The installation uses the Standard way for Windows Unattended installation. The XML file was created using the Windows AIK kit, but the file can also be edited by hand. | ||
|
||
To edit the Autounattend.xml and validate it: | ||
You can download The Windows® Automated Installation Kit (AIK) for Windows® 7: | ||
url: http://www.microsoft.com/download/en/details.aspx?id=5753 | ||
file: KB3AIK_EN.iso | ||
md5sum: 1e73b24a89eceab9d50585b92db5482f | ||
|
||
|
||
|
||
- Building the machine creates a floppy that contains: | ||
- AutoUnattend.xml (that will configure the windows) | ||
- winrm-install.bat (activates the http and https listener + punches the firewall hole) | ||
|
||
AIK also includes dism, which will allow you to choose a specific version: | ||
|
||
If you want to install a different version, edit Autoattended.xml and replace the /IMAGE/NAME value with | ||
one of the names listed in the sources/install.wim on the install DVD .iso | ||
|
||
# <InstallFrom> | ||
# <MetaData wcm:action="add"> | ||
# <Key>/IMAGE/NAME</Key> | ||
# <Value>Windows Server 2008 R2 SERVERSTANDARD</Value> | ||
# </MetaData> | ||
# </InstallFrom> | ||
|
||
|
||
This gets us nearly there, but we still need a winrm provisioner, as I don't like having to install cygwin. | ||
|
||
Expose the winrm port: | ||
|
||
<pre> | ||
$ gem install chef | ||
$ gem install knife-windows | ||
#Create a tunnel | ||
$ ssh -p 7222 -L5985:localhost:5985 vagrant@localhost | ||
$ knife bootstrap windows winrm localhost -x Administrator -P 'vagrant' | ||
</pre> | ||
|
||
|
||
- http://wiki.opscode.com/display/chef/Knife+Windows+Bootstrap | ||
- https://github.com/opscode/knife-windows/blob/master/lib/chef/knife/bootstrap/windows-shell.erb | ||
|
||
- https://github.com/zenchild/WinRM | ||
|
||
- http://devopscloud.net/2011/04/17/managing-chef-from-windows-7/ | ||
- http://devopscloud.net/2011/04/28/powershell-userdata-to-start-a-chef-run/ | ||
- http://devopscloud.net/2011/03/23/dissection-of-a-chef-recipe-or-two-for-windows/ | ||
- https://github.com/pmorton/chef-windows-installer | ||
|
||
== | ||
https://github.com/zenchild/WinRM/issues/unreads#issue/1 | ||
http -> requires unencryptedwinrm quickconfig (said yes to enable firewall) | ||
winrm p winrm/config/service @{AllowUnencrypted="true"} | ||
winrm set winrm/config/service/auth @{Basic="true"}netsh advfirewall firewall set rule group="remote administration" new enable=yes | ||
|
||
- http://forums.citrix.com/thread.jspa?messageID=1535826 | ||
- http://support.microsoft.com/kb/2019527 | ||
|
||
winrm get winrm/config | ||
|
||
The purpose of configuring WinRM for HTTPS is to encrypt the data being sent across the wire. | ||
|
||
WinRM HTTPS requires a local computer "Server Authentication" certificate with a CN matching the hostname, that is not expired, revoked, or self-signed to be installed. | ||
|
||
To install or view certificates for the local computer: | ||
|
||
- click Start, run, MMC, "File" menu, "Add or Remove Snap-ins" select "Certificates" and click "Add". Go through the wizard selecting "Computer account". | ||
|
||
- Install or view the certificates under: | ||
Certificates (Local computer) | ||
Personal | ||
Certificates | ||
|
||
If you do not have a Sever Authenticating certificate consult your certicate administrator. If you have a microsoft Certificate server you may be abel to request a certificate using the web certificate template from HTTPS://<MyDomainCertificateServer>/certsrv | ||
|
||
Once the certificate is installed type the following to configure WINRM to listen on HTTPS: | ||
|
||
winrm quickconfig -transport:https | ||
|
||
If you do not have an appropriate certificate you can run the following with the authentication methods configured for WinRM however the data will not be encrypted. | ||
|
||
winrm quickconfig | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,38 @@ | ||
# -*- coding: utf-8 -*- | ||
#video memory size should be at least 32meg for windows 7 to do full screen on my desktop | ||
# I'm not sure how to set that with veewee::session yet | ||
Veewee::Session.declare({ | ||
:os_type_id => 'Windows7_64', | ||
:iso_file => "Windows 7 7600 AIO.ISO", | ||
:iso_src => "", # Manual download | ||
:iso_md5 => "", | ||
:iso_download_timeout => "1000", | ||
|
||
:cpu_count => '1', | ||
:memory_size=> '512', | ||
:disk_size => '20280', :disk_format => 'VDI', :hostiocache => 'off', | ||
|
||
:floppy_files => [ | ||
"Autounattend.xml", | ||
"install-winrm.bat", | ||
"install-chefclient.bat" | ||
], | ||
|
||
|
||
:boot_wait => "660", #ten minutes, ten seconds | ||
:boot_cmd_sequence => [ | ||
'<Tab><Spacebar><Tab><Tab><Tab><Spacebar>' | ||
], | ||
|
||
:ssh_login_timeout => "10000", | ||
# Actively attempt to winrm (no ssh on base windows) in for 10000 seconds | ||
:ssh_user => "vagrant", :ssh_password => "vagrant", :ssh_key => "", | ||
:ssh_host_port => "59857", :ssh_guest_port => "5985", | ||
# And run postinstall.sh for up to 10000 seconds | ||
:postinstall_timeout => "10000", | ||
:postinstall_files => ["postinstall.sh"], | ||
# No sudo on windows | ||
:sudo_cmd => "sh '%f'", | ||
# Shutdown is different as well | ||
:shutdown_cmd => "shutdown /p /t 60 /c \"Vagrant Shutdown\" /f /d p:4:1", | ||
}) |
Oops, something went wrong.