Probleme mit Remot-PowerShell-Sitzung wegen GPOs
-
- Beobachter
- Beiträge: 3
- Registriert: 30.03.2024, 00:19
- Hat sich bedankt: 12 Mal
- Danke erhalten: 3 Mal
- Gender:
Re: Probleme mit Remot-PowerShell-Sitzung wegen GPOs
Nabend, also der Testlauf war solala,
also wie gehabt, das Skript erstellt die VMs, welche dann manuell installiert werden, der Software Ordner wo die PS7.msi und die ps1 Files für die GPOs rein kommen wird erstellt, PS7.msi wird runtergeladen, die PW Richtlinie in der DefaultDomainPolicy wird angenommen, GPO ScreensaverTimeout wird erstellt, definiert und angewendet, ebenso wird die GPO Login-Richtlinie erstellt, definiert und angewendet.
Die GPO für PS7 Installation funktioniert nur am Server, wird nicht am Client übernommen
Das waren eigentlich das Hauptziel was ich mir vorgenommen hatte, bevor ich weiter mache.
Dadurch dass das mit der Login-Richtlinie geklappt hat, dachte ich ich mach einfach mal mit den Hardening GPOs weiter, also AutoUpdate Deaktivieren, Dateiendungen anzeigen, ist ja ausgeschaltet, Zeitgleiche Verbindungen auf 1 setzen, UAC Prompt Behavior, LAN Manager Authentifizierungsebene setzen, Deny Logon Policy mit 5 Einstellungen, nur leider war das ein Griff ins Klo, die werden erstellt, aber nicht definiert, also keine Werte gesetzt.
PS2 wurde deaktiviert und deinstalliert.
Alle GPOs wurden erfolgreich mit der Domäne verknüpft, so wie es sein sollte, aber was bringt es wenn die Einstellungen nicht übernommen werden.
Und es kommt auch keine Fehlermeldung beim ausführen, diese laufen sauber im Terminal durch als wäre alles OK.
hilft nichts, weiter testen und schauen wieso die PS7 GPO nicht mehr will.
also wie gehabt, das Skript erstellt die VMs, welche dann manuell installiert werden, der Software Ordner wo die PS7.msi und die ps1 Files für die GPOs rein kommen wird erstellt, PS7.msi wird runtergeladen, die PW Richtlinie in der DefaultDomainPolicy wird angenommen, GPO ScreensaverTimeout wird erstellt, definiert und angewendet, ebenso wird die GPO Login-Richtlinie erstellt, definiert und angewendet.
Die GPO für PS7 Installation funktioniert nur am Server, wird nicht am Client übernommen

