Abstract



0000Windows Server 2012 OEM Appliance OOBE Four-Node Cluster Setup GuideKB2769588Microsoft CorporationPublished: April?2013AbstractThis guide describes how to extend the existing OEMOOBE application in Windows Server 2012 and Windows Storage Server 2012 to automate deployment of, and provide support for, a highly-available four-node Storage Server or Hyper-V failover cluster or all-in-one Cluster-in-a-box configuration.Copyright informationThis document is provided “as-is”. Information and views expressed in this document, including URL and other Internet Web site references, may change without notice. Some examples depicted herein are provided for illustration only and are fictitious.? No real association or connection is intended or should be inferred.This document does not provide you with any legal rights to any intellectual property in any Microsoft product. You may copy and use this document for your internal, reference purposes. ? 2013 Microsoft. All rights reserved.Active Directory, Hyper-V, Microsoft, MS-DOS, Visual Basic, Visual Studio, Windows, Windows NT, Windows Server, and Windows Vista are trademarks of the Microsoft group of companies.All other trademarks are property of their respective owners.Contents TOC \o "1-3" \h \z Release Notes PAGEREF _Toc354393600 \h 4New operations PAGEREF _Toc354393601 \h 4Known issues PAGEREF _Toc354393602 \h 5In this release PAGEREF _Toc354393603 \h 6Four-Node Cluster Setup PAGEREF _Toc354393604 \h 6Requirements for all configurations PAGEREF _Toc354393605 \h 6Additional requirements for using a domain controller virtual machine PAGEREF _Toc354393606 \h 6Setup for Using a Domain Controller Virtual Machine PAGEREF _Toc354393607 \h 8Customizing the End-User Installation Experience PAGEREF _Toc354393608 \h 9Appendix A: Registry Entries PAGEREF _Toc354393609 \h 12Appendix B: Installation File Package PAGEREF _Toc354393610 \h 14Appendix C: Sample Setup Script PAGEREF _Toc354393611 \h 16Appendix D: Sample Setup Script for a Domain Controller VM PAGEREF _Toc354393612 \h 19Appendix E: Sample Unattend.xml for the Domain Controller Virtual Machine PAGEREF _Toc354393613 \h 21Appendix F: Sample Unattend.xml for Use in the Cluster Nodes PAGEREF _Toc354393614 \h 22IntroductionThis guide describes how to create an OS image to enable end-users to rapidly deploy a new highly-available (HA) four-node cluster. This new update extends the current OEM Appliance OOBE process and the Initial Configuration Tasks (ICT) application for Windows Server 2012 or Windows Storage Server 2012 to support 4-node clusters and a new wizard to enable the creation of a domain controller for use in the cluster. Such a deployed configuration may be referred to as a Cluster-in-a-Box, also known as CiB. Upgrade of an existing 2-node cluster to a 4-node cluster is not supported.The original ICT offers a customizable cluster setup deployment that enables quick configuration of single-node or highly available (HA) 2-node clusters. However, the demands have increased for larger cluster appliances with more than two nodes, additional cluster server roles, highly available Hyper-V clusters that include self-contained domain controllers. The ICT uses the OEMOOBE.xml file to display an OEM-customized task list in the UI. In this release, this file was updated to display the new Create virtual switches for Hyper-V task and adds support for a new dynamic task list that creates tasks for however many nodes are supported in the configuration.Deploying a four-node configuration requires several new steps. If you plan to enable your customers to deploy a domain controller virtual machine, you will also prepare a Hyper-V virtual machine virtual hard disk (VHD) and copy it to each node. End users will have the option to create a domain controller using Hyper-V and then migrate the domain controller virtual machine into the shared storage of the failover cluster through the ICT after the cluster is created. One volume will be selected by the end user to be converted to a CSV volume for hosting the VHD.Note The procedures described in this guide leverage existing scripts and tools provided in Windows Server 2012. For in-depth documentation, including how to customize the Initial Configuration Tasks (ICT) application, see Windows Storage Server 2012: Planning and Deployment ().Release NotesThis is the RTM release of the OEM Appliance OOBE, and it can be distributed to end users in new appliances. This update includes new code to support a four-node cluster, and new and updated wizards for deploying a domain controller in a highly available (HA) Hyper-V virtual machine. New operationsNode discovery can detect and record IP addresses of all the nodes in the cluster and record them in the Windows registry on the primary node. The Welcome UI automation has been updated to include automating the process of initial setup screens for all nodes of the cluster.The OEM-customizable WPF launch-pad application, Initial Configuration Tasks (ICT), contains a new index-based task control for configuring multi-node clusters.A new Create virtual switches for Hyper-V task can be used to prepare the cluster for hosting a highly-available (HA) Hyper-V domain controller virtual machine. This task can be used to support first-server deployments or deployments in which no domain controller is available for use with the cluster. ImportantWhen using the Windows Server 2012 Standard operating system or the Windows Server 2012 Datacenter operating system, a domain controller virtual machine can be used with the same operating system binaries. When using Windows Storage Server, a separate license must be obtained to use Windows Server Embedded or other appropriate operating system in the domain controller virtual machine.The Provide Cluster Name and Domain Wizard asks the user whether they want to use an existing domain controller or create a new domain controller virtual machine.Known issuesIf users create a new cluster and quickly select the Cluster Aware Updating (CAU) task, the cluster name might not be completely registered in the new domain controller’s DNS, and CAU will fail with an error indicating that it could not find the cluster. If users wait a few minutes, they can launch the CAU task link and continue. Microsoft is testing a solution that would set the CAU task in the OEMOOBE.XML to use the fully qualified domain name (FQDN) instead of just the cluster name. When a solution is available, it will be documented via a sample script that will be available on the Storage Team's File Cabinet Blog ().The OEM OOBE design relies on an internal network adapter on each node, which is connected via a private network and uses automatically generated link-local IP addresses. If users change the IP addresses of the private network adapters before joining the domain, the ICT will lose its connection to the remote nodes, and it will disable all tasks while it waits for the missing nodes to come back. To avoid this issue, you can update the script in the OEMOOBE.PS1 file to allow users to enter new IP addresses using the Connect to remote nodes link after the user experiences a 4-minute timeout. A?sample script will be available on the Storage Team's File Cabinet Blog (). Your OEM documentation should let users know that this operation will time out after 4 minutes. To avoid this issue, end users can leave the internal network adapters with their auto-generated link-local IP addresses until after joining the servers to the domain, at which point, the ICT will use the hostname of the servers for connectivity and not the IP address.The Prepare Cluster and Domain Wizard might fail to perform IP address validation if a previous attempt was canceled with the error message "Pipelines cannot be run concurrently." To resolve the issue, simply restart the wizard.Customers who use the Prepare Cluster and Domain Wizard, and provide an unused IPv6 static address for the domain controller virtual machine, might receive a Warning status message during the applying operations phase of the Configure domain controller task. They can ignore the warning; the cluster will still be created.When deploying into an IPv6-only environment, IPv4 networking must be enabled in the OEM image during deployment in order for the OOBE to deploy correctly. The internal private network discovery operations support IPv4 only. After the system starts, users can change the IP settings as desired.If you are using the ICT to configure the operating system image, and you need to restart the system to run a final Sysprep command, the ICT will load automatically after the system restarts. Depending on the timing of the Sysprep command, you may see an error in ICT. You can ignore the error.In this releaseWindows8-RT-KB2769588-x64.msu, which you can download at Server 2012 OEM Appliance OOBE Four-Node Cluster Setup Guide (this manual)Four-Node Cluster SetupFour-node cluster setup involves using the Initial Configuration Tasks (ICT) application on the primary node. Administrative credentials are required. Several requirements must first be met before setup can begin.Requirements for all configurationsComplete the following requirements for any four-node setup:Ensure that all nodes have identical hardware and software.See Appendix C for a sample setup script for a 4-node configuration. The setup script configures typical roles and settings, including: setting the Windows registry key for number of remote nodes to 3 (for a 4-node cluster); enabling WinRM and Windows PowerShell remoting; and installing the Failover Cluster role on each node. Remove unneeded tasks from the ICT. For example, you can remove the Creating Hyper-V switches and Domain Controller tasks from the ICT if you are not offering that experience (by removing the ShowDCVMWizardPages registry entry). You should also update the OEMOOBE.XML to remove other unnecessary tasks, such as the Create a storage pool link and the Create disks and volumes link if you are not using Storage Spaces or an SMP based or SMIS based storage array that supports pooling.For more information about how to customize and extend the OOBE, see Windows Storage Server 2012: Planning and Deployment ().Additional requirements for using a domain controller virtual machineIf you plan to allow end users to select options in the ICT to deploy a highly available domain controller virtual machine in their environment, complete the following requirements:Enable the Virtualization feature in BIOS or UEFI on each node.Prepare a virtual hard disk (VHD or VHDx) with Hyper-V to be used during the domain controller virtual machine setup. For preparation instructions, see Setup for Using a Domain Controller Virtual Machine.To enable the Domain Controller Creation Wizard to create the domain controller virtual machine, complete the configuration settings for the host servers. See Appendix C for a sample script that applies these settings, including the installation of Hyper-V, Remote Server Administration Tools (RSAT), and Active Directory command-line tools.For information about how to add these server roles and features, see Windows Storage Server 2012: Planning and Deployment ().Add appropriate registry entries to the virtual machine image. For more information, see Appendix A: Registry Entries, and Appendix D: Sample Setup Script for a Domain Controller VM, which will enable typical settings, including: DcVhdLocation - Indicates the location of the domain controller VHD file.DcVmStartupRAMinMB – Sets the RAM available for the domain controller at startup. A domain controller virtual machine must have at least 2048 MB of RAM.In the host master image, copy your EULA license files for the domain controller virtual machine to Windows\System32\OEMOOBE\Licenses\<language code>\license.rtf, where <language code> is a 4-character Windows language specification, such as “en-US” for “English-United States.” This is case-sensitive. A license file must be included for each language in which the appliance will be distributed. The license file must correspond to the Windows Server 2012 edition being used in the virtual machine.Use the following language codes for the folder names: LanguageCodeCzechcs-CZGermande-DEEnglishen-USSpanishes-ESFrenchfr-FRHungarianhu-HUItalianit-ITJapaneseja-JPKoreanko-KRDutchnl-NLPolishpl-PLBrazilian Portuguesept-BRRussianru-RUSwedishsv-SETurkishtr-TRChinese-Simplifiedzh-CNChinese-Hong Kongzh-HKChinese-Traditionalzh-TWIn the NIC.config file, use the isDomainPublic parameter to specify the public network adapter that is used to connect to the domain controller virtual machine. In the NIC.config sample below, isDomainPublic is set to true for the “Green” network adapter, indicating that network adapter is exposed to the public network for the domain controller virtual machine on each node.<?xml version="1.0" encoding="utf-8" ?><configuration> <language id=""> <nic id="PCI bus 100, device 0, function 0" name="Red/Internal" isClusterPrivate="true" /> <nic id="PCI bus 101, device 0, function 0" name="Green/Public" isDomainPublic="true"/> </language>Setup for Using a Domain Controller Virtual MachineFor the end user to be able to create a highly-available (HA) Hyper-V failover cluster, their environment must have an Active Directory Domain Services (AD?DS) domain controller. The following setup enables end users who do not already have a domain controller available to create a new highly available Hyper-V virtual machine to serve as their domain controller by using tasks in the ICT.To set this up, you will create a domain controller virtual machine and copy the VHD to each node. During setup, the end user will migrate the domain controller virtual machine into the new Hyper-V failover cluster that is created. From the ICT, the end user will be able to define virtual network adapters for the cluster nodes (using the Create Virtual Switches for Hyper-V Wizard), provide names for the cluster and domain (using the Cluster Name and Domain Wizard), and then create a failover cluster for the domain controller virtual machine (using the Setup Cluster Wizard).The Setup Cluster Wizard migrates the domain controller from local storage on the primary node to shared storage in the cluster using Cluster Shared Volumes (CSV). The user specifies which volume they want to use for shared storage for the domain controller virtual machine. The wizard then installs CSV on the volume to enable live migration of the virtual machine across the cluster. Finally, the wizard migrates the domain controller virtual machine into the cluster.NoteIf the domain controller virtual machine is not created successfully, the end user must manually create and configure a domain controller or use an existing domain controller. To create a domain controller virtual machine for end usersInstall the edition of Windows Server 2012 that you plan to use in the virtual machine (Windows Server 2012 Standard, Windows Server 2012 Datacenter, or Windows Server 2012 Embedded).Install all language packs that are supported by the cluster hosts.In the following steps, you will copy files into the virtual machine. The simplest way is to copy the files from a network share to the running virtual machine. If no network is available, shut down the virtual machine, and mount the virtual hard disk by double-clicking the DCVM.vhdx file.Create a temporary folder on the virtual hard disk, and copy the InstallVHD.bat, Unattend.xml, and Windows8-RT-KB2769588-x64.msu files to the temporary folder.If you copied the files to the virtual machine over a network, proceed to step 6. Otherwise, dismount the virtual hard disk, restart the virtual machine, and log on to Windows as a local administrator. Run InstallVHD.bat with administrative credentials.NoteSee Appendix D for a sample setup script to configure the domain controller virtual machine. See Appendix E for a sample Unattend.xml file that can be used for the domain controller virtual machine.Shut down the virtual machine.To ensure that the DCVM.vhdx file is on the same path on each node, you can either copy the DC-VM.vhdx file to the local operating system storage disks on each of the other nodes, using the same folder structure on each node, or just include the DCVM.vhdx file in the master image that will be deployed.Customizing the End-User Installation Experience To support more than two cluster nodes, the dynamicTaskList element is used in the OEMOOBE.xml file. DynamicTaskList is a child element of the taskGroup element, and is the container of a list of Task objects, which can be modified dynamically by Windows PowerShell scripts at runtime. The dynamicTaskList element has the following attributes: <dynamicTaskList numberOfTasks=””d titleList="" imageList="" visibleList="" enabledList="" commandList="" propertiesList="" />The following table describes each attribute. The numberOfTasks, titleList, imageList, and commandList attributes are required.AttributeData TypeDescriptionRequirednumberOfTasksThe total number of tasks to be listed.The value is a Windows PowerShell script. The result specifies the number of tasks the ICT task list window displays. The value must be an integer greater or equal to zero. It should equal the number of remote nodes.YestitleListList<string>Lists the title of each task.YesimageListList<string>Lists the name and path of the image (icon) to be displayed for each task. The path can contain system environment variables.YesvisibleListList<bool>Lists the value of the Visible property for each task.YesenabledListList<bool>Lists the value of the Enable property for each task.NocommandListList<string>Lists Windows PowerShell cmdlets, scripts, native applications, executable files, and other files available to the Windows PowerShell runspace through the pipeline for each task.NopropertiesListList<ArrayList>List of System.Collections.ArrayList lists. Each ArrayList contains a list of hash tables - in this format: @{<name>=<value>} - for each task.NoThe following code sample shows a dynamicTaskList element. <dynamicTaskList numberOfTasks="$global:g_expectedNumberOfRemoteNodes" titleList="$global:g_networkTaskTitleList|ToArray" imageList="'Images\ConfigureNetworkingTask.ico'|ToArray" visibleList="$true|ToArray" enabledList="(!$global:g_disabledAllTasks)|ToArray" commandList="$global:g_networkTaskCommandList|ToArray" propertiesList="$global:g_remoteNetworkAdapterList|ToArray"/>When the ICT renders the code, the number of tasks that are displayed depends on the number of nodes that were configured. In this example, iSCSI configuration tasks for nodes 2, 3, and 4 are created from the dynamic task list entry, as shown in the following illustration.Appendix A: Registry EntriesThis appendix describes the registry entries that are used by the four-node cluster setup and the domain controller virtual machine setup for the Windows Server 2012 OEM appliance OOBE. All of these registry entries are on the following registry path:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\OEMOOBENoteTo view sample setup scripts that set registry entries for a basic configuration and a domain controller virtual machine, see Appendix C: Sample Setup Script and Appendix D: Sample Setup Script for a Domain Controller VM.Registry entries added during setupThe following registry entries are added during the OEMOOBE setup based on values the user enters.Registry EntryDescriptionRemoteNodeIpAddressesLists the private IP addresses for all remote nodes.RemoteNodeNamesLists the names for all remote nodes.DcRootDomainNameThe name of the Active Directory Domain Services root domain, which the end user provides.DcVmNameThe name of the virtual machine. Setup uses the computer name that the end user assigns.DcVmIdThe virtual machine IDs, which Hyper-V Manager provides.Optional registry entriesAdd the following registry entries to the system image to match your desired configuration.Registry EntryDescriptionExpectedNumOfRemoteNodesThe number of remote nodes to expect during discovery. The value can be any number greater than or equal to 1. The default value, 1, assumes a two-node cluster configuration.Important For a 4-node cluster, you must set this value to 3. If no value is present, a value of 1 is assumed. To set the value, enter the following:reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\OEMOOBE" /V ExpectedNumOfRemoteNodes /t REG_SZ /d 3PasswordThe default password specified in an Unattend.xml file.RunDiscoveryA value of 1 causes the system to run discovery to find the other nodes of the cluster.UIDefinitionFileThe path to the OEMOOBE.xml file. The path can contain system environment variables.AllowSkipClustervalidationAllows the user to click continue without running cluster validation in the Create Cluster Wizard.AllowSkipClustervalidationPageRemoves the page on which cluster validation occurs from the Create Cluster Wizard.JoinDomainRetryLimitThe maximum number of times to retry adding a cluster node to the domain.JoinDomainRetryIntervalInSecThe maximum number of seconds to wait before each retry.Registry entries for a domain controller virtual machineThe following registry entries are required if you are using an HA Hyper-V virtual machine to host your domain controller.Registry EntryDescriptionDcVmNumOfCPUsThe number of virtual CPUs assigned to the domain controller virtual machine. Default value is 1.DcVmStartupRAMinMBThe amount of RAM (in MBs) assigned to the domain controller virtual machine. Default value is 2048.DcSysPrepTimeInSecThe maximum time (in seconds) to wait for domain controller virtual machine initialization to complete before the first restart attempt. Default value is 600.DcVmStartMaxRetriesThe maximum number of restart attempts to make for the domain controller virtual machine. Default value is 10.DcVmStartRetryIntervalInSecondsThe number of seconds to wait between restart attempts for the domain controller virtual machine. Default value is 30.DcVhdLocationThe path to the VHD and the filename that will be used for the domain controller virtual machine. This is a relative path that can include system environment variables – for example, %SystemDrive%\DCVM\DCVM.vhdx.Appendix B: Installation File PackageThe OEM Appliance OOBE four-node cluster update installation package includes the following files.%Windir%\System32\OEMOOBE\ folderCreatePool.exeCreateVirtualDisk.exeHyperVEnablement.exeHyperVEnablement.exe.configmsoobe.txtmsoobe_oem.exemsoobe_oem.exe.configmsoobe_oemoobe_common.txtNic.configNicConfig.ps1OEMOOBE.en.resxOemOobe.exeOemOobe.exe.configOEMOOBE.ps1OEMOOBE.psd1OEMOOBE.resxoemoobe.txtOEMOOBE.xmloobediscoveryservice.exeoobediscoveryservice.exe.confiPostDiscovery.ps1PreDiscovery.ps1PrepareCluster.exePrepareCluster.exe.configProvisionStorage.txtProvisionVolume.exePublicNICIdentifier.ps1RenameNetworkConnection.ps1ServerCeipOptinDlg.exeServerCeipOptinDlg.exe.configServerWerOptinDlg.exeServerWerOptinDlg.exe.config%Windir%\System32\OEMOOBE\en\ folderHyperVEnablement.resources.dllmsoobe_oem.resources.dllOEMOOBE.psd1OemOobe.resources.dllPrepareCluster.resources.dll%Windir%\System32\OEMOOBE\Images folderActivateWindows.icoComputerNameTask.icoConfigureCEIPTask.icoConfigureClusterAwareUpdatingTask.icoConfigureNetworkingTask.icoConfigureWERTask.icoConfigureWindowsUpdateTask.icoCreateCluster.icoDateTimeTask.icoDCEnablementTask.icoHyperVEnablementTask.icoOobeHeader.icoPrepareCluster.icoProvisionStorage.icowindowIcon.icoAppendix C: Sample Setup ScriptThe following is a sample script that can be used to test the OEM OOBE process. Validate each command for applicability to your desired configuration.InstallNode.batrem @echo offsetlocal REM =========================================================================REM Microsoft Copyright ? 2012. All rights reservedREM This script is used to prepare a cluster node for OEM OOBE setup.REM Copy license.rtf, customerunattend.xml, Windows8-RT-KB2769588-x64.msu and nic.config files to c:\staging.REM If you are enabling a domain controller virtual machine, add the c:\DCVM\DcVm.vhdx file to each node.REM =========================================================================REM ***Enable WinRM***powershell.exe;powershell.exe -command {Set-WSManQuickConfig -Force}REM ***Enable Windows PowerShell remoting***powershell.exe;powershell.exe -command {Set-ExecutionPolicy RemoteSigned}REM ***Install Hyper-V***powershell.exe;powershell.exe -command {Import-Module ServerManager; Add-WindowsFeature Hyper-V -IncludeAllSubFeature -IncludeManagementTools}echo %errorlevel%echo Hyper-V feature install completeREM *** Add RSAT tools***powershell.exe;powershell.exe -command {Import-Module ServerManager; Add-WindowsFeature RSAT-ADDS-Tools -IncludeAllSubFeature -IncludeManagementTools}echo %errorlevel%echo RSAT-ADDS-Tools feature install completeREM ***Install Failover Clustering***powershell.exe;powershell.exe -command {Import-Module ServerManager; Add-WindowsFeature Failover-Clustering -IncludeManagementTools}echo %errorlevel%echo Failover clustering feature install completeREM ***Install File Services***powershell.exe;powershell.exe -command {Add-WindowsFeature File-Services}echo %errorlevel%echo File-Services feature install completeREM ***Set registry entries for the 4-node OOBE and to show domain controller VM wizard pages***reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\OEMOOBE" /f /V DcSysPrepTimeInSec /t REG_DWORD /d 600reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\OEMOOBE" /f /V DcVhdLocation /t REG_EXPAND_SZ /d %SystemDrive%\VHD\DCVM.vhdxreg add "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\OEMOOBE" /f /V DcVmNumOfCpus /t REG_DWORD /d 2reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\OEMOOBE" /f /V DcVmStartMaxRetries /t REG_DWORD /d 5reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\OEMOOBE" /f /V DcVmStartRetryIntervalInSeconds /t REG_DWORD /d 30reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\OEMOOBE" /f /V DcVmStartupRAMInMb /t REG_DWORD /d 2048reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\OEMOOBE" /f /V ExpectedNumOfRemoteNodes /t REG_SZ /d 1reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\OEMOOBE" /f /V Password /t REG_SZ /d abc_123!reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\OEMOOBE" /f /V RunDiscovery /t REG_SZ /d 1reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\OEMOOBE" /f /V UIDefinitionFile /t REG_EXPAND_SZ /d %windir%\system32\oemoobe\OEMOOBE.xmlreg add "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\OEMOOBE" /f /V ShowDCVMWizardPages /t REG_DWORD /d 1rem reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\OEMOOBE" /f /V AllowSkipClustervalidation /t REG_DWORD /d 1rem reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\OEMOOBE" /f /V AllowSkipClustervalidationPage /t REG_DWORD /d 1REM ***Install Remote Desktop and enable Windows XP clients***netsh advfirewall firewall set rule group="remote desktop" new enable=Yesreg add "HKLM\System\CurrentControlSet\Control\Terminal Server" /v fDenyTSConnections /t REG_DWORD /d 0 /freg add "HKLM\System\ControlSet001\Control\Terminal Server\WinStations\RDP-TCP" /v UserAuthentication /t REG_DWORD /d 0 /fREM *** Install OEM-Appliance-OOBE and Multipathing***dism /online /enable-feature /featurename:OEM-Appliance-OOBEdism /online /enable-feature /featurename:MultipathIoREM ***Install the OEM-Appliance-OOBE***dism /online /enable-feature /featurename:OEM-Appliance-OOBEREM ***Install the Windows KB***wusa.exe /quiet c:\staging\Windows8-RT-KB2769588-x64.msuREM ***Copy the DCVM EULA into the OEMOOBE folder. (You need one license for each supported language.)***copy c:\staging\license.rtf %windir%\System32\oemoobe\licenses\en-us\license.rtfREM ***Copy the final Unattend.xml file into the Sysprep folder.***copy c:\staging\CustomerUnattend.xml %windir%\System32\sysprep\Unattend.xmlREM ***Replace OEMOOBE\NIC.Config with one that corresponds to your network ports***REM ***Verify that the NIC.Config settings match your network adapters PCI bus location***takeown /f c:\windows\system32\oemoobe\Nic.configicacls c:\windows\system32\oemoobe\nic.config /grant administrators:fren c:\windows\system32\oemoobe\nic.config nic.config.oldcopy c:\staging\nic.config c:\windows\system32\oemoobeshutdown -r -t 0REM ***The final steps run Sysprep, shut down, boot into WinPE, and capture your image partition***sysprep.bat%windir%\System32\Sysprep\sysprep.exe /oobe /generalize /shutdown /unattend:%windir%\System32\Sysprep\unattend.xmlAppendix D: Sample Setup Script for a Domain Controller VMInstallVHD.batREM ***Enable WinRM***powershell.exe;powershell.exe -command {Set-WSManQuickConfig -Force}REM ***Enable Windows PowerShell remoting***powershell.exe;powershell.exe -command {Set-ExecutionPolicy RemoteSigned}REM ***Install the ADDS and DNS roles***powershell.exe;powershell.exe -command {Install-WindowsFeature AD-Domain-Services, DNS -IncludeAllSubFeature -IncludeManagementTools}REM ***Update registry keys for automatic discovery***reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\OEMOOBE" /V ExpectedNumOfRemoteNodes /t REG_SZ /d 0reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\OEMOOBE" /V Password /t REG_SZ /d abc_123!reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\OEMOOBE" /V RunDiscovery /t REG_SZ /d 1reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\OEMOOBE" /V UIDefinitionFile /t REG_EXPAND_SZ /d %windir%\system32\oemoobe\OEMOOBE.xmlREM ***Install Remote Desktop***netsh advfirewall firewall set rule group="remote desktop" new enable=Yesreg add "HKLM\System\CurrentControlSet\Control\Terminal Server" /v fDenyTSConnections /t REG_DWORD /d 0 /freg add "HKLM\System\ControlSet001\Control\Terminal Server\WinStations\RDP-TCP" /v UserAuthentication /t REG_DWORD /d 0 /fREM ***Install the OEM-Appliance-OOBE***dism /online /enable-feature /featurename:OEM-Appliance-OOBEREM ***Install the Windows KB***wusa.exe /quiet c:\Staging\Windows8-RT-KB2769588-x64.msucopy unattend.xml c:\windows\system32\sysprep%windir%\System32\Sysprep\sysprep.exe /oobe /generalize /shutdown /unattend:c:\windows\system32\sysprep\unattend.xmlrem exitAppendix E: Sample Unattend.xml for the Domain Controller Virtual MachineThe following is a sample Unattend.xml file for a domain controller virtual machine.<?xml version="1.0" encoding="utf-8"?><unattend xmlns="urn:schemas-microsoft-com:unattend"> <settings pass="windowsPE"> <component name="Microsoft-Windows-Setup" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="" xmlns:xsi=""> </component> </settings> <settings pass="oobeSystem"> <component name="Microsoft-Windows-Shell-Setup" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="" xmlns:xsi=""> <UserAccounts> <AdministratorPassword> <Value>abc_123!</Value> <PlainText>True</PlainText> </AdministratorPassword> </UserAccounts> <AutoLogon> <Password> <Value>abc_123!</Value> <PlainText>True</PlainText> </Password> <Enabled>true</Enabled> <Username>Administrator</Username> <LogonCount>1</LogonCount> </AutoLogon> <FirstLogonCommands> </FirstLogonCommands> </component> </settings></unattend>Appendix F: Sample Unattend.xml for Use in the Cluster NodesThe following is a sample Unattend.XML file for use in cluster nodes.<?xml version="1.0" encoding="utf-8"?><unattend xmlns="urn:schemas-microsoft-com:unattend" xmlns:wcm=""> <settings pass="windowsPE"> <component name="Microsoft-Windows-Setup" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="" xmlns:xsi=""> </component> </settings> <settings pass="oobeSystem"> <component name="Microsoft-Windows-Shell-Setup" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="" xmlns:xsi=""> <UserAccounts> <AdministratorPassword> <Value>abc_123!</Value> <PlainText>True</PlainText> </AdministratorPassword> </UserAccounts> <AutoLogon> <Password> <Value>abc_123!</Value> <PlainText>True</PlainText> </Password> <Enabled>true</Enabled> <Username>Administrator</Username> <LogonCount>1</LogonCount> </AutoLogon> <FirstLogonCommands> <SynchronousCommand> <Order>1</Order> <CommandLine>C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe c:\windows\system32\oemoobe\renamenetworkconnection.ps1;</CommandLine> <Description>Rename NICs</Description> </SynchronousCommand> </FirstLogonCommands> </component> </settings><settings pass="specialize"> <component name="Microsoft-Windows-Shell-Setup" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" processorArchitecture="AMD64"> <ProductKey>XXXXX-XXXXX-XXXXX-XXXXX-XXXXX</ProductKey> <Replace XXXXX-XXXXX-XXXXX-XXXXX-XXXXX with valid product key, or use the OEM?activation process.> </component></settings></unattend> ................
................

In order to avoid copyright disputes, this page is only a partial summary.

Google Online Preview   Download