Hey,
wir haben einen neuen PrintServer. Wie werden jetzt die Drucker auf den Clients neu verbunden?
- $strNewPrintserver = "FQDN von deinem Printserver"
-
- # Prüft, ob das Skript bei diesem Benutzer bereits gelaufen ist
- If (-not (Test-Path "$env:TEMP\$env:USERNAME-printers.txt")) {
-
- Write-Host "Druckermigration wird gestartet..."
-
- # Alle Drucker auslesen, die als Netzwerkdrucker markiert sind
- Get-WMIObject Win32_Printer | where{$_.network -eq "true"} | Select ShareName, Default, Name | ForEach {
-
- # Ausgabe Freigabename
- $_.ShareName
-
- # Ausgabe Standarddrucker
- $_.Default
-
- # Drucker löschen
- (New-Object -ComObject WScript.Network).RemovePrinterConnection($_.Name)
-
- # Neue Drucker anlegen
- $printer = [WMIClass]"\\.\root\cimv2:Win32_Printer"
- $printer.AddPrinterConnection("\\" + $strNewPrintserver + "\" + $_.Sharename)
-
- # Standarddrucker einrichten
- if($_.Default -eq $true) {
-
- $printer = Get-WmiObject Win32_Printer | ? { $_.name -like "\\" + $strNewPrintserver +"\" + $_.Sharename }
- $printer.SetDefaultPrinter()
- }
- }
-
- # Ausgabe
- write-host "Fertig" -ForegroundColor Green | Out-File "$env:TEMP\$env:USERNAME-printers.txt"
- }
-