Created
May 11, 2015 05:51
-
-
Save sinky/5e6dbc93e9935abce39b to your computer and use it in GitHub Desktop.
Migrate Printer from old Print Server to new Print Server with Powershell, maintain Default Printer.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
$Printers = Get-WmiObject win32_printer | |
$oldPrintserver = "OLD_PRINTSERVER_HOSTNAME" | |
$newPrintserver = "NEW_PRINTSERVER_HOSTNAME" | |
foreach($oldPrinter in $Printers) { | |
Write-Host "Bearbeite Drucker: "$oldPrinter.Name | |
#if( $oldPrinter.Name.StartsWith("Microsoft XPS Document Writer") -Or $oldPrinter.Name.StartsWith("Fax") -Or $oldPrinter.Name.StartsWith("An OneNote 2010 Senden") ) { | |
# Write-Host "Lösche Drucker: "$oldPrinter.Name | |
# $oldPrinter.PSBase.Delete() | |
#} | |
if( $oldPrinter.Name.StartsWith("\\$oldPrintserver") ) { | |
Write-Host "Migriere Drucker: "$oldPrinter.Name | |
$pos = $oldPrinter.Name.LastIndexOf("\") | |
$PrinterHost = $oldPrinter.Name.Substring(0, $pos) | |
$PrinterName = $oldPrinter.Name.Substring($pos+1) | |
Write-Host "Verbinde Drucker \\$newPrintserver\$PrinterName" | |
$WMIPrinter = [WMIClass]"\\.\root\cimv2:Win32_Printer" | |
$res = $WMIPrinter.AddPrinterConnection("\\$newPrintserver\$PrinterName") | |
$newPrinter = Get-WMIObject -query "Select * From Win32_Printer Where Name = '\\\\$newPrintserver\\$PrinterName'"; | |
if($newPrinter) { | |
if($oldPrinter.Default) { | |
Write-Host "Setzte Standarddrucker: \\$newPrintserver\$PrinterName" | |
$newPrinter.SetDefaultPrinter() | |
} | |
Write-Host "Lösche Drucker: "$oldPrinter.Name | |
$oldPrinter.Delete() | |
}else{ | |
Write-Host "Fehler beim Verbinden. "$oldPrinter.Name" wurde nicht gelöscht." | |
} | |
} | |
} | |
Write-Host "Press any key to continue ..." | |
$x = $host.UI.RawUI.ReadKey("NoEcho,IncludeKeyDown") |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment