Hyper-V Virtuelle Maschine per Script erstellen; mein Lösungsansatz
- Holgi
- Guru
- Beiträge: 3083
- Registriert: 12.05.2018, 12:33
- Hat sich bedankt: 390 Mal
- Danke erhalten: 503 Mal
- Gender:
Re: Hyper-V Virtuelle Maschine per Script erstellen; mein Lösungsansatz
was denn nun?g-force hat geschrieben: 02.03.2023, 08:11 Hier habe ich wohl noch einen Fehler drin, es wird keine ISO erstellt in "%ISO%":
Ich dachte, du brauchst den ISO Erstellungsteil nicht, weil du bereits eine fertige ISO (von NTLite erzeugt?) nutzt:
Dann benötigst du dieses ISO Erstellungszeug doch gar nicht.Ja, wie gewohnt habe ich eine fertige ISO im Verzeichnis "C:\NTLITE\ISO" liegen.
Oder möchtest du jetzt doch (nur) die "Press any Key" Geschichte von mir übernehmen?
bitte noch mal das Problem erläutern.
Zuletzt geändert von Holgi am 02.03.2023, 08:45, insgesamt 1-mal geändert.
PDF24 angepasste Installation (nur PDF Druckertreiber) per Script: viewtopic.php?t=30284
Winget (Desktop App Installer) für Windows Versionen ohne Store installieren (HowTo): viewtopic.php?t=26214
Vorstellung: tiny11builder; Script zur Verschlankung von Windows 11: viewtopic.php?t=30134
Windows StartMenü Empfohlen (Recommended Section) komplett ausblenden: viewtopic.php?t=30574
Hyper-V VM per Script erstellen viewtopic.php?t=25114
Winget (Desktop App Installer) für Windows Versionen ohne Store installieren (HowTo): viewtopic.php?t=26214
Vorstellung: tiny11builder; Script zur Verschlankung von Windows 11: viewtopic.php?t=30134
Windows StartMenü Empfohlen (Recommended Section) komplett ausblenden: viewtopic.php?t=30574
Hyper-V VM per Script erstellen viewtopic.php?t=25114
- Holgi
- Guru
- Beiträge: 3083
- Registriert: 12.05.2018, 12:33
- Hat sich bedankt: 390 Mal
- Danke erhalten: 503 Mal
- Gender:
Re: Hyper-V Virtuelle Maschine per Script erstellen; mein Lösungsansatz
ein unabhängiges Script nur für die Änderung der ISO um "press any key" loszuwerden sehe so aus:
dann anschließend alles wieder in eine ISO verpacken.
Code: Alles auswählen
@Echo off
set /p ISO="Pfad zu den Windows Installationsdateien (z.B. C:\ISO VI): "
echo.
if exist "%ISO%\efi\microsoft\boot\cdboot-prompt.efi" goto end
Ren "%ISO%\efi\microsoft\boot\cdboot.efi" cdboot-prompt.efi
Ren "%ISO%\efi\microsoft\boot\cdboot_noprompt.efi" cdboot.efi
Ren "%ISO%\efi\microsoft\boot\efisys.bin" efisys_prompt.bin
Ren "%ISO%\efi\microsoft\boot\efisys_noprompt.bin" efisys.bin
goto final
:end
Echo keine Dateien zum umbenennen vorhanden
:final
pause
Zuletzt geändert von Holgi am 02.03.2023, 08:58, insgesamt 1-mal geändert.
PDF24 angepasste Installation (nur PDF Druckertreiber) per Script: viewtopic.php?t=30284
Winget (Desktop App Installer) für Windows Versionen ohne Store installieren (HowTo): viewtopic.php?t=26214
Vorstellung: tiny11builder; Script zur Verschlankung von Windows 11: viewtopic.php?t=30134
Windows StartMenü Empfohlen (Recommended Section) komplett ausblenden: viewtopic.php?t=30574
Hyper-V VM per Script erstellen viewtopic.php?t=25114
Winget (Desktop App Installer) für Windows Versionen ohne Store installieren (HowTo): viewtopic.php?t=26214
Vorstellung: tiny11builder; Script zur Verschlankung von Windows 11: viewtopic.php?t=30134
Windows StartMenü Empfohlen (Recommended Section) komplett ausblenden: viewtopic.php?t=30574
Hyper-V VM per Script erstellen viewtopic.php?t=25114
- g-force
- Elite
- Beiträge: 2702
- Registriert: 07.10.2016, 19:30
- Hat sich bedankt: 403 Mal
- Danke erhalten: 416 Mal
- Gender:
Re: Hyper-V Virtuelle Maschine per Script erstellen; mein Lösungsansatz
Ich bin mir ziemlich sicher, daß es die Funktion mal gab in NTlite.
Hast Du noch einen Tipp zu meinem Script? Ich kann es ja leider doch nicht mit NTlite machen, also möchte ich deine Variante nutzen.
Hast Du noch einen Tipp zu meinem Script? Ich kann es ja leider doch nicht mit NTlite machen, also möchte ich deine Variante nutzen.
Windows VISTA x64 - Integration ALLER Updates: viewtopic.php?t=29624
Windows 7 x86/x64 - Integration ALLER Updates: viewtopic.php?t=26485
Windows 8.1 x86/x64 - Integration ALLER Updates: viewtopic.php?t=28193
Windows XP x86/x64 ISO mit allen Updates: viewtopic.php?t=28348
Mein Home-Server: http://gofile.me/7psKS/PzsffQNWU
Windows 7 x86/x64 - Integration ALLER Updates: viewtopic.php?t=26485
Windows 8.1 x86/x64 - Integration ALLER Updates: viewtopic.php?t=28193
Windows XP x86/x64 ISO mit allen Updates: viewtopic.php?t=28348
Mein Home-Server: http://gofile.me/7psKS/PzsffQNWU
- Holgi
- Guru
- Beiträge: 3083
- Registriert: 12.05.2018, 12:33
- Hat sich bedankt: 390 Mal
- Danke erhalten: 503 Mal
- Gender:
Re: Hyper-V Virtuelle Maschine per Script erstellen; mein Lösungsansatz
wenn du jetzt doch die ISO mit dem Script und Windows Boardmitteln erstellen möchtest (anstelle eine fertige ISO von Ntlite zu nutzen), dann brauchst du dieses Zeugs aus dem ADK Kit
https://answers.microsoft.com/en-us/win ... db469405a0
Antwort dort von Tekkie Boy
https://answers.microsoft.com/en-us/win ... db469405a0
Antwort dort von Tekkie Boy
PDF24 angepasste Installation (nur PDF Druckertreiber) per Script: viewtopic.php?t=30284
Winget (Desktop App Installer) für Windows Versionen ohne Store installieren (HowTo): viewtopic.php?t=26214
Vorstellung: tiny11builder; Script zur Verschlankung von Windows 11: viewtopic.php?t=30134
Windows StartMenü Empfohlen (Recommended Section) komplett ausblenden: viewtopic.php?t=30574
Hyper-V VM per Script erstellen viewtopic.php?t=25114
Winget (Desktop App Installer) für Windows Versionen ohne Store installieren (HowTo): viewtopic.php?t=26214
Vorstellung: tiny11builder; Script zur Verschlankung von Windows 11: viewtopic.php?t=30134
Windows StartMenü Empfohlen (Recommended Section) komplett ausblenden: viewtopic.php?t=30574
Hyper-V VM per Script erstellen viewtopic.php?t=25114
- g-force
- Elite
- Beiträge: 2702
- Registriert: 07.10.2016, 19:30
- Hat sich bedankt: 403 Mal
- Danke erhalten: 416 Mal
- Gender:
Re: Hyper-V Virtuelle Maschine per Script erstellen; mein Lösungsansatz
Achso, dann ist das nicht für jeden User direkt anwendbar und fällt für mich aus. Dann gehe ich doch den Weg über die fertige ISO und lasse den Teil (ISO-Erstellung) aus.
Windows VISTA x64 - Integration ALLER Updates: viewtopic.php?t=29624
Windows 7 x86/x64 - Integration ALLER Updates: viewtopic.php?t=26485
Windows 8.1 x86/x64 - Integration ALLER Updates: viewtopic.php?t=28193
Windows XP x86/x64 ISO mit allen Updates: viewtopic.php?t=28348
Mein Home-Server: http://gofile.me/7psKS/PzsffQNWU
Windows 7 x86/x64 - Integration ALLER Updates: viewtopic.php?t=26485
Windows 8.1 x86/x64 - Integration ALLER Updates: viewtopic.php?t=28193
Windows XP x86/x64 ISO mit allen Updates: viewtopic.php?t=28348
Mein Home-Server: http://gofile.me/7psKS/PzsffQNWU
- Holgi
- Guru
- Beiträge: 3083
- Registriert: 12.05.2018, 12:33
- Hat sich bedankt: 390 Mal
- Danke erhalten: 503 Mal
- Gender:
Re: Hyper-V Virtuelle Maschine per Script erstellen; mein Lösungsansatz
ja, ist schon echt blöd, dass MS so etwas nicht gleich mit dem Betriebssystem ausliefert.
Linux hat so etwas mit mkisofs an Board.
Hilft uns jetzt aber hier nicht weiter.
Linux hat so etwas mit mkisofs an Board.
Code: Alles auswählen
mkisofs [parameter] -o datei.iso /tmp/daten
PDF24 angepasste Installation (nur PDF Druckertreiber) per Script: viewtopic.php?t=30284
Winget (Desktop App Installer) für Windows Versionen ohne Store installieren (HowTo): viewtopic.php?t=26214
Vorstellung: tiny11builder; Script zur Verschlankung von Windows 11: viewtopic.php?t=30134
Windows StartMenü Empfohlen (Recommended Section) komplett ausblenden: viewtopic.php?t=30574
Hyper-V VM per Script erstellen viewtopic.php?t=25114
Winget (Desktop App Installer) für Windows Versionen ohne Store installieren (HowTo): viewtopic.php?t=26214
Vorstellung: tiny11builder; Script zur Verschlankung von Windows 11: viewtopic.php?t=30134
Windows StartMenü Empfohlen (Recommended Section) komplett ausblenden: viewtopic.php?t=30574
Hyper-V VM per Script erstellen viewtopic.php?t=25114
- g-force
- Elite
- Beiträge: 2702
- Registriert: 07.10.2016, 19:30
- Hat sich bedankt: 403 Mal
- Danke erhalten: 416 Mal
- Gender:
Re: Hyper-V Virtuelle Maschine per Script erstellen; mein Lösungsansatz
Ich habe dein Standalone-Script für den Prompt so umgebaut:
Leider passiert da nichts, die Dateien werden nicht umbenannt.@Echo off
set /p ISO="C:\NTLITE\ISO\PREMIUM_ESD"
echo.
if exist "%ISO%\efi\microsoft\boot\cdboot-prompt.efi" goto end
Ren "%ISO%\efi\microsoft\boot\cdboot.efi" cdboot-prompt.efi
Ren "%ISO%\efi\microsoft\boot\cdboot_noprompt.efi" cdboot.efi
Ren "%ISO%\efi\microsoft\boot\efisys.bin" efisys_prompt.bin
Ren "%ISO%\efi\microsoft\boot\efisys_noprompt.bin" efisys.bin
goto final
:end
Echo keine Dateien zum umbenennen vorhanden
:final
pause
Windows VISTA x64 - Integration ALLER Updates: viewtopic.php?t=29624
Windows 7 x86/x64 - Integration ALLER Updates: viewtopic.php?t=26485
Windows 8.1 x86/x64 - Integration ALLER Updates: viewtopic.php?t=28193
Windows XP x86/x64 ISO mit allen Updates: viewtopic.php?t=28348
Mein Home-Server: http://gofile.me/7psKS/PzsffQNWU
Windows 7 x86/x64 - Integration ALLER Updates: viewtopic.php?t=26485
Windows 8.1 x86/x64 - Integration ALLER Updates: viewtopic.php?t=28193
Windows XP x86/x64 ISO mit allen Updates: viewtopic.php?t=28348
Mein Home-Server: http://gofile.me/7psKS/PzsffQNWU
- Holgi
- Guru
- Beiträge: 3083
- Registriert: 12.05.2018, 12:33
- Hat sich bedankt: 390 Mal
- Danke erhalten: 503 Mal
- Gender:
Re: Hyper-V Virtuelle Maschine per Script erstellen; mein Lösungsansatz
evtl. weil dieses Script oder ein vorheriges in einer Batch eingebaut funktioniert hat?
Schau:
in einer Original ISO sind die Dateien
cdboot_noprompt.efi
und
efisys_noprompt.bin
vorhanden.
Nach der Umbenennung durch das Script wird aus noprompt > prompt
Findet das Script jetzt cdboot-prompt.efi weiß, es, dass der User schon mal diesen Windows Installationsordner mit dem Script bearbeitet hat und übergeht die Schritte.
Also mal eben genau schauen: prompt oder noprompt?
Schau:
in einer Original ISO sind die Dateien
cdboot_noprompt.efi
und
efisys_noprompt.bin
vorhanden.
Nach der Umbenennung durch das Script wird aus noprompt > prompt
Findet das Script jetzt cdboot-prompt.efi weiß, es, dass der User schon mal diesen Windows Installationsordner mit dem Script bearbeitet hat und übergeht die Schritte.
Also mal eben genau schauen: prompt oder noprompt?
PDF24 angepasste Installation (nur PDF Druckertreiber) per Script: viewtopic.php?t=30284
Winget (Desktop App Installer) für Windows Versionen ohne Store installieren (HowTo): viewtopic.php?t=26214
Vorstellung: tiny11builder; Script zur Verschlankung von Windows 11: viewtopic.php?t=30134
Windows StartMenü Empfohlen (Recommended Section) komplett ausblenden: viewtopic.php?t=30574
Hyper-V VM per Script erstellen viewtopic.php?t=25114
Winget (Desktop App Installer) für Windows Versionen ohne Store installieren (HowTo): viewtopic.php?t=26214
Vorstellung: tiny11builder; Script zur Verschlankung von Windows 11: viewtopic.php?t=30134
Windows StartMenü Empfohlen (Recommended Section) komplett ausblenden: viewtopic.php?t=30574
Hyper-V VM per Script erstellen viewtopic.php?t=25114
- g-force
- Elite
- Beiträge: 2702
- Registriert: 07.10.2016, 19:30
- Hat sich bedankt: 403 Mal
- Danke erhalten: 416 Mal
- Gender:
Re: Hyper-V Virtuelle Maschine per Script erstellen; mein Lösungsansatz
Ich habe die ISO natürlich für jeden Test neu entpackt, also den Originalzustand wiederhergestellt.
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
Windows VISTA x64 - Integration ALLER Updates: viewtopic.php?t=29624
Windows 7 x86/x64 - Integration ALLER Updates: viewtopic.php?t=26485
Windows 8.1 x86/x64 - Integration ALLER Updates: viewtopic.php?t=28193
Windows XP x86/x64 ISO mit allen Updates: viewtopic.php?t=28348
Mein Home-Server: http://gofile.me/7psKS/PzsffQNWU
Windows 7 x86/x64 - Integration ALLER Updates: viewtopic.php?t=26485
Windows 8.1 x86/x64 - Integration ALLER Updates: viewtopic.php?t=28193
Windows XP x86/x64 ISO mit allen Updates: viewtopic.php?t=28348
Mein Home-Server: http://gofile.me/7psKS/PzsffQNWU
- Holgi
- Guru
- Beiträge: 3083
- Registriert: 12.05.2018, 12:33
- Hat sich bedankt: 390 Mal
- Danke erhalten: 503 Mal
- Gender:
Re: Hyper-V Virtuelle Maschine per Script erstellen; mein Lösungsansatz
Fehler gefunden:
set iso ohne /p!!
hatte nicht gesehen, dass du das Verzeichnis bereits vorgibst. Bei mir wird es ja abgefragt. Dann greift set mit /p und Text hinterher. Sorry!
set iso ohne /p!!
Code: Alles auswählen
@Echo off
set ISO="C:\NTLITE\ISO\PREMIUM_ESD"
echo.
if exist "%ISO%\efi\microsoft\boot\cdboot-prompt.efi" goto end
pause
Ren "%ISO%\efi\microsoft\boot\cdboot.efi" cdboot-prompt.efi
pause
Ren "%ISO%\efi\microsoft\boot\cdboot_noprompt.efi" cdboot.efi
pause
Ren "%ISO%\efi\microsoft\boot\efisys.bin" efisys_prompt.bin
pause
Ren "%ISO%\efi\microsoft\boot\efisys_noprompt.bin" efisys.bin
pause
goto final
:end
Echo keine Dateien zum umbenennen vorhanden
pause
:final
pause
PDF24 angepasste Installation (nur PDF Druckertreiber) per Script: viewtopic.php?t=30284
Winget (Desktop App Installer) für Windows Versionen ohne Store installieren (HowTo): viewtopic.php?t=26214
Vorstellung: tiny11builder; Script zur Verschlankung von Windows 11: viewtopic.php?t=30134
Windows StartMenü Empfohlen (Recommended Section) komplett ausblenden: viewtopic.php?t=30574
Hyper-V VM per Script erstellen viewtopic.php?t=25114
Winget (Desktop App Installer) für Windows Versionen ohne Store installieren (HowTo): viewtopic.php?t=26214
Vorstellung: tiny11builder; Script zur Verschlankung von Windows 11: viewtopic.php?t=30134
Windows StartMenü Empfohlen (Recommended Section) komplett ausblenden: viewtopic.php?t=30574
Hyper-V VM per Script erstellen viewtopic.php?t=25114
- g-force
- Elite
- Beiträge: 2702
- Registriert: 07.10.2016, 19:30
- Hat sich bedankt: 403 Mal
- Danke erhalten: 416 Mal
- Gender:
Re: Hyper-V Virtuelle Maschine per Script erstellen; mein Lösungsansatz
So, jetzt habe ich es! Ich hatte selber kleine Fehler eingebaut, so daß die ISO nicht gefunden wurde. So klappt es jetzt, auch mit der Vorarbeit (Prompt):
Code: Alles auswählen
@echo off
setlocal enabledelayedexpansion
COLOR 0a
chcp 1252 >nul
:: BatchGetAdmin
:-------------------------------------
REM --> Check for permissions
IF "%PROCESSOR_ARCHITECTURE%" EQU "amd64" (
>nul 2>&1 "%SYSTEMROOT%\SysWOW64\cacls.exe" "%SYSTEMROOT%\SysWOW64\config\system"
) ELSE (
>nul 2>&1 "%SYSTEMROOT%\system32\cacls.exe" "%SYSTEMROOT%\system32\config\system"
)
REM --> If error flag set, we do not have admin.
if '%errorlevel%' NEQ '0' (
echo Requesting administrative privileges...
goto UACPrompt
) else ( goto gotAdmin )
:UACPrompt
echo Set UAC = CreateObject^("Shell.Application"^) > "%temp%\getadmin.vbs"
set params= %*
echo UAC.ShellExecute "cmd.exe", "/c ""%~s0"" %params:"=""%", "", "runas", 1 >> "%temp%\getadmin.vbs"
"%temp%\getadmin.vbs"
del "%temp%\getadmin.vbs"
exit /B
:gotAdmin
pushd "%CD%"
CD /D "%~dp0"
rem --------- Variablen fuer die VM setzen -----------
rem *** VM: Anzahl der virtuellen CPUs
set cpu=2
rem *** VM: Start-RAM-Groesse in MByte ***
set startram=2048
rem *** VM: Minmale RAM-Groesse in MByte ***
set minram=2048
rem *** VM: Maximale RAM-Groesse in MByte ***
set maxram=8192
rem *** VM: Netzwerkswitch auswaehlen. Zum Aktivieren "rem" vor der naechsten Zeile entfernen und bei Bedarf Switchname in Anfuehrungsstrichen (') anpassen
set switch=-switchname 'VLAN'
rem *** VM: Automatische Pruefpunkte an (1) oder aus (0)
set autocheckpoints=0
rem *** VM: Generation 1 (Legacy BIOS) oder 2 (UEFI)? ***
set gen=2
rem *** Nur für Generation 2: TPM aktiv? (0: aus, 1: an) ***
set TPM=0
if %gen%==2 set TPM=0
rem *** VHD Größe in GB
set VHDSize=64GB
rem *** GEN1=vhd GEN2=vhdx
set format=vhd
if %gen%==2 set format=vhdx
rem *** Speicherpfad fuer VMs auslesen ***
echo.
set vmpfad=V:\HYPER-V
cls
echo Gespeichert wird die VM unter:
echo %vmpfad%
echo.
rem --------- Ende Variablen fuer die VM setzen -----------
echo.
ECHO \\!//
ECHO (o o)
ECHO -------------------------------oOOo-(_)-oOOo-------------------------------
echo Im folgenden Schritt geben Sie der VM einen Namen.
echo Sollte eine VM mit gleichem Namen bereits existieren,
echo wird diese unwiederbringlich entfernt...
Echo ---------------------------------------------------------------------------
set /p VMName="geben Sie der VM einen Namen (z.B. Windows11Pro): "
echo.
cls
rem set ISO="Pfad zu den Windows Installationsdateien (z.B. C:\Windows11_TPM): "
set ISO=C:\NTLITE\ISO
echo.
echo *** Einige Pruefungen vorab ... ***
echo.
IF NOT EXIST %VMPFAD% (
echo Das Verzeichnis %VMPFAD% ist nicht vorhanden
goto Fehler
)
set operation=*** Skript braucht mindestens Windows 10 Version 1709 ***
for /f "tokens=3" %%a in ('reg query ^"HKLM^\SOFTWARE^\Microsoft^\Windows NT^\CurrentVersion^" /v ^"ReleaseID^"') do set versionhost=%%a
if %versionhost% lss 1709 goto fehler
set operation=*** Skript muss mit Administratorrechten laufen ***
whoami /groups | find "S-1-16-12288" > nul
if errorlevel 1 goto fehler
set operation=*** Hyper-V muss aktiviert sein ***
dism /online /get-features /format:table | find "Microsoft-Hyper-V " | find "Aktiviert" > nul
if errorlevel 1 goto fehler
set operation=*** Hyper-V-Modul fuer Windows PowerShell muss aktiviert sein ***
dism /online /get-features /format:table | find "Microsoft-Hyper-V-Management-PowerShell" | find "Aktiviert" > nul
if errorlevel 1 goto fehler
cls
echo *** Keine Probleme gefunden, jetzt geht es los ***
echo.
Echo ********************************************************************
Echo Erstelle virtuelle Maschine %VMName%
echo aus dem Verzeichnis %ISO%
Echo bitte warten Sie einen Augenblick ...
Echo ********************************************************************
PowerShell Stop-VM -Name "%VMName%" -Force >nul
PowerShell Remove-VM -Name "%VMName%" -Force >nul
PowerShell Remove-Item "%VMPFAD%\%VMName%.vhdx" -Force >nul
Echo "%VMName%" deleted !!
echo Erstelle VM %VMName%
powershell new-vm -name '%vmname%' -NewVHDPath "%VMName%.vhdx" -NewVHDSizeBytes %VHDSize% -MemoryStartupBytes %startram%MB -generation %gen% %switch%
Echo Virtuelle Maschine anpassen...
powershell set-vm -name '%vmname%' -ProcessorCount %cpu% -DynamicMemory -MemoryMaximumBytes %maxram%MB -MemoryMinimumBytes %minram%MB -AutomaticCheckpointsEnabled %autocheckpoints% -CheckpointType Disabled
powershell Enable-VMIntegrationService -VMName '%vmname%' -Name 'Gastdienstschnittstelle'
if %gen%==2 (
if %TPM%==1 (
powershell Set-VMKeyProtector -VMName '%vmname%' -NewLocalKeyProtector
powershell Enable-VMTPM -vmname '%vmname%'
)
)
if %gen%==1 (
powershell Remove-VMNetworkAdapter -vmname '%vmname%'
powershell Add-VMNetworkAdapter -vmname '%vmname%' -IsLegacy $true
)
rem Add DVD Drive to Virtual Machine
powershell Add-VMDvdDrive -vmname %VMNAME% -Path %ISO%\%VMName%.iso
rem Configure Virtual Machine to Boot from DVD
powershell Set-VMFirmware -VMname '%vmname%' -FirstBootDevice (Get-VMDvdDrive -VMName '%vmname%')[0]
rem Videoauflösung einstellen
powershell set-vmvideo -VMName '%vmname%' -ResolutionType Maximum -HorizontalResolution 1600 -VerticalResolution 1200
rem automatische Start-/StoppAktionen einrichten
powershell Set-VM -VMName '%vmname%' -AutomaticStartAction StartIfRunning -AutomaticStopAction Save -Confirm:$false
rem ExposeVirtualizationExtensions
rem powershell Set-VMProcessor -VMName '%vmname%' -ExposeVirtualizationExtensions $true
echo.
powershell Start-VM -name '%vmname%'
echo.
powershell vmconnect $env:COMPUTERNAME '%vmname%'
goto eof
rem *** Fehlerbehandlung ***
:fehler
echo Es wurde ein Fehler gefunden
pause
:eof
PAUSE
exit
REM Credits to Axel Vahldiek/c't
Windows VISTA x64 - Integration ALLER Updates: viewtopic.php?t=29624
Windows 7 x86/x64 - Integration ALLER Updates: viewtopic.php?t=26485
Windows 8.1 x86/x64 - Integration ALLER Updates: viewtopic.php?t=28193
Windows XP x86/x64 ISO mit allen Updates: viewtopic.php?t=28348
Mein Home-Server: http://gofile.me/7psKS/PzsffQNWU
Windows 7 x86/x64 - Integration ALLER Updates: viewtopic.php?t=26485
Windows 8.1 x86/x64 - Integration ALLER Updates: viewtopic.php?t=28193
Windows XP x86/x64 ISO mit allen Updates: viewtopic.php?t=28348
Mein Home-Server: http://gofile.me/7psKS/PzsffQNWU
- g-force
- Elite
- Beiträge: 2702
- Registriert: 07.10.2016, 19:30
- Hat sich bedankt: 403 Mal
- Danke erhalten: 416 Mal
- Gender:
Re: Hyper-V Virtuelle Maschine per Script erstellen; mein Lösungsansatz
Was mich noch wundert: Obwohl ich hier den Pfad %vmpfad% geändert habe, wird die VHDX weiterhin in "V:\HYPER-V" erstellt (der Pfad ist auch im Hyper-V-Manager eingetragen - mein normaler Standardpfad, ich wollte es nur für dieses Projekt ändern).
Code: Alles auswählen
rem *** Speicherpfad fuer VMs auslesen ***
echo.
set vmpfad=C:\NTLITE\VM
cls
echo Gespeichert wird die VM unter:
echo %vmpfad%
echo.
Windows VISTA x64 - Integration ALLER Updates: viewtopic.php?t=29624
Windows 7 x86/x64 - Integration ALLER Updates: viewtopic.php?t=26485
Windows 8.1 x86/x64 - Integration ALLER Updates: viewtopic.php?t=28193
Windows XP x86/x64 ISO mit allen Updates: viewtopic.php?t=28348
Mein Home-Server: http://gofile.me/7psKS/PzsffQNWU
Windows 7 x86/x64 - Integration ALLER Updates: viewtopic.php?t=26485
Windows 8.1 x86/x64 - Integration ALLER Updates: viewtopic.php?t=28193
Windows XP x86/x64 ISO mit allen Updates: viewtopic.php?t=28348
Mein Home-Server: http://gofile.me/7psKS/PzsffQNWU
- Holgi
- Guru
- Beiträge: 3083
- Registriert: 12.05.2018, 12:33
- Hat sich bedankt: 390 Mal
- Danke erhalten: 503 Mal
- Gender:
Re: Hyper-V Virtuelle Maschine per Script erstellen; mein Lösungsansatz
ich blicke da auch nicht so genau durch.
Aber es gibt da zwei Befehle, die irgendwie dafür verantwortlich sind:
1.
oder
2. bei der Erstellung der VM der part -newVHDPath
versuche mal die Nr. 1
Aber es gibt da zwei Befehle, die irgendwie dafür verantwortlich sind:
1.
Code: Alles auswählen
powershell Set-VMHost -VirtualMachinePath "C:\NTLITE\VM"
2. bei der Erstellung der VM der part -newVHDPath
Code: Alles auswählen
powershell new-vm -name '%vmname%' -NewVHDPath "%VMName%.vhdx" ...
PDF24 angepasste Installation (nur PDF Druckertreiber) per Script: viewtopic.php?t=30284
Winget (Desktop App Installer) für Windows Versionen ohne Store installieren (HowTo): viewtopic.php?t=26214
Vorstellung: tiny11builder; Script zur Verschlankung von Windows 11: viewtopic.php?t=30134
Windows StartMenü Empfohlen (Recommended Section) komplett ausblenden: viewtopic.php?t=30574
Hyper-V VM per Script erstellen viewtopic.php?t=25114
Winget (Desktop App Installer) für Windows Versionen ohne Store installieren (HowTo): viewtopic.php?t=26214
Vorstellung: tiny11builder; Script zur Verschlankung von Windows 11: viewtopic.php?t=30134
Windows StartMenü Empfohlen (Recommended Section) komplett ausblenden: viewtopic.php?t=30574
Hyper-V VM per Script erstellen viewtopic.php?t=25114
- g-force
- Elite
- Beiträge: 2702
- Registriert: 07.10.2016, 19:30
- Hat sich bedankt: 403 Mal
- Danke erhalten: 416 Mal
- Gender:
Re: Hyper-V Virtuelle Maschine per Script erstellen; mein Lösungsansatz
Das war`s:
Code: Alles auswählen
powershell new-vm -name '%vmname%' -NewVHDPath "%VMPFAD%\%VMName%.vhdx" ...
Windows VISTA x64 - Integration ALLER Updates: viewtopic.php?t=29624
Windows 7 x86/x64 - Integration ALLER Updates: viewtopic.php?t=26485
Windows 8.1 x86/x64 - Integration ALLER Updates: viewtopic.php?t=28193
Windows XP x86/x64 ISO mit allen Updates: viewtopic.php?t=28348
Mein Home-Server: http://gofile.me/7psKS/PzsffQNWU
Windows 7 x86/x64 - Integration ALLER Updates: viewtopic.php?t=26485
Windows 8.1 x86/x64 - Integration ALLER Updates: viewtopic.php?t=28193
Windows XP x86/x64 ISO mit allen Updates: viewtopic.php?t=28348
Mein Home-Server: http://gofile.me/7psKS/PzsffQNWU
- g-force
- Elite
- Beiträge: 2702
- Registriert: 07.10.2016, 19:30
- Hat sich bedankt: 403 Mal
- Danke erhalten: 416 Mal
- Gender:
Re: Hyper-V Virtuelle Maschine per Script erstellen; mein Lösungsansatz
Hier nochmal das komplette Script:
Dieses Script gehört zu meinem Thread "NTlite": viewtopic.php?t=29978
Dort lernen wir, wie wir mit NTlite eine angepasste ISO erstellen - das Script installiert diese ISO automatisch in einer VM (Hyper-V).
Code: Alles auswählen
@echo off
setlocal enabledelayedexpansion
COLOR 0a
chcp 1252 >nul
:: BatchGetAdmin
:-------------------------------------
REM --> Check for permissions
IF "%PROCESSOR_ARCHITECTURE%" EQU "amd64" (
>nul 2>&1 "%SYSTEMROOT%\SysWOW64\cacls.exe" "%SYSTEMROOT%\SysWOW64\config\system"
) ELSE (
>nul 2>&1 "%SYSTEMROOT%\system32\cacls.exe" "%SYSTEMROOT%\system32\config\system"
)
REM --> If error flag set, we do not have admin.
if '%errorlevel%' NEQ '0' (
echo Requesting administrative privileges...
goto UACPrompt
) else ( goto gotAdmin )
:UACPrompt
echo Set UAC = CreateObject^("Shell.Application"^) > "%temp%\getadmin.vbs"
set params= %*
echo UAC.ShellExecute "cmd.exe", "/c ""%~s0"" %params:"=""%", "", "runas", 1 >> "%temp%\getadmin.vbs"
"%temp%\getadmin.vbs"
del "%temp%\getadmin.vbs"
exit /B
:gotAdmin
pushd "%CD%"
CD /D "%~dp0"
rem --------- Variablen fuer die VM setzen -----------
rem *** VM: Anzahl der virtuellen CPUs
set cpu=2
rem *** VM: Start-RAM-Groesse in MByte ***
set startram=2048
rem *** VM: Minmale RAM-Groesse in MByte ***
set minram=2048
rem *** VM: Maximale RAM-Groesse in MByte ***
set maxram=8192
rem *** VM: Netzwerkswitch auswaehlen. Zum Aktivieren "rem" vor der naechsten Zeile entfernen und bei Bedarf Switchname in Anfuehrungsstrichen (') anpassen
set switch=-switchname 'VLAN'
rem *** VM: Automatische Pruefpunkte an (1) oder aus (0)
set autocheckpoints=0
rem *** VM: Generation 1 (Legacy BIOS) oder 2 (UEFI)? ***
set gen=2
rem *** Nur für Generation 2: TPM aktiv? (0: aus, 1: an) ***
set TPM=0
if %gen%==2 set TPM=0
rem *** VHD Größe in GB
set VHDSize=64GB
rem *** GEN1=vhd GEN2=vhdx
set format=vhd
if %gen%==2 set format=vhdx
rem *** Speicherpfad fuer VMs auslesen ***
echo.
set vmpfad=C:\NTLITE\VM
cls
echo Gespeichert wird die VM unter:
echo %vmpfad%
echo.
rem --------- Ende Variablen fuer die VM setzen -----------
echo.
ECHO \\!//
ECHO (o o)
ECHO -------------------------------oOOo-(_)-oOOo-------------------------------
echo Im folgenden Schritt geben Sie der VM einen Namen.
echo Sollte eine VM mit gleichem Namen bereits existieren,
echo wird diese unwiederbringlich entfernt...
Echo ---------------------------------------------------------------------------
set /p VMName= "Geben Sie den Namen der ISO ein (z.B. NTlite): "
echo.
cls
rem set ISO="Pfad zu den Windows Installationsdateien (z.B. C:\Windows11_TPM): "
set ISO=C:\NTLITE\ISO
echo.
echo *** Einige Pruefungen vorab ... ***
echo.
IF NOT EXIST %VMPFAD% (
echo Das Verzeichnis %VMPFAD% ist nicht vorhanden
goto Fehler
)
set operation=*** Skript braucht mindestens Windows 10 Version 1709 ***
for /f "tokens=3" %%a in ('reg query ^"HKLM^\SOFTWARE^\Microsoft^\Windows NT^\CurrentVersion^" /v ^"ReleaseID^"') do set versionhost=%%a
if %versionhost% lss 1709 goto fehler
set operation=*** Skript muss mit Administratorrechten laufen ***
whoami /groups | find "S-1-16-12288" > nul
if errorlevel 1 goto fehler
set operation=*** Hyper-V muss aktiviert sein ***
dism /online /get-features /format:table | find "Microsoft-Hyper-V " | find "Aktiviert" > nul
if errorlevel 1 goto fehler
set operation=*** Hyper-V-Modul fuer Windows PowerShell muss aktiviert sein ***
dism /online /get-features /format:table | find "Microsoft-Hyper-V-Management-PowerShell" | find "Aktiviert" > nul
if errorlevel 1 goto fehler
cls
echo *** Keine Probleme gefunden, jetzt geht es los ***
echo.
Echo ********************************************************************
Echo Erstelle virtuelle Maschine %VMName%
echo aus dem Verzeichnis %ISO%
Echo bitte warten Sie einen Augenblick ...
Echo ********************************************************************
PowerShell Stop-VM -Name "%VMName%" -Force >nul
PowerShell Remove-VM -Name "%VMName%" -Force >nul
PowerShell Remove-Item "%VMPFAD%\%VMName%.vhdx" -Force >nul
Echo "%VMName%" deleted !!
echo Erstelle VM %VMName%
powershell new-vm -name '%vmname%' -NewVHDPath "%VMPFAD%\%VMName%.vhdx" -NewVHDSizeBytes %VHDSize% -MemoryStartupBytes %startram%MB -generation %gen% %switch%
Echo Virtuelle Maschine anpassen...
powershell set-vm -name '%vmname%' -ProcessorCount %cpu% -DynamicMemory -MemoryMaximumBytes %maxram%MB -MemoryMinimumBytes %minram%MB -AutomaticCheckpointsEnabled %autocheckpoints% -CheckpointType Disabled
powershell Enable-VMIntegrationService -VMName '%vmname%' -Name 'Gastdienstschnittstelle'
if %gen%==2 (
if %TPM%==1 (
powershell Set-VMKeyProtector -VMName '%vmname%' -NewLocalKeyProtector
powershell Enable-VMTPM -vmname '%vmname%'
)
)
if %gen%==1 (
powershell Remove-VMNetworkAdapter -vmname '%vmname%'
powershell Add-VMNetworkAdapter -vmname '%vmname%' -IsLegacy $true
)
rem Add DVD Drive to Virtual Machine
powershell Add-VMDvdDrive -vmname %VMNAME% -Path %ISO%\%VMName%.iso
rem Configure Virtual Machine to Boot from DVD
powershell Set-VMFirmware -VMname '%vmname%' -FirstBootDevice (Get-VMDvdDrive -VMName '%vmname%')[0]
rem Videoauflösung einstellen
powershell set-vmvideo -VMName '%vmname%' -ResolutionType Maximum -HorizontalResolution 1600 -VerticalResolution 1200
rem automatische Start-/StoppAktionen einrichten
powershell Set-VM -VMName '%vmname%' -AutomaticStartAction StartIfRunning -AutomaticStopAction Save -Confirm:$false
rem ExposeVirtualizationExtensions
rem powershell Set-VMProcessor -VMName '%vmname%' -ExposeVirtualizationExtensions $true
echo.
powershell Start-VM -name '%vmname%'
echo.
powershell vmconnect $env:COMPUTERNAME '%vmname%'
goto eof
rem *** Fehlerbehandlung ***
:fehler
echo Es wurde ein Fehler gefunden
pause
:eof
exit
REM Credits to Axel Vahldiek/c't
REM modded by Holgi & g-force @ Deskmodder.de
Dort lernen wir, wie wir mit NTlite eine angepasste ISO erstellen - das Script installiert diese ISO automatisch in einer VM (Hyper-V).
Windows VISTA x64 - Integration ALLER Updates: viewtopic.php?t=29624
Windows 7 x86/x64 - Integration ALLER Updates: viewtopic.php?t=26485
Windows 8.1 x86/x64 - Integration ALLER Updates: viewtopic.php?t=28193
Windows XP x86/x64 ISO mit allen Updates: viewtopic.php?t=28348
Mein Home-Server: http://gofile.me/7psKS/PzsffQNWU
Windows 7 x86/x64 - Integration ALLER Updates: viewtopic.php?t=26485
Windows 8.1 x86/x64 - Integration ALLER Updates: viewtopic.php?t=28193
Windows XP x86/x64 ISO mit allen Updates: viewtopic.php?t=28348
Mein Home-Server: http://gofile.me/7psKS/PzsffQNWU