Das waren eigentlich das Hauptziel was ich mir vorgenommen hatte, bevor ich weiter mache.
Dadurch dass das mit der Login-Richtlinie geklappt hat, dachte ich ich mach einfach mal mit den Hardening GPOs weiter, also AutoUpdate Deaktivieren, Dateiendungen anzeigen, ist ja ausgeschaltet, Zeitgleiche Verbindungen auf 1 setzen, UAC Prompt Behavior, LAN Manager Authentifizierungsebene setzen, Deny Logon Policy mit 5 Einstellungen, nur leider war das ein Griff ins Klo, die werden erstellt, aber nicht definiert, also keine Werte gesetzt.
PS2 wurde deaktiviert und deinstalliert.
Alle GPOs wurden erfolgreich mit der Domäne verknüpft, so wie es sein sollte, aber was bringt es wenn die Einstellungen nicht übernommen werden.
Und es kommt auch keine Fehlermeldung beim ausführen, diese laufen sauber im Terminal durch als wäre alles OK.
Code: Alles auswählen
PSComputerName : LABSRV RunspaceId : fd0af814-5775-49d5-a205-6a6ce4d0fe16 DisplayName : ScreenSaverTimeOut GpoId : 9f7200e0-77aa-441d-a58a-fbc69e463ddb Enabled : True Enforced : True Order : 2 Target : DC=lab,DC=test GpoDomainName : lab.test PSComputerName : LABSRV RunspaceId : fd0af814-5775-49d5-a205-6a6ce4d0fe16 DisplayName : LoginRichtlinie GpoId : db24420e-90c0-4c2b-92a9-407721abf99a Enabled : True Enforced : True Order : 3 Target : DC=lab,DC=test GpoDomainName : lab.test PSComputerName : LABSRV RunspaceId : fd0af814-5775-49d5-a205-6a6ce4d0fe16 DisplayName : DisableAutoUpdates GpoId : 4d05beaa-c2eb-42bc-a040-ca50f89ae835 Enabled : True Enforced : True Order : 4 Target : DC=lab,DC=test GpoDomainName : lab.test PSComputerName : LABSRV RunspaceId : fd0af814-5775-49d5-a205-6a6ce4d0fe16 DisplayName : ShowFileExtensions GpoId : a0269aba-9995-4073-accb-a6e032517f3c Enabled : True Enforced : True Order : 5 Target : DC=lab,DC=test GpoDomainName : lab.test
-
Tante Google
- Holgi
- Guru
- Beiträge: 3084
- Registriert: 12.05.2018, 12:33
- Hat sich bedankt: 390 Mal
- Danke erhalten: 504 Mal
- Gender:
Re: Probleme mit Remot-PowerShell-Sitzung wegen GPOs
keine Lust, die BSe (Server, Client) automatisch installieren zu lassen?Cyber-Mike hat geschrieben: 05.04.2024, 23:53 also wie gehabt, das Skript erstellt die VMs, welche dann manuell installiert werden,
Bin gerne behilflich dabei, falls Info-Bedarf besteht.
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
-
- Beobachter
- Beiträge: 3
- Registriert: 30.03.2024, 00:19
- Hat sich bedankt: 12 Mal
- Danke erhalten: 3 Mal
- Gender:
Re: Probleme mit Remot-PowerShell-Sitzung wegen GPOs
solange die Iso Dateien nicht zerlegt werden müssen, also es mit den originalen Iso's funktioniert, höre ich es mir gerne an.Holgi hat geschrieben: 06.04.2024, 11:06 keine Lust, die BSe (Server, Client) automatisch installieren zu lassen?
Bin gerne behilflich dabei, falls Info-Bedarf besteht.
- Holgi
- Guru
- Beiträge: 3084
- Registriert: 12.05.2018, 12:33
- Hat sich bedankt: 390 Mal
- Danke erhalten: 504 Mal
- Gender:
Re: Probleme mit Remot-PowerShell-Sitzung wegen GPOs
würdest du sagen, wenn die original ISO auf die Festplatte entpackt wird,Cyber-Mike hat geschrieben: 06.04.2024, 13:40 solange die Iso Dateien nicht zerlegt werden müssen, also es mit den originalen Iso's funktioniert, höre ich es mir gerne an.
eine autounattend.xml ins Stammverzeichnis kopiert wird und dann
die der entpackte Ordner wieder in eine ISO verpackt wird
fällt schon unter "zerlegen"?
Weil das ist die von mir bevorzugte Methode. Letztlich bleibt es ja eine Original ISO (je nach Auslegungsstrenge).
Es gibt aber wohl auch noch andere Möglichkeiten, die Installation von Windows (-Server) in Hyper-V zu automatisieren:
1. Kurzform
Code: Alles auswählen
Mount-VHD .\VHDFile.vhdx
Copy-Item .\unattend.xml -destination D:\Windows\Panther\
Dismount-VHD .\VHDFile.vhdx
attach the VM you created with the "add-vmharddiskdrive" cmdlet
https://www.starwindsoftware.com/blog/s ... omatically
https://serverfault.com/questions/48567 ... l-creation
2. die Floppy Methode
Code: Alles auswählen
New-VFD "C:\floppy.vfd"
Set-VMFloppyDiskDrive
You can manually create new floppy drive on installed virtual machine, it will appear as disk A: inside VM. Than you can login into virtual machine, format disk A: and place your unattended.xml there, in the root folder. After this you can simply detach virtual floppy.
Later, you can insert this floppy to newly created VM using Set-VMFloppyDiskDrive commandlet and ISO with OS. OS will pick configuration from floppy automatically.
Set-VMFloppyDiskDrive -VMName $vmName -Path $vfdpath
(where vmName is your VM and vfdPath is the path to the vfd file
Unmount:
Set-VMFloppyDiskDrive -VMName $vmName -Path $null
Code: Alles auswählen
# Variables
$CLI1 = "Client" # Name of VM running Client Operating System
$SRV1 = "Server" # Name of VM running Server Operating System
$CRAM = 8GB # RAM assigned to Client Operating System
$SRAM = 4GB # RAM assigned to Server Operating System
$CLI1VHD = 80GB # Size of Hard-Drive for Client Operating System
$SRV1VHD = 40GB # Size of Hard-Drive for Server Operating System
$VMLOC = "C:\HyperV" # Location of the VM and VHDX files
$NetworkSwitch1 = "PrivateSwitch1" # Name of the Network Switch
$W11ISO = "C:\ISOS\Windows11.iso" # Windows 11 ISO
$W11VFD = "C:\ISOS\client_floppy.vfd" #Virtual Floppy Disk with autounattend.xml file
$WS22ISO = "C:\ISOS\Server2022.iso" # Windows Server 2022 ISO
$WS22VFD = "C:\ISOS\server_floppy.vfd" # Windows Server 2022 Virtual Floppy Disk with autounattend.xml file
# Create VM Folder and Network Switch
MD $VMLOC -ErrorAction SilentlyContinue
$TestSwitch = Get-VMSwitch -Name $NetworkSwitch1 -ErrorAction SilentlyContinue; if ($TestSwitch.Count -EQ 0){New-VMSwitch -Name $NetworkSwitch1 -SwitchType Private}
# Create Virtual Machines
New-VM -Name $CLI1 -Path $VMLOC -MemoryStartupBytes $CRAM -NewVHDPath $VMLOC\$CLI1.vhdx -NewVHDSizeBytes $CLI1VHD -SwitchName $NetworkSwitch1
New-VM -Name $SRV1 -Path $VMLOC -MemoryStartupBytes $SRAM -NewVHDPath $VMLOC\$SRV1.vhdx -NewVHDSizeBytes $SRV1VHD -SwitchName $NetworkSwitch1
# Configure Virtual Machines
Set-VMDvdDrive -VMName $CLI1 -Path $W11SO
Set-VMDvdDrive -VMName $SRV1 -Path $WS22ISO
Set-VMFloppyDiskDrive -VMName $CLI1 -Path $W11FD
Set-VMFloppyDiskDrive -VMName $SRV1 -Path $WS22VFD
Start-VM $SRV1
Start-VM $CLI1
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
-
- Beobachter
- Beiträge: 3
- Registriert: 30.03.2024, 00:19
- Hat sich bedankt: 12 Mal
- Danke erhalten: 3 Mal
- Gender:
Re: Probleme mit Remot-PowerShell-Sitzung wegen GPOs
Guten Abend in die Runde
Ja Holgi, das liest sich alles sehr interessant, aber was is wenn der User kein Win 11 sondern nur ne Win 10 Iso zur Verfügung hat ? dann braucht er auch eine andere xml. Wo sollte die im Skript hinterlegt sein ?
Und vor allem Server und Client sollten unter Gen 2 erstellt werden, und diese hat keine emulierten IDE-Controller mehr, was die Verwendung von Set-VMFloppyDiskDrive somit ausschließt.
Hatte dies ja Mitte Ende Februar schon in Betracht gezogen, aber wegen den oben genannten Gründen wieder verworfen.
Ja Holgi, das liest sich alles sehr interessant, aber was is wenn der User kein Win 11 sondern nur ne Win 10 Iso zur Verfügung hat ? dann braucht er auch eine andere xml. Wo sollte die im Skript hinterlegt sein ?
Und vor allem Server und Client sollten unter Gen 2 erstellt werden, und diese hat keine emulierten IDE-Controller mehr, was die Verwendung von Set-VMFloppyDiskDrive somit ausschließt.
Hatte dies ja Mitte Ende Februar schon in Betracht gezogen, aber wegen den oben genannten Gründen wieder verworfen.
- Holgi
- Guru
- Beiträge: 3084
- Registriert: 12.05.2018, 12:33
- Hat sich bedankt: 390 Mal
- Danke erhalten: 504 Mal
- Gender:
Re: Probleme mit Remot-PowerShell-Sitzung wegen GPOs
Windows10 und Windows11 unterscheiden sich grds. nicht.
Allenfalls, was die Auswahl der Edition angeht.
aber anstelle
kann man auch "Index" nehmen. Dann funzt es bei beiden gleich.
Allenfalls, was die Auswahl der Edition angeht.
aber anstelle
Code: Alles auswählen
<Key>/IMAGE/Name</Key>
Code: Alles auswählen
<Value>Windows 11 Pro</Value>
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
-
- Beobachter
- Beiträge: 3
- Registriert: 30.03.2024, 00:19
- Hat sich bedankt: 12 Mal
- Danke erhalten: 3 Mal
- Gender:
Re: Probleme mit Remot-PowerShell-Sitzung wegen GPOs
Okay, da muss ich mich wohl weiter einlesen wie das ganze funktioniert, oder kannst Du mir sagen wie das mit den xml Files aussieht ?
Kann man die im Skript mit ausliefern oder sind das separate Files ?
Kann man die im Skript mit ausliefern oder sind das separate Files ?
-
- Beobachter
- Beiträge: 3
- Registriert: 30.03.2024, 00:19
- Hat sich bedankt: 12 Mal
- Danke erhalten: 3 Mal
- Gender:
Re: Probleme mit Remot-PowerShell-Sitzung wegen GPOs
Ich habe bereits für die Installation von der IPFire eine Schritt-für-Schritt Anleitung erstellt, damit der User weiß was er wo eintragen soll, und auf was er achten muss. Da hatte ich bislang nichts für ne autounattand.xml gefunden, und auch direkt beim Support von IPFire die Info bekommen, dass das nicht funktionier.
Wenn das für den Server und Client funktionieren sollte, sollte beim Server aber auch die beiden PS Befehle ausgeführt werden und die Einstellungen für den NetAdapter gesetzt und er umbenannt werden nach Eingabe vom User, bzw. der Name würde sich ja anhand vom Skript aus dem Namen der Laborumgebung und dem Kürzel SRV für den Server zusammensetzen. Keine Ahnung ob man dass dann in die xml automatisiert einbinden könnte.
Wenn das für den Server und Client funktionieren sollte, sollte beim Server aber auch die beiden PS Befehle ausgeführt werden und die Einstellungen für den NetAdapter gesetzt und er umbenannt werden nach Eingabe vom User, bzw. der Name würde sich ja anhand vom Skript aus dem Namen der Laborumgebung und dem Kürzel SRV für den Server zusammensetzen. Keine Ahnung ob man dass dann in die xml automatisiert einbinden könnte.
- Holgi
- Guru
- Beiträge: 3084
- Registriert: 12.05.2018, 12:33
- Hat sich bedankt: 390 Mal
- Danke erhalten: 504 Mal
- Gender:
Re: Probleme mit Remot-PowerShell-Sitzung wegen GPOs
Es sind separate Files.
Gilt nur für die Windows Versionen.
Wie das bei Linux funktioniert, weiß ich leider nicht.
Ich werde mal meine autounattend.xml etwas „aufräumen“ und dann hier posten, damit du es mal ausprobieren kannst,
Du machst doch auch alles unter Hyper-V und nicht auf Real-Hardware. Dann kann ja auch die automatische Partitionierung der „Festplatte“ (vhdx) erfolgen; korrekt?
Meine xml sind mit allem was geht versehen. Da muss dann nichts mehr manuell ausgefüllt oder abgenickt werden. Fire and forget sozusagen.
Gilt nur für die Windows Versionen.
Wie das bei Linux funktioniert, weiß ich leider nicht.
Ich werde mal meine autounattend.xml etwas „aufräumen“ und dann hier posten, damit du es mal ausprobieren kannst,
Du machst doch auch alles unter Hyper-V und nicht auf Real-Hardware. Dann kann ja auch die automatische Partitionierung der „Festplatte“ (vhdx) erfolgen; korrekt?
Meine xml sind mit allem was geht versehen. Da muss dann nichts mehr manuell ausgefüllt oder abgenickt werden. Fire and forget sozusagen.
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
-
- Beobachter
- Beiträge: 3
- Registriert: 30.03.2024, 00:19
- Hat sich bedankt: 12 Mal
- Danke erhalten: 3 Mal
- Gender:
Re: Probleme mit Remot-PowerShell-Sitzung wegen GPOs
hmm, das Problem ist dass ich eben nur das Skript mit den Standard ISOs benutze, bzw. die User die dieses Skript dann ausführen sollen. Wenn ich jetzt da mit einer xml daher komme, dann kommen nur Aussagen, wie "was ist wenn Windows 12 kommt, funktioniert dass dann auch noch" oder eben dann Server 2025 (hab übrigens schon ne Version ohne GUI davon) usw. das will ich mir ersparen. Bei uns in der Weiterbildung sind Leute gewesen, die selbst schon Probleme hatten VM per Hand mit Hyper-V zu erstellen und dann den Server zu installieren. Sag nur "Press any Key.... was soll ich jetzt da drücken", oder "oh wieder zu spät mitbekommen dass ich eine Taste drücken sollte". Also typisches Layer 8 Problem wenn Dir das was sagt
Persönlich für mich wäre das ja OK was die xml angeht, aber wenn ich das einigen Leuten erklären soll, glaub ich sitz ich 2025 noch in Teams, bis es der letzte versteht.

Persönlich für mich wäre das ja OK was die xml angeht, aber wenn ich das einigen Leuten erklären soll, glaub ich sitz ich 2025 noch in Teams, bis es der letzte versteht.
- Holgi
- Guru
- Beiträge: 3084
- Registriert: 12.05.2018, 12:33
- Hat sich bedankt: 390 Mal
- Danke erhalten: 504 Mal
- Gender:
Re: Probleme mit Remot-PowerShell-Sitzung wegen GPOs
hier schon mal die autounattend.xml für Windows Server 2022 (Standard), falls du es mal für dich persönlich ausprobieren möchtest:
Erklärungen/Ausfüllhinweise findest dort unter <!--
Weißt du schon, wie du sie integrierst?
Code: Alles auswählen
<?xml version="1.0" encoding="utf-8"?>
<unattend xmlns="urn:schemas-microsoft-com:unattend">
<settings pass="windowsPE">
<component name="Microsoft-Windows-International-Core-WinPE" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<SetupUILanguage>
<UILanguage>de-de</UILanguage>
</SetupUILanguage>
<InputLocale>0407:00000407</InputLocale>
<SystemLocale>de-de</SystemLocale>
<UILanguage>de-de</UILanguage>
<UILanguageFallback>de-de</UILanguageFallback>
<UserLocale>de-de</UserLocale>
</component>
<component name="Microsoft-Windows-Setup" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<RunSynchronous>
<RunSynchronousCommand wcm:action="add">
<Order>1</Order>
<Path>reg add HKLM\System\Setup\LabConfig /v BypassTPMCheck /t reg_dword /d 0x00000001 /f</Path>
</RunSynchronousCommand>
<RunSynchronousCommand wcm:action="add">
<Order>2</Order>
<Path>reg add HKLM\System\Setup\LabConfig /v BypassSecureBootCheck /t reg_dword /d 0x00000001 /f</Path>
</RunSynchronousCommand>
<RunSynchronousCommand wcm:action="add">
<Order>3</Order>
<Path>reg add HKLM\System\Setup\LabConfig /v BypassRAMCheck /t reg_dword /d 0x00000001 /f</Path>
</RunSynchronousCommand>
<RunSynchronousCommand wcm:action="add">
<Order>4</Order>
<Path>reg add HKLM\System\Setup\LabConfig /v BypassCPUCheck /t reg_dword /d 0x00000001 /f</Path>
</RunSynchronousCommand>
<RunSynchronousCommand wcm:action="add">
<Order>5</Order>
<Path>reg add HKLM\System\Setup\LabConfig /v BypassStorageCheck /t reg_dword /d 0x00000001 /f</Path>
</RunSynchronousCommand>
</RunSynchronous>
<DiskConfiguration>
<Disk wcm:action="add">
<CreatePartitions>
<CreatePartition wcm:action="add">
<Order>1</Order>
<Size>500</Size>
<Type>Primary</Type>
</CreatePartition>
<CreatePartition wcm:action="add">
<Order>2</Order>
<Size>100</Size>
<Type>EFI</Type>
</CreatePartition>
<CreatePartition wcm:action="add">
<Order>3</Order>
<Size>16</Size>
<Type>MSR</Type>
</CreatePartition>
<CreatePartition wcm:action="add">
<Order>4</Order>
<Extend>true</Extend>
<Type>Primary</Type>
</CreatePartition>
</CreatePartitions>
<ModifyPartitions>
<ModifyPartition wcm:action="add">
<Order>1</Order>
<PartitionID>1</PartitionID>
<Label>WinRE</Label>
<Format>NTFS</Format>
<TypeID>de94bba4-06d1-4d40-a16a-bfd50179d6ac</TypeID>
</ModifyPartition>
<ModifyPartition wcm:action="add">
<Order>2</Order>
<PartitionID>2</PartitionID>
<Label>System</Label>
<Format>FAT32</Format>
</ModifyPartition>
<ModifyPartition wcm:action="add">
<Order>3</Order>
<PartitionID>3</PartitionID>
</ModifyPartition>
<ModifyPartition wcm:action="add">
<Order>4</Order>
<PartitionID>4</PartitionID>
<Label>Windows</Label>
<Format>NTFS</Format>
</ModifyPartition>
</ModifyPartitions>
<DiskID>0</DiskID>
<WillWipeDisk>true</WillWipeDisk>
</Disk>
</DiskConfiguration>
<ImageInstall>
<OSImage>
<InstallFrom>
<MetaData wcm:action="add">
<Key>/IMAGE/Index</Key>
<Value>2</Value>
<!--
Index:
1 "Windows Server 2022 Standard"
2 "Windows Server 2022 Standard (Desktopdarstellung)"
3 "Windows Server 2022 Datacenter"
4 "Windows Server 2022 Datacenter (Desktopdarstellung)"
-->
</MetaData>
</InstallFrom>
<InstallTo>
<DiskID>0</DiskID>
<PartitionID>4</PartitionID>
</InstallTo>
<InstallToAvailablePartition>false</InstallToAvailablePartition>
<WillShowUI>Never</WillShowUI>
</OSImage>
</ImageInstall>
<UserData>
<ProductKey>
<Key>VDYBN-27WPP-V4HQT-9VMD4-VMK7H</Key>
<!--
Key:
1 "Windows Server 2022 Standard": VDYBN-27WPP-V4HQT-9VMD4-VMK7H
2 "Windows Server 2022 Datacenter": WX4NM-KYWYW-QJJR4-XV3QB-6VM33
-->
<WillShowUI>Never</WillShowUI>
</ProductKey>
<AcceptEula>true</AcceptEula>
<FullName>Administrator</FullName>
<Organization></Organization>
</UserData>
</component>
</settings>
<settings pass="offlineServicing">
<component name="Microsoft-Windows-LUA-Settings" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<EnableLUA>false</EnableLUA>
</component>
</settings>
<settings pass="specialize">
<component name="Microsoft-Windows-Deployment" processorArchitecture="amd64" language="neutral" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" publicKeyToken="31bf3856ad364e35" versionScope="nonSxS">
<RunSynchronous>
<RunSynchronousCommand wcm:action="add">
<Order>1</Order>
<Path>reg add HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\OOBE /v BypassNRO /t REG_DWORD /d 1 /f</Path>
</RunSynchronousCommand>
</RunSynchronous>
</component>
<component name="Microsoft-Windows-TerminalServices-LocalSessionManager" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS"
xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<fDenyTSConnections>false</fDenyTSConnections>
</component>
<component name="Microsoft-Windows-TerminalServices-RDP-WinStationExtensions" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS"
xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<UserAuthentication>0</UserAuthentication>
</component>
<component name="Networking-MPSSVC-Svc" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS"
xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<FirewallGroups>
<FirewallGroup wcm:action="add" wcm:keyValue="RemoteDesktop">
<Active>true</Active>
<Group>@FirewallAPI.dll,-28752</Group>
<Profile>all</Profile>
</FirewallGroup>
</FirewallGroups>
</component>
<component name="Microsoft-Windows-IE-ESC" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<IEHardenAdmin>false</IEHardenAdmin>
<IEHardenUser>false</IEHardenUser>
</component>
<component xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" language="neutral" name="Microsoft-Windows-IE-InternetExplorer" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" versionScope="nonSxS">
<SearchScopes>
<Scope wcm:action="add">
<ScopeDefault>true</ScopeDefault>
<ScopeDisplayName>Google</ScopeDisplayName>
<ScopeKey>Google</ScopeKey>
<ScopeUrl>http://www.google.com/search?q={searchTerms}</ScopeUrl>
</Scope>
</SearchScopes>
<DisableAccelerators>true</DisableAccelerators>
<DisableFirstRunWizard>true</DisableFirstRunWizard>
<Home_Page>about:blank</Home_Page>
<BlockPopups>no</BlockPopups>
<CompanyName></CompanyName>
<DisableDataExecutionPrevention>true</DisableDataExecutionPrevention>
<DisableDevTools>true</DisableDevTools>
<DisableOOBAccelerators>true</DisableOOBAccelerators>
<FilterLevel>Low</FilterLevel>
<GroupTabs>false</GroupTabs>
<IntranetCompatibilityMode>false</IntranetCompatibilityMode>
<LockToolbars>true</LockToolbars>
<PlaySound>true</PlaySound>
<ShowInformationBar>true</ShowInformationBar>
<SuggestedSitesEnabled>false</SuggestedSitesEnabled>
<AllowedSites />
</component>
<component name="Microsoft-Windows-OutOfBoxExperience" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<DoNotOpenInitialConfigurationTasksAtLogon>true</DoNotOpenInitialConfigurationTasksAtLogon>
</component>
<component xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" language="neutral" name="Microsoft-Windows-ServerManager-SvrMgrNc" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" versionScope="nonSxS">
<DoNotOpenServerManagerAtLogon>true</DoNotOpenServerManagerAtLogon>
</component>
<component name="Microsoft-Windows-Security-SPP-UX" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<SkipAutoActivation>true</SkipAutoActivation>
</component>
<component name="Microsoft-Windows-SQMApi" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<CEIPEnabled>0</CEIPEnabled>
</component>
<component name="Microsoft-Windows-Shell-Setup" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<OEMInformation>
<Manufacturer></Manufacturer>
<SupportURL></SupportURL>
<SupportPhone></SupportPhone>
<SupportHours></SupportHours>
<Model></Model>
<HelpCustomized>false</HelpCustomized>
</OEMInformation>
<ComputerName>HYPER-V</ComputerName>
<!--
ComputerName:
1 hier Computer Name vergeben
2 wenn kein Name vergeben, dann wird ein Name vom Setup generiert
-->
<RegisteredOrganization></RegisteredOrganization>
<CopyProfile>true</CopyProfile>
<EnableStartMenu>true</EnableStartMenu>
<OEMName></OEMName>
<RegisteredOwner>Administrator</RegisteredOwner>
<TimeZone>W. Europe Standard Time</TimeZone>
</component>
</settings>
<settings pass="oobeSystem">
<component name="Microsoft-Windows-International-Core" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS">
<InputLocale>0407:00000407</InputLocale>
<SystemLocale>de-DE</SystemLocale>
<UILanguage>de-DE</UILanguage>
<UserLocale>de-DE</UserLocale>
</component>
<component name="Microsoft-Windows-Shell-Setup" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<OOBE>
<VMModeOptimizations>
<SkipAdministratorProfileRemoval>false</SkipAdministratorProfileRemoval>
</VMModeOptimizations>
<HideEULAPage>true</HideEULAPage>
<HideOEMRegistrationScreen>true</HideOEMRegistrationScreen>
<HideOnlineAccountScreens>true</HideOnlineAccountScreens>
<HideLocalAccountScreen>true</HideLocalAccountScreen>
<HideWirelessSetupInOOBE>true</HideWirelessSetupInOOBE>
<UnattendEnableRetailDemo>false</UnattendEnableRetailDemo>
<ProtectYourPC>3</ProtectYourPC>
<!--
ProtectYourPC:
1 Specifies the recommended level of protection for your computer.
2 Specifies that only updates are installed.
3 Specifies that automatic protection is disabled.
-->
</OOBE>
<UserAccounts>
<AdministratorPassword>
<Value>Test1234</Value>
<!--
hier eigenes Passwort einsetzen
-->
<PlainText>true</PlainText>
</AdministratorPassword>
<LocalAccounts>
<LocalAccount wcm:action="add">
<Name>Administrator</Name>
<Group>RemoteDesktopUsers;Administrators</Group>
<Password>
<Value>Test1234</Value>
<!--
hier eigenes Passwort einsetzen
-->
<PlainText>true</PlainText>
</Password>
</LocalAccount>
</LocalAccounts>
</UserAccounts>
<AutoLogon>
<Username>Administrator</Username>
<Enabled>true</Enabled>
<Password>
<Value>Test1234</Value>
<!--
hier eigenes Passwort einsetzen
-->
<PlainText>true</PlainText>
</Password>
</AutoLogon>
<RegisteredOrganization></RegisteredOrganization>
<RegisteredOwner>Administrator</RegisteredOwner>
<DisableAutoDaylightTimeSet>false</DisableAutoDaylightTimeSet>
<FirstLogonCommands>
<SynchronousCommand wcm:action="add">
<Description>Password Never Expires</Description>
<CommandLine>cmd /C wmic useraccount where name="Administrator" set PasswordExpires=false</CommandLine>
<Order>1</Order>
<RequiresUserInput>false</RequiresUserInput>
</SynchronousCommand>
<SynchronousCommand wcm:action="add">
<Description>Control Panel View</Description>
<Order>3</Order>
<CommandLine>reg add "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\ControlPanel" /v StartupPage /t REG_DWORD /d 1 /f</CommandLine>
<RequiresUserInput>true</RequiresUserInput>
</SynchronousCommand>
<SynchronousCommand wcm:action="add">
<Order>4</Order>
<Description>Control Panel Icon Size</Description>
<RequiresUserInput>false</RequiresUserInput>
<CommandLine>reg add "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\ControlPanel" /v AllItemsIconView /t REG_DWORD /d 0 /f</CommandLine>
</SynchronousCommand>
<SynchronousCommand wcm:action="add">
<Order>9</Order>
<CommandLine>REG ADD "HKLM\System\CurrentControlSet\Control\Network\NewNetworkWindowOff" /F</CommandLine>
<Description>No New Network Block</Description>
<RequiresUserInput>false</RequiresUserInput>
</SynchronousCommand>
<SynchronousCommand wcm:action="add">
<Order>15</Order>
<Description>Allow RDP</Description>
<RequiresUserInput>false</RequiresUserInput>
<CommandLine>reg add "HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server" /f /v fDenyTSConnections /t REG_DWORD /d 0</CommandLine>
</SynchronousCommand>
<SynchronousCommand wcm:action="add">
<Order>20</Order>
<Description>old context menu</Description>
<RequiresUserInput>false</RequiresUserInput>
<CommandLine>reg add "HKCU\Software\Classes\CLSID\{86ca1aa0-34aa-4e8b-a509-50c905bae2a2}\InprocServer32" /f /ve</CommandLine>
</SynchronousCommand>
<SynchronousCommand wcm:action="add">
<Order>21</Order>
<Description>TaskbarMn</Description>
<RequiresUserInput>false</RequiresUserInput>
<CommandLine>REG ADD "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced" /f /v TaskbarMn /t REG_DWORD /d 0</CommandLine>
</SynchronousCommand>
<SynchronousCommand wcm:action="add">
<Order>22</Order>
<Description>Explorer1</Description>
<RequiresUserInput>false</RequiresUserInput>
<CommandLine>REG ADD "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced" /f /v Hidden /t REG_DWORD /d 1</CommandLine>
</SynchronousCommand>
<SynchronousCommand wcm:action="add">
<Order>23</Order>
<Description>Explorer2</Description>
<RequiresUserInput>false</RequiresUserInput>
<CommandLine>REG ADD "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced" /f /v HideFileExt /t REG_DWORD /d 0</CommandLine>
</SynchronousCommand>
<SynchronousCommand wcm:action="add">
<Order>24</Order>
<Description>Explorer3</Description>
<RequiresUserInput>false</RequiresUserInput>
<CommandLine>REG ADD "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced" /f /v ShowSuperHidden /t REG_DWORD /d 0</CommandLine>
</SynchronousCommand>
<SynchronousCommand wcm:action="add">
<Order>25</Order>
<Description>Explorer4</Description>
<RequiresUserInput>false</RequiresUserInput>
<CommandLine>REG ADD "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced" /f /v TaskbarGlomLevel /t REG_DWORD /d 1</CommandLine>
</SynchronousCommand>
<SynchronousCommand wcm:action="add">
<Order>26</Order>
<Description>Lockscreen</Description>
<RequiresUserInput>false</RequiresUserInput>
<CommandLine>REG ADD "HKLM\SOFTWARE\Policies\Microsoft\Windows\Personalization" /f /v NoLockScreen /t REG_DWORD /d 1</CommandLine>
</SynchronousCommand>
<SynchronousCommand wcm:action="add">
<Order>27</Order>
<Description>Widget</Description>
<RequiresUserInput>false</RequiresUserInput>
<CommandLine>REG ADD "HKLM\SOFTWARE\Policies\Microsoft\Dsh" /f /v AllowNewsAndInterests /t REG_DWORD /d 0</CommandLine>
</SynchronousCommand>
<SynchronousCommand wcm:action="add">
<Order>30</Order>
<Description>Disable_Shutdown_Event_Tracker</Description>
<RequiresUserInput>false</RequiresUserInput>
<CommandLine>REG ADD "HKLM\Software\Policies\Microsoft\Windows NT\Reliability" /f /v ShutdownReasonOn /t REG_DWORD /d 0</CommandLine>
</SynchronousCommand>
<SynchronousCommand wcm:action="add">
<Order>31</Order>
<Description>AudioService1</Description>
<RequiresUserInput>false</RequiresUserInput>
<CommandLine>sc config Audiosrv start=Auto</CommandLine>
</SynchronousCommand>
<SynchronousCommand wcm:action="add">
<Order>32</Order>
<Description>AudioService2</Description>
<RequiresUserInput>false</RequiresUserInput>
<CommandLine>net start "AudioSrv"</CommandLine>
</SynchronousCommand>
<SynchronousCommand wcm:action="add">
<Order>33</Order>
<Description>WLANService</Description>
<RequiresUserInput>false</RequiresUserInput>
<CommandLine>powershell Enable-WindowsOptionalFeature -Online -FeatureName "WirelessNetworking" -NoRestart</CommandLine>
</SynchronousCommand>
<SynchronousCommand wcm:action="add">
<Order>39</Order>
<Description>Telemetry</Description>
<RequiresUserInput>false</RequiresUserInput>
<CommandLine>REG ADD "HKLM\SOFTWARE\Policies\Microsoft\Windows\DataCollection" /f /v AllowTelemetry /t REG_DWORD /d 0</CommandLine>
</SynchronousCommand>
<SynchronousCommand wcm:action="add">
<Order>40</Order>
<Description>WindowUpdate</Description>
<RequiresUserInput>false</RequiresUserInput>
<CommandLine>REG ADD "HKLM\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\AU" /f /v NoAutoUpdate /t REG_DWORD /d 0</CommandLine>
</SynchronousCommand>
<SynchronousCommand wcm:action="add">
<Order>41</Order>
<Description>WindowUpdate2</Description>
<RequiresUserInput>false</RequiresUserInput>
<CommandLine>REG ADD "HKLM\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\AU" /f /v AUOptions /t REG_DWORD /d 4</CommandLine>
</SynchronousCommand>
<SynchronousCommand wcm:action="add">
<Order>42</Order>
<Description>WindowUpdate3</Description>
<RequiresUserInput>false</RequiresUserInput>
<CommandLine>REG ADD "HKLM\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\AU" /f /v ScheduledInstallDay /t REG_DWORD /d 0</CommandLine>
</SynchronousCommand>
<SynchronousCommand wcm:action="add">
<Order>43</Order>
<Description>WindowUpdate4</Description>
<RequiresUserInput>false</RequiresUserInput>
<CommandLine>REG ADD "HKLM\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\AU" /f /v NoAutoRebootWithLoggedOnUsers /t REG_DWORD /d 1</CommandLine>
</SynchronousCommand>
<SynchronousCommand wcm:action="add">
<Order>46</Order>
<Description>AzureArcSetup</Description>
<RequiresUserInput>false</RequiresUserInput>
<CommandLine>powershell -NoProfile -ExecutionPolicy Bypass Remove-WindowsFeature AzureArcSetup</CommandLine>
</SynchronousCommand>
<SynchronousCommand wcm:action="add">
<Order>47</Order>
<Description>TaskbarAL</Description>
<RequiresUserInput>false</RequiresUserInput>
<CommandLine>REG ADD "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced" /f /v TaskbarAl /t REG_DWORD /d 0</CommandLine>
</SynchronousCommand>
</FirstLogonCommands>
<TimeZone>W. Europe Standard Time</TimeZone>
</component>
</settings>
</unattend>
Weißt du schon, wie du sie integrierst?
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
-
- Beobachter
- Beiträge: 3
- Registriert: 30.03.2024, 00:19
- Hat sich bedankt: 12 Mal
- Danke erhalten: 3 Mal
- Gender:
Re: Probleme mit Remot-PowerShell-Sitzung wegen GPOs
Vielen Dank,
und ja hatte mich ja schon damit befasst und selber schon ne autounattend erstellt für WS22 und W10Enterprise.
Die Win10 lief bis zum reboot durch, nur dann ging nix mehr weiter.
Aber bastel erstmal mein Skript fertig, bis auf die PS7 Installation laufen jetzt alle GPOs
und ja hatte mich ja schon damit befasst und selber schon ne autounattend erstellt für WS22 und W10Enterprise.
Die Win10 lief bis zum reboot durch, nur dann ging nix mehr weiter.
Aber bastel erstmal mein Skript fertig, bis auf die PS7 Installation laufen jetzt alle GPOs
- g-force
- Elite
- Beiträge: 2702
- Registriert: 07.10.2016, 19:30
- Hat sich bedankt: 403 Mal
- Danke erhalten: 416 Mal
- Gender:
Re: Probleme mit Remot-PowerShell-Sitzung wegen GPOs
Ich hatte mir was überlegt und daran herumgebastelt: http://gofile.me/7buP9/XTz5ovIJS (entpacken nach "C:\ISO2VM")
Leider funktioniert was nicht: Die neue ISO wird nicht in die VM eingebunden. Die VM wird erstellt und startet, aber bootet natürlich nicht. Alle anderen Schritte funktionieren.Ich finde den Fehler nicht.
Ich habe getestet mit einer Window10.iso direkt von MCT (Media Creation Tool). Man kann auch jede andere ISO nehmen - entweder in "Windows10.iso" umbenennen oder im Script ändern.
Hier das Hauptscript:
Leider funktioniert was nicht: Die neue ISO wird nicht in die VM eingebunden. Die VM wird erstellt und startet, aber bootet natürlich nicht. Alle anderen Schritte funktionieren.Ich finde den Fehler nicht.
Ich habe getestet mit einer Window10.iso direkt von MCT (Media Creation Tool). Man kann auch jede andere ISO nehmen - entweder in "Windows10.iso" umbenennen oder im Script ändern.
Hier das Hauptscript:
Code: Alles auswählen
# Pfade definieren
$WorkPath = "C:\ISO2VM" # Hier den Pfad zum Arbeitsordner angeben
$ISOname = "Windows10" # Hier den Namen der Quell-ISO angeben (ohne .iso)
$VMPath = "C:\ISO2VM" # Hier den Pfad zu den VM angeben
$PCName = "Win10-WORK" # Hier den Namen des Host-PC angeben
$SwitchName = "VLAN_1" # Hier den Namen der VM-NIC angeben
$ISOPath = "$WorkPath\$ISOname.iso"
$XMLpath = "$WorkPath\autounattend.xml"
$TempPath = "$WorkPath\Temp"
$Toolspath = "$WorkPath\tools"
$ISOOutput = "$ISOName-Unattend.iso"
# Funktion zum Entpacken der ISO in ein temporäres Verzeichnis mit 7-Zip
function Extract-IsoWith7Zip {
param (
[string]$IsoPath,
[string]$TempPath
)
# Pfad zur 7-Zip-Executable (anpassen, falls erforderlich)
$zipExe = "$ToolsPath\7-Zip\7z.exe"
# Erstelle das temporäre Verzeichnis, falls es nicht existiert
if (-not (Test-Path $TempPath)) {
New-Item -ItemType Directory -Path $TempPath | Out-Null
Write-Host "Temp-Verzeichnis erstellt" -ForegroundColor Green
}
# Entpacke die ISO in das temporäre Verzeichnis mit 7-Zip
& $zipExe x "$ISOPath" -o"$TempPath" -aoa | Out-Null
Write-Host "ISO wurde entpackt" -ForegroundColor Green
}
# Funktion zum Kopieren der XML-Datei
function Copy-XMLToTempPath {
param (
[string]$XmlPath,
[string]$TempPath
)
# Kopiere die XML-Datei nach $TempPath
Copy-Item -Path $XMLPath -Destination $TempPath | Out-Null
Write-Host "Autounattend.xml wurde kopiert" -ForegroundColor Green
}
# Funktion zum Erzeugen des Ausgabe-ISO mit oscdimg.exe
function Erzeuge-OutputISO {
param (
[string]$TempPath,
[string]$ISOOutput
)
# oscdimg.exe-Befehl zum Erzeugen des Ausgabe-ISO
& "$ToolsPath\oscdimg\oscdimg.exe" -b"$ToolsPath\oscdimg\efisys_noprompt.bin" -h -m -o -u2 -udfver102 "$TempPath" "$WorkPath\$ISOOutput" | Out-Null
# Meldung ausgeben, wenn der Vorgang abgeschlossen ist
Write-Host "Neue ISO wurde erfolgreich erstellt: $ISOOutput" -ForegroundColor Green
}
# Erstelle neue VM
function New-MyVirtualMachine {
param (
[string]$VMName, # Name der virtuellen Maschine
[string]$VMPath, # Pfad, in dem die virtuelle Festplatte gespeichert wird
[string]$WorkPath, # Pfad zum ISO-Image
[string]$ISOOutput, # Name des ISO-Images
[string]$PCName # Name des PCs
)
# Überprüfen, ob eine VM mit dem angegebenen Namen vorhanden ist
$existingVM = Get-VM -Name $VMName -ErrorAction SilentlyContinue
# Falls eine VM mit dem angegebenen Namen vorhanden ist, stoppen und entfernen
if ($existingVM) {
Stop-VM -Name $VMName -Force -Confirm:$false
Remove-VM -Name $VMName -Force -Confirm:$false
Remove-Item "$VMPath\$VMName.vhdx" -Force -ErrorAction SilentlyContinue
}
# Neue VM erstellen
New-VM -Name $VMName -MemoryStartupBytes 4GB -Generation 2 -NewVHDPath "$VMPath\$VMName.vhdx" -NewVHDSizeBytes 50GB -SwitchName $SwitchName
# DVD-Laufwerk hinzufügen und ISO mounten
Add-VMScsiController -VMName $VMName
Set-VMDvdDrive -VMName $VMName -Path $WorkPath\$ISOOutput
$DVDDrive = Get-VMDvdDrive -VMName $VMName
Set-VMFirmware -VMName $VMName -FirstBootDevice $DVDDrive
# VM-Einstellungen konfigurieren
Set-VMProcessor -VMName $VMName -Count 2
Set-VM -VMName $VMName -AutomaticCheckpointsEnabled $false -CheckpointType Disabled
Enable-VMIntegrationService -VMName $VMName -Name 'Gastdienstschnittstelle'
Set-VMVideo -VMName $VMName -ResolutionType Maximum -HorizontalResolution 1366 -VerticalResolution 768
Set-VM -VMName $VMName -DynamicMemory -MemoryMinimumBytes 1024mb -MemoryMaximumBytes 4GB -Confirm:$false
Set-VM -VMName $VMName -AutomaticStartAction StartIfRunning -AutomaticStopAction Save -Confirm:$false
# TPM aktivieren
$owner = Get-HgsGuardian UntrustedGuardian
$kp = New-HgsKeyProtector -Owner $owner -AllowUntrustedRoot
Set-VMMemory -DynamicMemoryEnabled $false -VMName $VMName
Set-VMKeyProtector -VMName $VMName -KeyProtector $kp.RawData
Enable-VMTPM -VMName $VMName
Set-VMSecurity -VMName $VMName -EncryptStateAndVmMigrationTraffic $true
# VM starten und darauf zugreifen
Start-VM -Name $VMName
vmconnect $PCName $VMName
}
# Starte Funktionen
Extract-IsoWith7Zip -IsoPath $ISOPath -TempPath $TempPath # ISO mit 7-Zip entpacken
Copy-XMLToTempPath -XmlPath $XMLPath -TempPath $TempPath # Kopiere die XML-Datei in das temporäre Verzeichnis
Erzeuge-OutputISO -TempPath $TempPath -ISOOutput $ISOOutput # Neue ISO mit OSCDIMG erstellen
Remove-Item -Path $TempPath -Recurse -Force # Lösche Temp-Ordner
New-MyVirtualMachine -VMName "$ISOName" -VMPath "$VMPath" -WorkPath "$WorkPath" -ISOName "$ISOOutput" -PCName "$PCName"
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: 3084
- Registriert: 12.05.2018, 12:33
- Hat sich bedankt: 390 Mal
- Danke erhalten: 504 Mal
- Gender:
Re: Probleme mit Remot-PowerShell-Sitzung wegen GPOs
hab´ jetzt den ganzen Nachmittag damit verbracht, den Fehler zu finden. Erfolglos!
Ist wahrscheinlich ganz einfach. Aber ich komme nicht drauf. Alles Mögliche getestet.
Sorry!
Aber vlt. wäre es sowieso einfacher, aus der ISO direkt eine VHDX zu machen und darin dann die autounattend.xml einzupflanzen?
viewtopic.php?p=364135#p364135
Ist wahrscheinlich ganz einfach. Aber ich komme nicht drauf. Alles Mögliche getestet.
Sorry!
Aber vlt. wäre es sowieso einfacher, aus der ISO direkt eine VHDX zu machen und darin dann die autounattend.xml einzupflanzen?
viewtopic.php?p=364135#p364135
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
-
- Beobachter
- Beiträge: 3
- Registriert: 30.03.2024, 00:19
- Hat sich bedankt: 12 Mal
- Danke erhalten: 3 Mal
- Gender:
Re: Probleme mit Remot-PowerShell-Sitzung wegen GPOs
Was mir auf die Schnelle aufgefallen ist, dass Du zwei Variablen drinnen hast die es so nicht gibt, hab die mal abgeändert und poste Dir das komplette Skriptg-force hat geschrieben: 07.04.2024, 14:14 Ich hatte mir was überlegt und daran herumgebastelt: http://gofile.me/7buP9/XTz5ovIJS (entpacken nach "C:\ISO2VM")
Leider funktioniert was nicht: Die neue ISO wird nicht in die VM eingebunden. Die VM wird erstellt und startet, aber bootet natürlich nicht. Alle anderen Schritte funktionieren.Ich finde den Fehler nicht.
Ich habe getestet mit einer Window10.iso direkt von MCT (Media Creation Tool). Man kann auch jede andere ISO nehmen - entweder in "Windows10.iso" umbenennen oder im Script ändern.
Hier das Hauptscript:Code: Alles auswählen
# Pfade definieren $WorkPath = "C:\ISO2VM" # Hier den Pfad zum Arbeitsordner angeben $ISOname = "Windows10" # Hier den Namen der Quell-ISO angeben (ohne .iso) $VMPath = "C:\ISO2VM" # Hier den Pfad zu den VM angeben $PCName = "Win10-WORK" # Hier den Namen des Host-PC angeben $SwitchName = "VLAN_1" # Hier den Namen der VM-NIC angeben $ISOPath = "$WorkPath\$ISOname.iso" $XMLpath = "$WorkPath\autounattend.xml" $TempPath = "$WorkPath\Temp" $Toolspath = "$WorkPath\tools" $ISOOutput = "$ISOName-Unattend.iso" # Funktion zum Entpacken der ISO in ein temporäres Verzeichnis mit 7-Zip function Extract-IsoWith7Zip { param ( [string]$IsoPath, [string]$TempPath ) # Pfad zur 7-Zip-Executable (anpassen, falls erforderlich) $zipExe = "$ToolsPath\7-Zip\7z.exe" # Erstelle das temporäre Verzeichnis, falls es nicht existiert if (-not (Test-Path $TempPath)) { New-Item -ItemType Directory -Path $TempPath | Out-Null Write-Host "Temp-Verzeichnis erstellt" -ForegroundColor Green } # Entpacke die ISO in das temporäre Verzeichnis mit 7-Zip & $zipExe x "$ISOPath" -o"$TempPath" -aoa | Out-Null Write-Host "ISO wurde entpackt" -ForegroundColor Green } # Funktion zum Kopieren der XML-Datei function Copy-XMLToTempPath { param ( [string]$XmlPath, [string]$TempPath ) # Kopiere die XML-Datei nach $TempPath Copy-Item -Path $XMLPath -Destination $TempPath | Out-Null Write-Host "Autounattend.xml wurde kopiert" -ForegroundColor Green } # Funktion zum Erzeugen des Ausgabe-ISO mit oscdimg.exe function Erzeuge-OutputISO { param ( [string]$TempPath, [string]$ISOOutput ) # oscdimg.exe-Befehl zum Erzeugen des Ausgabe-ISO & "$ToolsPath\oscdimg\oscdimg.exe" -b"$ToolsPath\oscdimg\efisys_noprompt.bin" -h -m -o -u2 -udfver102 "$TempPath" "$WorkPath\$ISOOutput" | Out-Null # Meldung ausgeben, wenn der Vorgang abgeschlossen ist Write-Host "Neue ISO wurde erfolgreich erstellt: $ISOOutput" -ForegroundColor Green } # Erstelle neue VM function New-MyVirtualMachine { param ( [string]$VMName, # Name der virtuellen Maschine [string]$VMPath, # Pfad, in dem die virtuelle Festplatte gespeichert wird [string]$WorkPath, # Pfad zum ISO-Image [string]$ISOOutput, # Name des ISO-Images [string]$PCName # Name des PCs ) # Überprüfen, ob eine VM mit dem angegebenen Namen vorhanden ist $existingVM = Get-VM -Name $VMName -ErrorAction SilentlyContinue # Falls eine VM mit dem angegebenen Namen vorhanden ist, stoppen und entfernen if ($existingVM) { Stop-VM -Name $VMName -Force -Confirm:$false Remove-VM -Name $VMName -Force -Confirm:$false Remove-Item "$VMPath\$VMName.vhdx" -Force -ErrorAction SilentlyContinue } # Neue VM erstellen New-VM -Name $VMName -MemoryStartupBytes 4GB -Generation 2 -NewVHDPath "$VMPath\$VMName.vhdx" -NewVHDSizeBytes 50GB -SwitchName $SwitchName # DVD-Laufwerk hinzufügen und ISO mounten Add-VMScsiController -VMName $VMName Set-VMDvdDrive -VMName $VMName -Path $WorkPath\$ISOOutput $DVDDrive = Get-VMDvdDrive -VMName $VMName Set-VMFirmware -VMName $VMName -FirstBootDevice $DVDDrive # VM-Einstellungen konfigurieren Set-VMProcessor -VMName $VMName -Count 2 Set-VM -VMName $VMName -AutomaticCheckpointsEnabled $false -CheckpointType Disabled Enable-VMIntegrationService -VMName $VMName -Name 'Gastdienstschnittstelle' Set-VMVideo -VMName $VMName -ResolutionType Maximum -HorizontalResolution 1366 -VerticalResolution 768 Set-VM -VMName $VMName -DynamicMemory -MemoryMinimumBytes 1024mb -MemoryMaximumBytes 4GB -Confirm:$false Set-VM -VMName $VMName -AutomaticStartAction StartIfRunning -AutomaticStopAction Save -Confirm:$false # TPM aktivieren $owner = Get-HgsGuardian UntrustedGuardian $kp = New-HgsKeyProtector -Owner $owner -AllowUntrustedRoot Set-VMMemory -DynamicMemoryEnabled $false -VMName $VMName Set-VMKeyProtector -VMName $VMName -KeyProtector $kp.RawData Enable-VMTPM -VMName $VMName Set-VMSecurity -VMName $VMName -EncryptStateAndVmMigrationTraffic $true # VM starten und darauf zugreifen Start-VM -Name $VMName vmconnect $PCName $VMName } # Starte Funktionen Extract-IsoWith7Zip -IsoPath $ISOPath -TempPath $TempPath # ISO mit 7-Zip entpacken Copy-XMLToTempPath -XmlPath $XMLPath -TempPath $TempPath # Kopiere die XML-Datei in das temporäre Verzeichnis Erzeuge-OutputISO -TempPath $TempPath -ISOOutput $ISOOutput # Neue ISO mit OSCDIMG erstellen Remove-Item -Path $TempPath -Recurse -Force # Lösche Temp-Ordner New-MyVirtualMachine -VMName "$ISOName" -VMPath "$VMPath" -WorkPath "$WorkPath" -ISOName "$ISOOutput" -PCName "$PCName" PAUSE
Code: Alles auswählen
# Pfade definieren
$WorkPath = "C:\ISO2VM" # Hier den Pfad zum Arbeitsordner angeben
$ISOname = "Windows10" # Hier den Namen der Quell-ISO angeben (ohne .iso)
$VMPath = "C:\ISO2VM" # Hier den Pfad zu den VM angeben
$PCName = "Win10-WORK" # Hier den Namen des Host-PC angeben
$SwitchName = "VLAN_1" # Hier den Namen der VM-NIC angeben
$ISOPath = "$WorkPath\$ISOname.iso"
$XMLpath = "$WorkPath\autounattend.xml"
$TempPath = "$WorkPath\Temp"
$Toolspath = "$WorkPath\tools"
$ISOOutput = "$ISOName-Unattend.iso"
# Funktion zum Entpacken der ISO in ein temporäres Verzeichnis mit 7-Zip
function Invoke-IsoExtraction {
param (
[string]$IsoPath,
[string]$TempPath
)
# Pfad zur 7-Zip-Executable (anpassen, falls erforderlich)
$zipExe = "$ToolsPath\7-Zip\7z.exe"
# Erstelle das temporäre Verzeichnis, falls es nicht existiert
if (-not (Test-Path $TempPath)) {
New-Item -ItemType Directory -Path $TempPath | Out-Null
Write-Host "Temp-Verzeichnis erstellt" -ForegroundColor Green
}
# Entpacke die ISO in das temporäre Verzeichnis mit 7-Zip
& $zipExe x "$ISOPath" -o"$TempPath" -aoa | Out-Null
Write-Host "ISO wurde entpackt" -ForegroundColor Green
}
# Funktion zum Kopieren der XML-Datei
function Copy-XMLToTempPath {
param (
[string]$XmlPath,
[string]$TempPath
)
# Kopiere die XML-Datei nach $TempPath
Copy-Item -Path $XMLPath -Destination $TempPath | Out-Null
Write-Host "Autounattend.xml wurde kopiert" -ForegroundColor Green
}
# Funktion zum Erzeugen des Ausgabe-ISO mit oscdimg.exe
function New-OutputISO {
param (
[string]$TempPath,
[string]$ISOOutput
)
# oscdimg.exe-Befehl zum Erzeugen des Ausgabe-ISO
& "$ToolsPath\oscdimg\oscdimg.exe" -b"$ToolsPath\oscdimg\efisys_noprompt.bin" -h -m -o -u2 -udfver102 "$TempPath" "$WorkPath\$ISOOutput" | Out-Null
# Meldung ausgeben, wenn der Vorgang abgeschlossen ist
Write-Host "Neue ISO wurde erfolgreich erstellt: $ISOOutput" -ForegroundColor Green
}
# Erstelle neue VM
function New-MyVirtualMachine {
param (
[string]$VMName, # Name der virtuellen Maschine
[string]$VMPath, # Pfad, in dem die virtuelle Festplatte gespeichert wird
[string]$WorkPath, # Pfad zum ISO-Image
[string]$ISOOutput, # Name des ISO-Images
[string]$PCName # Name des PCs
)
# Überprüfen, ob eine VM mit dem angegebenen Namen vorhanden ist
$existingVM = Get-VM -Name $VMName -ErrorAction SilentlyContinue
# Falls eine VM mit dem angegebenen Namen vorhanden ist, stoppen und entfernen
if ($existingVM) {
Stop-VM -Name $VMName -Force -Confirm:$false
Remove-VM -Name $VMName -Force -Confirm:$false
Remove-Item "$VMPath\$VMName.vhdx" -Force -ErrorAction SilentlyContinue
}
# Neue VM erstellen
New-VM -Name $VMName -MemoryStartupBytes 4GB -Generation 2 -NewVHDPath "$VMPath\$VMName.vhdx" -NewVHDSizeBytes 50GB -SwitchName $SwitchName
# DVD-Laufwerk hinzufügen und ISO mounten
Add-VMScsiController -VMName $VMName
Set-VMDvdDrive -VMName $VMName -Path $WorkPath\$ISOOutput
$DVDDrive = Get-VMDvdDrive -VMName $VMName
Set-VMFirmware -VMName $VMName -FirstBootDevice $DVDDrive
# VM-Einstellungen konfigurieren
Set-VMProcessor -VMName $VMName -Count 2
Set-VM -VMName $VMName -AutomaticCheckpointsEnabled $false -CheckpointType Disabled
Enable-VMIntegrationService -VMName $VMName -Name 'Gastdienstschnittstelle'
Set-VMVideo -VMName $VMName -ResolutionType Maximum -HorizontalResolution 1366 -VerticalResolution 768
Set-VM -VMName $VMName -DynamicMemory -MemoryMinimumBytes 1024mb -MemoryMaximumBytes 4GB -Confirm:$false
Set-VM -VMName $VMName -AutomaticStartAction StartIfRunning -AutomaticStopAction Save -Confirm:$false
# TPM aktivieren
$owner = Get-HgsGuardian UntrustedGuardian
$kp = New-HgsKeyProtector -Owner $owner -AllowUntrustedRoot
Set-VMMemory -DynamicMemoryEnabled $false -VMName $VMName
Set-VMKeyProtector -VMName $VMName -KeyProtector $kp.RawData
Enable-VMTPM -VMName $VMName
Set-VMSecurity -VMName $VMName -EncryptStateAndVmMigrationTraffic $true
# VM starten und darauf zugreifen
Start-VM -Name $VMName
vmconnect $PCName $VMName
}
# Starte Funktionen
Extract-IsoWith7Zip -IsoPath $ISOPath -TempPath $TempPath # ISO mit 7-Zip entpacken
Copy-XMLToTempPath -XmlPath $XMLPath -TempPath $TempPath # Kopiere die XML-Datei in das temporäre Verzeichnis
Erzeuge-OutputISO -TempPath $TempPath -ISOOutput $ISOOutput # Neue ISO mit OSCDIMG erstellen
Remove-Item -Path $TempPath -Recurse -Force # Lösche Temp-Ordner
New-MyVirtualMachine -VMName "$ISOName" -VMPath "$VMPath" -WorkPath "$WorkPath" -ISOName "$ISOOutput" -PCName "$PCName"
PAUSE