# Installiere alle Mounts aus target.csv # Geprüft wird, ob das Laufwerk bereits vorhanden # 11.05.2025 da function Mount-Drive { param ( [string]$DriveLetter, [string]$TargetPath ) try { & "C:\Program Files (x86)\WinFsp\bin\launchctl-x64.exe" start virtiofs viofs$DriveLetter $TargetPath \\.\${DriveLetter}: Write-Verbose "Laufwerk hinzugefügt: $DriveLetter" } catch { Write-Error "Fehler beim Hinzufügen des Laufwerks ${DriveLetter}: $_" } } function Import-VMInfo { param ( [string]$Path ) if (Test-Path $Path) { return Get-Content -Path $Path -Raw | ConvertFrom-Json } else { Write-Error "Fehler beim Einlesen der VMInfo Datei ($Path nicht gefunden)." Write-Error "Tipp: Beim Neustart der VM wird diese Datei neu angelegt." Pause exit } } # Laufwerk Y: mit weiteren Mountpoint-Infos mounten & "C:\Program Files\Virtio-Win\VioFS\virtiofs.exe" -m Y: #Mount-Drive -DriveLetter "Y" -TargetPath "VM-Data" # VMInfo aus JSON File einlesen $VMInfoPath = "Y:\.vminfo.json" # Schleife, die auf das Laufwerk wartet while (-not (Test-Path $VMInfoPath)) { Write-Host "Warte auf $VMInfoPath..." Start-Sleep -Seconds 1 } $VMInfo = Import-VMInfo -Path $VMInfoPath # Weitere Laufwerke einbinden #foreach ($virtiofs in $VMInfo.VirtioFS) { # $targetDrive = $virtiofs.Drive # if (-not (Get-PSDrive -Name $targetDrive -ErrorAction SilentlyContinue)) { # Mount-Drive -DriveLetter $targetDrive -TargetPath $virtiofs.Target # } else { # Write-Error "Laufwerk bereits vorhanden: $targetDrive" # } #} # Drucker installieren foreach ($drucker in $VMInfo.Printers) { # Überprüfen, ob der Drucker bereits vorhanden ist $druckerName = $drucker.Name $druckerVorhanden = Get-Printer | Where-Object { $_.Name -eq $druckerName } # Umwandlung in HTTP-URL $httpUrl = $drucker.IppURL -replace "ipp://", "http://" -replace "122.1", "122.1:631" if (-not $druckerVorhanden) { # Drucker hinzufügen, wenn er nicht vorhanden ist Add-Printer -PortName $httpUrl -Name $druckerName -DriverName "Microsoft IPP Class Driver" Write-Host "Drucker hinzugefuegt: $druckerName" } else { Write-Host "Drucker bereits vorhanden: $druckerName" } }