veewee 0.2.2 → 0.2.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (123) hide show
  1. data/Gemfile +1 -1
  2. data/Gemfile.lock +75 -0
  3. data/lib/veewee.rb +2 -0
  4. data/lib/veewee/command.rb +1 -59
  5. data/lib/veewee/command/basebox.rb +63 -0
  6. data/lib/veewee/command/basebox_build.rb +32 -0
  7. data/lib/veewee/command/basebox_define.rb +28 -0
  8. data/lib/veewee/command/basebox_destroy.rb +22 -0
  9. data/lib/veewee/command/basebox_export.rb +22 -0
  10. data/lib/veewee/command/basebox_list.rb +23 -0
  11. data/lib/veewee/command/basebox_ostypes.rb +23 -0
  12. data/lib/veewee/command/basebox_templates.rb +23 -0
  13. data/lib/veewee/command/basebox_undefine.rb +22 -0
  14. data/lib/veewee/command/basebox_validate.rb +26 -0
  15. data/lib/veewee/config.rb +1 -2
  16. data/lib/veewee/version.rb +1 -1
  17. data/templates/CentOS-6.0-x86_64-minimal/definition.rb +1 -1
  18. data/templates/CentOS-6.0-x86_64-minimal/postinstall.sh +12 -4
  19. data/templates/CentOS-6.2-x86_64-minimal/definition.rb +15 -0
  20. data/templates/CentOS-6.2-x86_64-minimal/ks.cfg +37 -0
  21. data/templates/CentOS-6.2-x86_64-minimal/postinstall.sh +50 -0
  22. data/templates/SLES-11-SP1-DVD-i586-GM/autoinst_de.xml +1127 -0
  23. data/templates/SLES-11-SP1-DVD-i586-GM/autoinst_en.xml +1127 -0
  24. data/templates/SLES-11-SP1-DVD-i586-GM/definition.rb +37 -0
  25. data/templates/SLES-11-SP1-DVD-i586-GM/postinstall.sh +43 -0
  26. data/templates/SLES-11-SP1-DVD-x86_64-GM/autoinst_de.xml +1171 -0
  27. data/templates/SLES-11-SP1-DVD-x86_64-GM/autoinst_en.xml +1171 -0
  28. data/templates/SLES-11-SP1-DVD-x86_64-GM/definition.rb +37 -0
  29. data/templates/SLES-11-SP1-DVD-x86_64-GM/postinstall.sh +43 -0
  30. data/templates/funtoo-latest-generic_64-stable/definition.rb +34 -0
  31. data/templates/funtoo-latest-generic_64-stable/postinstall.sh +177 -0
  32. data/templates/funtoo-latest-generic_64-stable/postinstall2.sh +83 -0
  33. data/templates/gentoo-latest-x86_64-experimental/definition.rb +4 -4
  34. data/templates/gentoo-latest-x86_64-experimental/postinstall.sh +2 -2
  35. data/templates/openSUSE-12.1-DVD+NET-i586/autoinst_de.xml +1483 -0
  36. data/templates/openSUSE-12.1-DVD+NET-i586/autoinst_en.xml +1483 -0
  37. data/templates/openSUSE-12.1-DVD+NET-i586/definition.rb +44 -0
  38. data/templates/openSUSE-12.1-DVD+NET-i586/postinstall.sh +43 -0
  39. data/templates/openSUSE-12.1-DVD+NET-x86_64/autoinst_de.xml +1727 -0
  40. data/templates/openSUSE-12.1-DVD+NET-x86_64/autoinst_en.xml +1727 -0
  41. data/templates/openSUSE-12.1-DVD+NET-x86_64/definition.rb +44 -0
  42. data/templates/openSUSE-12.1-DVD+NET-x86_64/postinstall.sh +43 -0
  43. data/templates/openbsd50_amd64/README +28 -0
  44. data/templates/openbsd50_amd64/definition.rb +84 -0
  45. data/templates/openbsd50_amd64/postinstall.sh +81 -0
  46. data/templates/openbsd50_i386/.definition.rb.swp +0 -0
  47. data/templates/openbsd50_i386/README +28 -0
  48. data/templates/openbsd50_i386/definition.rb +84 -0
  49. data/templates/openbsd50_i386/postinstall.sh +80 -0
  50. data/templates/windows-2008R1-serverstandard-amd64/Autounattend.xml +146 -0
  51. data/templates/windows-2008R1-serverstandard-amd64/README.md +134 -0
  52. data/templates/windows-2008R1-serverstandard-amd64/cygwin-setup.exe +0 -0
  53. data/templates/windows-2008R1-serverstandard-amd64/definition.rb +114 -0
  54. data/templates/windows-2008R1-serverstandard-amd64/install-cygwin-sshd.bat +40 -0
  55. data/templates/windows-2008R1-serverstandard-amd64/install-guest-additions.bat +5 -0
  56. data/templates/windows-2008R1-serverstandard-amd64/install-winrm.bat +14 -0
  57. data/templates/windows-2008R1-serverstandard-amd64/oracle-cert.cer +0 -0
  58. data/templates/windows-2008R1-serverstandard-amd64/postinstall.sh +74 -0
  59. data/templates/windows-2008R1-serverstandard-amd64/sudo +2 -0
  60. data/templates/windows-2008R1-serverstandard-amd64/winrm.rb +8 -0
  61. data/templates/windows-2008R2-amd64/cygwin-setup.exe +0 -0
  62. data/templates/windows-2008R2-amd64/install-winrm.bat +2 -0
  63. data/templates/windows-2008R2-serverstandard-amd64/Autounattend.xml +147 -0
  64. data/templates/windows-2008R2-serverstandard-amd64/README.md +142 -0
  65. data/templates/windows-2008R2-serverstandard-amd64/definition.rb +44 -0
  66. data/templates/windows-2008R2-serverstandard-amd64/install-cygwin-sshd.bat +41 -0
  67. data/templates/windows-2008R2-serverstandard-amd64/install-winrm.bat +11 -0
  68. data/templates/windows-2008R2-serverstandard-amd64/oracle-cert.cer +0 -0
  69. data/templates/windows-2008R2-serverstandard-amd64/postinstall.sh +74 -0
  70. data/templates/windows-7-enterprise-amd64/Autounattend.xml +149 -0
  71. data/templates/windows-7-enterprise-amd64/README.md +52 -0
  72. data/templates/windows-7-enterprise-amd64/definition.rb +39 -0
  73. data/templates/windows-7-enterprise-amd64/install-cygwin-sshd.bat +40 -0
  74. data/templates/windows-7-enterprise-amd64/install-winrm.bat +14 -0
  75. data/templates/windows-7-enterprise-amd64/oracle-cert.cer +0 -0
  76. data/templates/windows-7-enterprise-amd64/postinstall.sh +74 -0
  77. data/templates/windows-7-enterprise-i386/Autounattend.xml +151 -0
  78. data/templates/windows-7-enterprise-i386/README.md +169 -0
  79. data/templates/windows-7-enterprise-i386/definition.rb +40 -0
  80. data/templates/windows-7-enterprise-i386/install-cygwin-sshd.bat +40 -0
  81. data/templates/windows-7-enterprise-i386/install-winrm.bat +14 -0
  82. data/templates/windows-7-enterprise-i386/oracle-cert.cer +0 -0
  83. data/templates/windows-7-enterprise-i386/postinstall.sh +74 -0
  84. data/templates/windows-7-premium-amd64/Autounattend.xml +152 -0
  85. data/templates/windows-7-premium-amd64/README.md +171 -0
  86. data/templates/windows-7-premium-amd64/definition.rb +38 -0
  87. data/templates/windows-7-premium-amd64/install-chefclient.bat +44 -0
  88. data/templates/windows-7-premium-amd64/install-winrm.bat +11 -0
  89. data/templates/windows-7-premium-amd64/oracle-cert.cer +0 -0
  90. data/templates/windows-7-premium-amd64/postinstall.sh +124 -0
  91. data/templates/windows-7-premium-amd64/winrm.rb +8 -0
  92. data/templates/windows-7-professional-amd64/Autounattend.xml +152 -0
  93. data/templates/windows-7-professional-amd64/README.md +171 -0
  94. data/templates/windows-7-professional-amd64/definition.rb +41 -0
  95. data/templates/windows-7-professional-amd64/install-cygwin-sshd.bat +40 -0
  96. data/templates/windows-7-professional-amd64/install-winrm.bat +14 -0
  97. data/templates/windows-7-professional-amd64/oracle-cert.cer +0 -0
  98. data/templates/windows-7-professional-amd64/postinstall.sh +74 -0
  99. data/templates/windows-7-ultimate-amd64/Autounattend.xml +152 -0
  100. data/templates/windows-7-ultimate-amd64/README.md +89 -0
  101. data/templates/windows-7-ultimate-amd64/definition.rb +41 -0
  102. data/templates/windows-7-ultimate-amd64/install-cygwin-sshd.bat +40 -0
  103. data/templates/windows-7-ultimate-amd64/install-winrm.bat +14 -0
  104. data/templates/windows-7-ultimate-amd64/oracle-cert.cer +0 -0
  105. data/templates/windows-7-ultimate-amd64/postinstall.sh +74 -0
  106. data/templates/windows-7sp1-ultimate-amd64/Autounattend.xml +152 -0
  107. data/templates/windows-7sp1-ultimate-amd64/README.md +89 -0
  108. data/templates/windows-7sp1-ultimate-amd64/definition.rb +42 -0
  109. data/templates/windows-7sp1-ultimate-amd64/install-cygwin-sshd.bat +40 -0
  110. data/templates/windows-7sp1-ultimate-amd64/install-winrm.bat +14 -0
  111. data/templates/windows-7sp1-ultimate-amd64/oracle-cert.cer +0 -0
  112. data/templates/windows-7sp1-ultimate-amd64/postinstall.sh +74 -0
  113. data/templates/windows-8-preview-dev-amd64/Autounattend.xml +140 -0
  114. data/templates/windows-8-preview-dev-amd64/README.md +134 -0
  115. data/templates/windows-8-preview-dev-amd64/cygwin-setup.exe +0 -0
  116. data/templates/windows-8-preview-dev-amd64/definition.rb +114 -0
  117. data/templates/windows-8-preview-dev-amd64/install-cygwin-sshd.bat +38 -0
  118. data/templates/windows-8-preview-dev-amd64/install-winrm.bat +11 -0
  119. data/templates/windows-8-preview-dev-amd64/oracle-cert.cer +0 -0
  120. data/templates/windows-8-preview-dev-amd64/postinstall.sh +122 -0
  121. data/templates/windows-8-preview-dev-amd64/winrm.rb +8 -0
  122. data/veewee.gemspec +3 -2
  123. metadata +162 -34
