Добавление файлов Unattended.xml в Hyper-V Powershell Creation?

На данный момент у меня есть подготовка скриптов Powershell 3.0 и создание серверов. Что я хочу сделать, это добавить Unattended.xml, чтобы продвинуться на шаг дальше (поэтому мне не нужно заходить и нажимать "Далее" / "Выбрать диск / и т. Д.")+ Для установки Windows. Как мне поступить? этот?

Сценарий работает отлично, я просто хочу иметь возможность автоматизировать все это. Я могу прочитать файлы unattended.xml, но я в основном обеспокоен тем, КАК вставить его в этот скрипт, я читал о подключении дискеты к unattended.xml, но я не совсем уверен.

#Variables
$VHDBool = 1 #Bool asking for a Non-VHD Linked VM

#Ask for Name of VM
$VMNAME = Read-Host "Enter the Name of the Server You would Like to Set up: "

#Ask for Memory Requirements of VM
[int64]$VMMEMpre = Read-Host "Ok now Enter the Memory in GB you would like to allocate: (Press [Enter] for 512MB)"
if ($VMMEMpre -eq ""){$VMMEM=512MB} ; if ($VMMEMpre -eq $NULL) {$VMMEM=512MB}
[int64]$MEMALL = 1073741824
[int64]$VMMEM = $VMMEMpre * $MEMALL

#Ask for Boot Device for VM, Should be left to CD for ISO's
$VMBOOT = Read-Host "Select a Boot Device (CD, Floppy, LegacyNetworkAdapter, and IDE), Default is CD: "
if ($VMBOOT -eq ""){$VMBOOT="CD"} ; if ($VMBOOT -eq $NULL){$VMBOOT="CD"}

#Ask for path to VM File Storage
$VMSTO = Read-Host "Enter Directory to Store new Files: (c:\storage for example, Default is c:\VMfiles)"
if ($VMSTO -eq ""){$VMSTO="c:\VMfiles"} ; if ($VMSTO -eq $NULL){$VMSTO="c:\VMfiles"}

#Ask For path to store VHDX File, or NO to not link one
$VHDXLOC = Read-Host "Enter the Path to Store your VHDX File: (c:\base.vhdx for example or enter NO for NO VHD)"
if ($VHDXLOC -eq "NO") {$VHDBOOL = 0}

#Ask for HD Space (If applicable) for VHD
if ($VHDXLOC -ne "NO"){
[int64]$VMHDpre = Read-Host "Enter The Amount of Hard Disk Space you would like allocated to the VM: (Default is 40GB)"
if ($VMHDpre -eq ""){$VMHD=40GB} ; if ($VMHDpre -eq $NULL) {$VMHD=40GB}
}
[int64]$VMHD = $VMHDpre * $MEMALL

#Creates VM (With VHDX)
if ($VHDBOOL -eq 1){
New-VM -Name $VMNAME -MemoryStartupBytes $VMMEM -BootDevice $VMBOOT -path $VMSTO -NewVHDSizeBytes $VMHD –NewVHDPath $VHDXLOC}
#Creates VM (Without VHDX)
if ($VHDBOOL -eq 0){
New-VM -Name $VMNAME -MemoryStartupBytes $VMMEM -BootDevice $VMBOOT -path $VMSTO –NoVHD}

#Ask for Location of ISO
$ISOLOC = Read-Host "Enter the Location of the ISO you would Like to Install: (c:\ISOFILE\Windows_NAME.iso)"

#Installs ISO Via Location
Set-VMDvdDrive -VMName $VMNAME -Path $ISOLOC

#Start the Server
Start-VM -Name $VMNAME

3 ответа

Решение

Я думаю, что было бы проще создать VHD и VM отдельно. Затем, перед загрузкой виртуальной машины, смонтируйте виртуальный жесткий диск и поместите в него файл unattend.xml. (Mount-vhd - это требуемый командлет.) Затем отключите виртуальный жесткий диск и подключите его к виртуальной машине в качестве последней части создания виртуальной машины.

Вы можете сделать то же самое с образом виртуальной дискеты, но это немного сложнее, так как для этого нет опции локального монтирования, и потому что это просто увеличивает количество образов виртуальных дисков, с которыми вы имеете дело.

После того, как вы поместили файл автоматической установки на виртуальный жесткий диск, вы можете отключить виртуальный жесткий диск с помощью командлета dismount-vhd. Затем подключите его к виртуальной машине, которую вы создали с помощью командлета add-vmharddiskdrive.

Ответ, который я использовал на этот вопрос, - это скрипт, который я нашел для создания файлов ISO. Когда я подключал виртуальный жесткий диск с unattend.xml к виртуальной машине, он не использовал его. Когда я добавляю 2-ой DVD к VM, это берет это просто отлично.

Идея проекта, над которым я работаю, состоит в том, чтобы начать с чистого листа, флешки с Hyper-V 2012, Win2012, моего скрипта и файла config.xml.

Сценарий извлекает конфигурацию виртуальной машины из XML, создает первую, вставляет команды firstlogon на основе имени хоста и затем переходит к следующей виртуальной машине. Я выпущу его на TechNet, как только закончу, но сценарий создания ISO не мой. Если вы посмотрите на TechNet под моим именем, я связал его там.

Вы можете вручную создать новый дисковод гибких дисков на установленной виртуальной машине, он будет отображаться как диск A: внутри виртуальной машины. Затем вы можете войти в виртуальную машину, отформатировать диск A: и поместить свой unattended.xml там, в корневую папку. После этого вы можете просто отключить виртуальную дискету.

Позже вы можете вставить эту дискету во вновь созданную виртуальную машину, используя командлет Set-VMFloppyDiskDrive и ISO с ОС. ОС автоматически выберет конфигурацию с дискеты.

Другие вопросы по тегам