@@ -0,0 +1,8 @@
1
+ require 'winrm'
2
+ endpoint = 'http://localhost:5985/wsman'
3
+ winrm=WinRM::WinRMWebService.new(endpoint, :plaintext, :user => 'Administrator', :pass => 'vagrant', :basic_auth_only => true)
4
+ winrm.cmd('ifconfig /all') do |stdout, stderr|
5
+ STDOUT.print stdout
6
+ STDERR.print stderr
7
+ end
8
+ #winrm.open_shell
@@ -0,0 +1,152 @@
1
+ <?xml version="1.0" encoding="utf-8"?>
2
+ <unattend xmlns="urn:schemas-microsoft-com:unattend">
3
+ <settings pass="oobeSystem">
4
+ <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">
5
+ <UserAccounts>
6
+ <AdministratorPassword>
7
+ <Value>dgBhAGcAcgBhAG4AdABBAGQAbQBpAG4AaQBzAHQAcgBhAHQAbwByAFAAYQBzAHMAdwBvAHIAZAA=</Value>
8
+ <PlainText>false</PlainText>
9
+ </AdministratorPassword>
10
+ <LocalAccounts>
11
+ <LocalAccount wcm:action="add">
12
+ <Password>
13
+ <Value>dgBhAGcAcgBhAG4AdABQAGEAcwBzAHcAbwByAGQA</Value>
14
+ <PlainText>false</PlainText>
15
+ </Password>
16
+ <Description>Vagrant User</Description>
17
+ <DisplayName>Vagrant</DisplayName>
18
+ <Group>administrators</Group>
19
+ <Name>vagrant</Name>
20
+ </LocalAccount>
21
+ </LocalAccounts>
22
+ </UserAccounts>
23
+ <OOBE>
24
+ <HideEULAPage>true</HideEULAPage>
25
+ <HideWirelessSetupInOOBE>true</HideWirelessSetupInOOBE>
26
+ <NetworkLocation>Work</NetworkLocation>
27
+ <ProtectYourPC>3</ProtectYourPC>
28
+ </OOBE>
29
+ <AutoLogon>
30
+ <Password>
31
+ <Value>dgBhAGcAcgBhAG4AdABQAGEAcwBzAHcAbwByAGQA</Value>
32
+ <PlainText>false</PlainText>
33
+ </Password>
34
+ <Username>vagrant</Username>
35
+ <Enabled>true</Enabled>
36
+ </AutoLogon>
37
+ <FirstLogonCommands>
38
+ <SynchronousCommand wcm:action="add">
39
+ <CommandLine>cmd.exe /c a:install-winrm.bat</CommandLine>
40
+ <Description>Install winrm</Description>
41
+ <Order>1</Order>
42
+ <RequiresUserInput>true</RequiresUserInput>
43
+ </SynchronousCommand>
44
+ <SynchronousCommand wcm:action="add">
45
+ <Order>2</Order>
46
+ <CommandLine>cmd.exe /c a:install-cygwin-sshd.bat</CommandLine>
47
+ <Description>Install Cygwin sshd</Description>
48
+ <RequiresUserInput>false</RequiresUserInput>
49
+ </SynchronousCommand>
50
+ </FirstLogonCommands>
51
+ <ShowWindowsLive>false</ShowWindowsLive>
52
+ </component>
53
+ <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">
54
+ <UninstallWindowsRE>true</UninstallWindowsRE>
55
+ </component>
56
+ </settings>
57
+ <settings pass="windowsPE">
58
+ <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">
59
+ <DiskConfiguration>
60
+ <Disk wcm:action="add">
61
+ <CreatePartitions>
62
+ <CreatePartition wcm:action="add">
63
+ <Order>1</Order>
64
+ <Type>Primary</Type>
65
+ <Size>20000</Size>
66
+ </CreatePartition>
67
+ </CreatePartitions>
68
+ <ModifyPartitions>
69
+ <ModifyPartition wcm:action="add">
70
+ <Active>true</Active>
71
+ <Extend>false</Extend>
72
+ <Format>NTFS</Format>
73
+ <Label>Vagrant7</Label>
74
+ <Letter>C</Letter>
75
+ <Order>1</Order>
76
+ <PartitionID>1</PartitionID>
77
+ </ModifyPartition>
78
+ </ModifyPartitions>
79
+ <DiskID>0</DiskID>
80
+ <WillWipeDisk>true</WillWipeDisk>
81
+ </Disk>
82
+ <WillShowUI>OnError</WillShowUI>
83
+ </DiskConfiguration>
84
+ <UserData>
85
+ <!-- Product Key from http://technet.microsoft.com/en-us/library/ff793406.aspx -->
86
+ <ProductKey>
87
+ <WillShowUI>Never</WillShowUI>
88
+ </ProductKey>
89
+ <AcceptEula>true</AcceptEula>
90
+ <FullName>Vagrant User</FullName>
91
+ <Organization>Vagrant Inc.</Organization>
92
+ </UserData>
93
+ <ImageInstall>
94
+ <OSImage>
95
+ <InstallFrom>
96
+ <MetaData wcm:action="add">
97
+ <Key>/IMAGE/NAME</Key>
98
+ <Value>Windows 7 PROFESSIONAL</Value>
99
+ </MetaData>
100
+ </InstallFrom>
101
+ <InstallTo>
102
+ <DiskID>0</DiskID>
103
+ <PartitionID>1</PartitionID>
104
+ </InstallTo>
105
+ <WillShowUI>OnError</WillShowUI>
106
+ <InstallToAvailablePartition>false</InstallToAvailablePartition>
107
+ </OSImage>
108
+ </ImageInstall>
109
+ <EnableFirewall>true</EnableFirewall>
110
+ </component>
111
+ <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">
112
+ <SetupUILanguage>
113
+ <UILanguage>en-US</UILanguage>
114
+ </SetupUILanguage>
115
+ <InputLocale>en-US</InputLocale>
116
+ <SystemLocale>en-US</SystemLocale>
117
+ <UILanguage>en-US</UILanguage>
118
+ <UserLocale>en-US</UserLocale>
119
+ </component>
120
+ </settings>
121
+ <settings pass="specialize">
122
+ <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">
123
+ <OEMInformation>
124
+ <HelpCustomized>false</HelpCustomized>
125
+ </OEMInformation>
126
+ <ComputerName>Vagrant-win7</ComputerName>
127
+ <TimeZone>New Zealand Standard Time</TimeZone>
128
+ <RegisteredOrganization></RegisteredOrganization>
129
+ <RegisteredOwner>Vagrant</RegisteredOwner>
130
+ </component>
131
+ <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">
132
+ <SkipAutoActivation>true</SkipAutoActivation>
133
+ </component>
134
+ <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">
135
+ <DisableSR>1</DisableSR>
136
+ </component>
137
+ <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">
138
+ <DisableAntiSpyware>true</DisableAntiSpyware>
139
+ </component>
140
+ </settings>
141
+ <settings pass="offlineServicing">
142
+ <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">
143
+ <EnableLUA>false</EnableLUA>
144
+ </component>
145
+ </settings>
146
+ <settings pass="generalize">
147
+ <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">
148
+ <SkipRearm>1</SkipRearm>
149
+ </component>
150
+ </settings>
151
+ <cpi:offlineImage cpi:source="wim:d:/sources/install.wim#Windows 7 PROFESSIONAL" xmlns:cpi="urn:schemas-microsoft-com:cpi" />
152
+ </unattend>
@@ -0,0 +1,171 @@
1
+ You can download a free trial of Windows 7 Enterprise 90-day Trial
2
+
3
+ url: http://technet.microsoft.com/en-us/evalcenter/cc442495.aspx
4
+ file: 7600.16385.090713-1255_x64fre_enterprise_en-us_EVAL_Eval_Enterprise-GRMCENXEVAL_EN_DVD.iso
5
+ md5sum: 1d0d239a252cb53e466d39e752b17c28
6
+
7
+ '''
8
+ PS C:\Users\Administrator> Dism /Get-WIMInfo /WimFile:d:\sources\install.wim
9
+
10
+ Deployment Image Servicing and Management tool
11
+ Version: 6.1.7600.16385
12
+
13
+ Details for image : d:\sources\install.wim
14
+
15
+ Index : 1
16
+ Name : Windows 7 ENTERPRISE
17
+ Description : Windows 7 ENTERPRISE
18
+ Size : 11,913,037,777 bytes
19
+
20
+ The operation completed successfully.
21
+ '''
22
+
23
+
24
+ Though I have also used "Windows 7 7600 AIO.ISO" from MSDN
25
+ * All In One = AIO
26
+ file: Windows 7 7600 AIO.ISO
27
+ md5sum: ace6c61269613bf515fd59c62185bbcf
28
+
29
+
30
+ '''
31
+ PS C:\Users\Administrator> Dism /Get-WIMInfo /WimFile:d:\sources\install.wim
32
+
33
+ Deployment Image Servicing and Management tool
34
+ Version: 6.1.7600.16385
35
+
36
+ Details for image : d:\sources\install.wim
37
+
38
+ Index : 1
39
+ Name : Windows 7 STARTER
40
+ Description : Windows 7 STARTER
41
+ Size : 7,936,340,784 bytes
42
+
43
+ Index : 2
44
+ Name : Windows 7 HOMEBASIC
45
+ Description : Windows 7 HOMEBASIC
46
+ Size : 7,992,394,907 bytes
47
+
48
+ Index : 3
49
+ Name : Windows 7 HOMEPREMIUM
50
+ Description : Windows 7 HOMEPREMIUM
51
+ Size : 8,432,859,356 bytes
52
+
53
+ Index : 4
54
+ Name : Windows 7 PROFESSIONAL
55
+ Description : Windows 7 PROFESSIONAL
56
+ Size : 8,313,318,889 bytes
57
+
58
+ Index : 5
59
+ Name : Windows 7 ULTIMATE
60
+ Description : Windows 7 ULTIMATE
61
+ Size : 8,471,060,645 bytes
62
+
63
+ Index : 6
64
+ Name : Windows 7 Home Basic X64
65
+ Description : Windows 7 HOMEBASIC
66
+ Size : 11,500,789,302 bytes
67
+
68
+ Index : 7
69
+ Name : Windows 7 Home Premium X64
70
+ Description : Windows 7 HOMEPREMIUM
71
+ Size : 12,012,660,212 bytes
72
+
73
+ Index : 8
74
+ Name : Windows 7 Home Professional X64
75
+ Description : Windows 7 PROFESSIONAL
76
+ Size : 11,910,752,928 bytes
77
+
78
+ Index : 9
79
+ Name : Windows 7 Home Ultimate X64
80
+ Description : Windows 7 ULTIMATE
81
+ Size : 12,070,211,908 bytes
82
+
83
+ The operation completed successfully.
84
+ '''
85
+
86
+ - place it in a directory called iso
87
+
88
+ 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.
89
+
90
+ To edit the Autounattend.xml and validate it:
91
+ You can download The Windows® Automated Installation Kit (AIK) for Windows® 7:
92
+ url: http://www.microsoft.com/download/en/details.aspx?id=5753
93
+ file: KB3AIK_EN.iso
94
+ md5sum: 1e73b24a89eceab9d50585b92db5482f
95
+
96
+
97
+
98
+ - Building the machine creates a floppy that contains:
99
+ - AutoUnattend.xml (that will configure the windows)
100
+ - winrm-install.bat (activates the http and https listener + punches the firewall hole)
101
+
102
+ AIK also includes dism, which will allow you to choose a specific version:
103
+
104
+ If you want to install a different version, edit Autoattended.xml and replace the /IMAGE/NAME value with
105
+ one of the names listed in the sources/install.wim on the install DVD .iso
106
+
107
+ # <InstallFrom>
108
+ # <MetaData wcm:action="add">
109
+ # <Key>/IMAGE/NAME</Key>
110
+ # <Value>Windows Server 2008 R2 SERVERSTANDARD</Value>
111
+ # </MetaData>
112
+ # </InstallFrom>
113
+
114
+
115
+ This gets us nearly there, but we still need a winrm provisioner, as I don't like having to install cygwin.
116
+
117
+ Expose the winrm port:
118
+
119
+ <pre>
120
+ $ gem install chef
121
+ $ gem install knife-windows
122
+ #Create a tunnel
123
+ $ ssh -p 7222 -L5985:localhost:5985 vagrant@localhost
124
+ $ knife bootstrap windows winrm localhost -x Administrator -P 'vagrant'
125
+ </pre>
126
+
127
+
128
+ - http://wiki.opscode.com/display/chef/Knife+Windows+Bootstrap
129
+ - https://github.com/opscode/knife-windows/blob/master/lib/chef/knife/bootstrap/windows-shell.erb
130
+
131
+ - https://github.com/zenchild/WinRM
132
+
133
+ - http://devopscloud.net/2011/04/17/managing-chef-from-windows-7/
134
+ - http://devopscloud.net/2011/04/28/powershell-userdata-to-start-a-chef-run/
135
+ - http://devopscloud.net/2011/03/23/dissection-of-a-chef-recipe-or-two-for-windows/
136
+ - https://github.com/pmorton/chef-windows-installer
137
+
138
+ ==
139
+ https://github.com/zenchild/WinRM/issues/unreads#issue/1
140
+ http -> requires unencryptedwinrm quickconfig (said yes to enable firewall)
141
+ winrm p winrm/config/service @{AllowUnencrypted="true"}
142
+ winrm set winrm/config/service/auth @{Basic="true"}netsh advfirewall firewall set rule group="remote administration" new enable=yes
143
+
144
+ - http://forums.citrix.com/thread.jspa?messageID=1535826
145
+ - http://support.microsoft.com/kb/2019527
146
+
147
+ winrm get winrm/config
148
+
149
+ The purpose of configuring WinRM for HTTPS is to encrypt the data being sent across the wire.
150
+
151
+ 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.
152
+
153
+ To install or view certificates for the local computer:
154
+
155
+ - click Start, run, MMC, "File" menu, "Add or Remove Snap-ins" select "Certificates" and click "Add". Go through the wizard selecting "Computer account".
156
+
157
+ - Install or view the certificates under:
158
+ Certificates (Local computer)
159
+ Personal
160
+ Certificates
161
+
162
+ 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
163
+
164
+ Once the certificate is installed type the following to configure WINRM to listen on HTTPS:
165
+
166
+ winrm quickconfig -transport:https
167
+
168
+ 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.
169
+
170
+ winrm quickconfig
171
+
@@ -0,0 +1,41 @@
1
+ # -*- coding: utf-8 -*-
2
+ #video memory size should be at least 32meg for windows 7 to do full screen on my desktop
3
+ # I'm not sure how to set that with veewee::session yet
4
+ Veewee::Session.declare({
5
+ :os_type_id => 'Windows7_64',
6
+ :iso_file => "Windows 7 7600 AIO.ISO",
7
+ :iso_src => "", # Manual download
8
+ :iso_md5 => "",
9
+ :iso_download_timeout => "1000",
10
+
11
+ :cpu_count => '1',
12
+ :memory_size=> '512',
13
+ :disk_size => '20280', :disk_format => 'VDI', :hostiocache => 'off',
14
+
15
+ :floppy_files => [
16
+ "Autounattend.xml",
17
+ "install-winrm.bat",
18
+ "oracle-cert.cer",
19
+ "install-cygwin-sshd.bat"
20
+ ],
21
+
22
+
23
+ :boot_wait => "720", #12 minutes.. should be long enough
24
+ # this is waiting for the screene where we could put in our product key
25
+ # this is the command sequence to bybass it and to not try to register once online
26
+ :boot_cmd_sequence => [
27
+ '<Tab><Spacebar><Tab><Tab><Tab><Spacebar>'
28
+ ],
29
+
30
+ :ssh_login_timeout => "10000",
31
+ # Actively attempt to winrm (no ssh on base windows) in for 10000 seconds
32
+ :ssh_user => "vagrant", :ssh_password => "vagrant", :ssh_key => "",
33
+ :ssh_host_port => "59957", :ssh_guest_port => "22",
34
+ # And run postinstall.sh for up to 10000 seconds
35
+ :postinstall_timeout => "10000",
36
+ :postinstall_files => ["postinstall.sh"],
37
+ # No sudo on windows
38
+ :sudo_cmd => "sh '%f'",
39
+ # Shutdown is different as well
40
+ :shutdown_cmd => "shutdown /p /t 60 /c \"Vagrant Shutdown\" /f /d p:4:1",
41
+ })
@@ -0,0 +1,40 @@
1
+ REM http://webcache.googleusercontent.com/search?q=cache:SjoPPpuQxuoJ:www.tcm.phy.cam.ac.uk/~mr349/cygwin_install.html+install+cygwin+ssh+commandline&cd=2&hl=nl&ct=clnk&gl=be&source=www.google.be
2
+
3
+ REM create the cygwin directory
4
+ cmd /c mkdir %SystemDrive%\cygwin
5
+
6
+ cmd /c bitsadmin /transfer CygwinSetupExe /download /priority normal http://www.cygwin.com/setup.exe %SystemDrive%\cygwin\cygwin-setup.exe
7
+
8
+ REM goto a temp directory
9
+ cd %SystemDrive%\windows\temp
10
+
11
+ REM run the installation
12
+ cmd /c %SystemDrive%\cygwin\cygwin-setup.exe -q -R %SystemDrive%\cygwin -P openssh,openssl,curl,cygrunsrv,wget,rebase,vim -s http://cygwin.mirrors.pair.com
13
+
14
+ %SystemDrive%\cygwin\bin\bash -c 'PATH=/usr/local/bin:/usr/bin:/bin:/usr/X11R6/bin cygrunsrv -R sshd'
15
+
16
+ REM /bin/ash is the right shell for this command
17
+ cmd /c %SystemDrive%\cygwin\bin\ash -c /bin/rebaseall
18
+
19
+ cmd /c %SystemDrive%\cygwin\bin\bash -c 'PATH=/usr/local/bin:/usr/bin:/bin:/usr/X11R6/bin mkgroup -l'>%SystemDrive%\cygwin\etc\group
20
+
21
+ cmd /c %SystemDrive%\cygwin\bin\bash -c 'PATH=/usr/local/bin:/usr/bin:/bin:/usr/X11R6/bin mkpasswd -l'>%SystemDrive%\cygwin\etc\passwd
22
+
23
+ %SystemDrive%\cygwin\usr\bin\sleep 1
24
+
25
+ %SystemDrive%\cygwin\bin\bash -c 'PATH=/usr/local/bin:/usr/bin:/bin:/usr/X11R6/bin /usr/bin/ssh-host-config -y -c "ntsecbinmode tty" -w "abc&&123!!" '
26
+
27
+ %SystemDrive%\cygwin\usr\bin\sleep 2
28
+
29
+ cmd /c if exist %Systemroot%\system32\netsh.exe netsh advfirewall firewall add rule name="SSHD" dir=in action=allow program="c:\cygwin\usr\sbin\sshd.exe" SSHD enable=yes
30
+
31
+ cmd /c if exist %Systemroot%\system32\netsh.exe netsh advfirewall firewall add rule name="ssh" dir=in action=allow protocol=TCP localport=22
32
+
33
+ %SystemDrive%\cygwin\usr\bin\sleep 2
34
+
35
+ net start sshd
36
+
37
+ # Fix corrupt recycle bin
38
+ # http://www.winhelponline.com/blog/fix-corrupted-recycle-bin-windows-7-vista/
39
+ cmd /c rd /s /q c:\$Recycle.bin
40
+
@@ -0,0 +1,14 @@
1
+ cmd /c winrm quickconfig -q
2
+ cmd /c winrm quickconfig -transport:http # needs to be auto no questions asked
3
+ cmd /c winrm set winrm/config @{MaxTimeoutms="1800000"}
4
+ cmd /c winrm set winrm/config/winrs @{MaxMemoryPerShellMB="300"}
5
+ cmd /c winrm set winrm/config/service @{AllowUnencrypted="true"}
6
+ cmd /c winrm set winrm/config/service/auth @{Basic="true"}
7
+ cmd /c winrm set winrm/config/listener?Address=*+Transport=HTTP @{Port="5985"}
8
+ cmd /c netsh advfirewall firewall set rule group="remote administration" new enable=yes
9
+ cmd /c netsh firewall add portopening TCP 5985 "Port 5985"
10
+ cmd /c net stop winrm
11
+ cmd /c net start winrm
12
+
13
+ cmd /c reg add "HKEY_CURRENT_USER\Control Panel\Desktop" /v ScreenSaveActive /t REG_SZ /d 0 /f
14
+ cmd /c reg add "HKEY_CURRENT_USER\Control Panel\Desktop" /v ScreenSaveIsSecure /t REG_SZ /d 0 /f
@@ -0,0 +1,74 @@
1
+ set -x
2
+
3
+ # Create the home directory
4
+ mkdir -p /home/vagrant
5
+ chown vagrant /home/vagrant
6
+ cd /home/vagrant
7
+
8
+ # Install ssh certificates
9
+ mkdir /home/vagrant/.ssh
10
+ chmod 700 /home/vagrant/.ssh
11
+ cd /home/vagrant/.ssh
12
+ wget --no-check-certificate 'https://raw.github.com/mitchellh/vagrant/master/keys/vagrant.pub' -O authorized_keys
13
+ chown -R vagrant /home/vagrant/.ssh
14
+ cd ..
15
+
16
+ # Install rpm,apt-get like code for cygwin
17
+ # http://superuser.com/questions/40545/upgrading-and-installing-packages-through-the-cygwin-command-line
18
+ wget http://apt-cyg.googlecode.com/svn/trunk/apt-cyg
19
+ chmod +x apt-cyg
20
+ mv apt-cyg /usr/local/bin/
21
+
22
+ # 7zip will allow us to extract a file from an ISO
23
+ wget http://downloads.sourceforge.net/sevenzip/7z922-x64.msi
24
+ msiexec /qb /i 7z922-x64.msi
25
+
26
+ # Download Virtualbox Additions
27
+ VBOX_VERSION="4.1.8" #"4.0.8"
28
+ wget http://download.virtualbox.org/virtualbox/$VBOX_VERSION/VBoxGuestAdditions_$VBOX_VERSION.iso
29
+
30
+ # Extract the installer from the ISO (WHY WHY WHY isn't this available not bundled within an ISO)
31
+ /cygdrive/c/Program\ Files/7-Zip/7z.exe x VBoxGuestAdditions_$VBOX_VERSION.iso VBoxWindowsAdditions-amd64.exe
32
+
33
+ # Mark Oracle as a trusted installer
34
+ #http://blogs.msdn.com/b/steverac/archive/2009/07/09/adding-certificates-to-the-local-certificates-store-and-setting-local-policy-using-a-command-line-system-center-updates-publisher-example.aspx
35
+
36
+ certutil -addstore -f "TrustedPublisher" a:oracle-cert.cer
37
+
38
+ # Install the Virtualbox Additions
39
+ ./VBoxWindowsAdditions-amd64.exe /S
40
+
41
+
42
+ #Rather than do the manual install of ruby and chef, just use the opscode msi
43
+ curl -L http://www.opscode.com/chef/install.msi -o chef-client-latest.msi
44
+ msiexec /qb /i chef-client-latest.msi
45
+
46
+
47
+ #http://www.msfn.org/board/topic/105277-howto-create-a-fully-up-to-date-xp-x64-dvd/
48
+
49
+ #Making aliases
50
+ cat <<EOF > /home/vagrant/.bash_profile
51
+ alias chef-client="chef-client.bat"
52
+ alias gem="gem.bat"
53
+ alias ruby="ruby.exe"
54
+ alias puppet="puppet.bat"
55
+ alias ohai="ohai.bat"
56
+ alias irb="irb.bat"
57
+ alias facter="facter.bat"
58
+ EOF
59
+
60
+
61
+ cat <<'EOF' > /bin/sudo
62
+ #!/usr/bin/bash
63
+ exec "$@"
64
+ EOF
65
+ chmod 755 /bin/sudo
66
+
67
+ # Mounting a directory
68
+ net.exe use '\\vboxsvr\veewee-validation'
69
+
70
+
71
+ # Reboot
72
+ # http://www.techrepublic.com/blog/datacenter/restart-windows-server-2003-from-the-command-line/245
73
+ shutdown.exe /s /t 0 /d p:2:4 /c "Vagrant initial reboot"
74
+