Top-Themen

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

Powershell Script zur Migration auf einen neuen Druckserver (Printserver-Migration)

Mitglied: rzlbrnft

rzlbrnft (Level 2) - Jetzt verbinden

06.05.2014 um 14:57 Uhr, 5812 Aufrufe

Wir sind gerade bei der Umstellung auf Server 2012 und haben mittlerweile alle XP Kisten aus unserem Netzwerk entfernt.
Da alle Server neue Namen bekommen stellte sich mir die Aufgabe eine Lösung zu finden um den jeweiligen Druckserver Namen möglichst einfach zu ändern.
Da viele User aufgrund von wechselnden Standorten individuelle Einstellungen nutzen verwenden wir keine per GPO bereitgestellten Drucker.

Wir hatten bereits einige Male VBScript verwendet, funktionierte manchmal gut manchmal nicht so, daher haben wir es jetzt mal mit Powershell versucht.
Heraus kam ein relativ einfaches übersichtliches Script was mit Parametern aus einer Batch heraus aufgerufen werden kann.
Vielleicht nützt es ja jemandem etwas der sowas sucht.

Hier das Script.

01.
# Script changeprinters.ps1 by finzlbrother aka rzlbrnft 
02.
$ErrorActionPreference = "SilentlyContinue" 
03.
 
04.
# Read print server from the arguments 
05.
$OldPrintserver = $args[0]  
06.
$NewPrintserver = $args[1]  
07.
 
08.
# Script ends here if no arguments present 
09.
if($OldPrintserver -and $NewPrintserver) 
10.
{  
11.
	# Read all existing printers on the old server 
12.
	$Printers = Get-WMIObject Win32_Printer -Filter "Name LIKE '%$OldPrintserver%' "  
13.
 
14.
	# Create empty array for list of old printers 
15.
	$oldPrinters = @()  
16.
 
17.
	if($Printers)  
18.
	{  
19.
		  # Define network object 
20.
		  $global:net = new-Object -com WScript.Network  
21.
 
22.
		  # Path to new printer connection is generated and connected, if printer is default the new printer is also set to default 
23.
		  foreach ($Printer in $Printers)  
24.
		  {  
25.
 
26.
			$newPrinter = "\\" + $NewPrintserver + "\" + $Printer.Sharename 
27.
 
28.
			$global:net.AddWindowsPrinterConnection($newPrinter)  
29.
			if ($Printer.Default) {	$global:net.SetDefaultPrinter($newPrinter) }  
30.
			 
31.
			$newPrinter = ""  
32.
			$oldPrinters += $Printer.Name 
33.
 
34.
		  }  
35.
 
36.
		  #Old printers are deleted 
37.
		  foreach ($oldPrinter in $oldPrinters) 
38.
39.
			$global:net.RemovePrinterConnection($oldPrinter)  
40.
41.
	}  
42.
}
Dieses Script kann man jetzt als *.ps1 im Netlogon Ordner ablegen.
Aus einer Batchdatei heraus wird das Script folgendermaßen aufgerufen:

01.
powershell Set-ExecutionPolicy RemoteSigned 
02.
powershell "\\domain.local\NETLOGON\PS\changeprinters.ps1 druckserver1 druckserver2"
druckserver1 wäre hier der alte Server, druckserver2 der neue.
Voraussetzung ist, das der Druckername auf beiden Servern gleich bleibt und sowohl Treiber für 32bit als auch für 64bit Systeme vorhanden sind.

Auf Windows 7 ist das ausführen von unsignierten Scripts per default deaktiviert.
Macht hier natürlich wenig Sinn, heißt es muss entweder per Powershell die Policy auf RemoteSigned gesetzt werden oder in der GPO unter "Computerverwaltung\Administrative Vorlagen\Windows-Komponenten\Windows PowerShell" das Skripting für alle aktiviert werden. Wenn man mehr mit Powershell machen will macht der Weg über die GPO mehr Sinn.
Ähnliche Inhalte
Vmware

VMware - V2V Migration von unabhängigen Clustern

Erfahrungsbericht von Holle1991Vmware2 Kommentare

Hallo zusammen, vielleicht stand schon mal jemand von Euch vor der Aufgabe, eine Virtuelle Maschine im Live Betrieb aus ...

Xenserver

Tipp gegen BSOD nach Xen V2P-Migration von Windows

Tipp von DerWoWussteXenserver

Moin. Kleiner Tipp zu einem doch sehr speziellen Problem: Wir haben hier 2 verschiedene Win8.1-Systeme zu Testzwecken "devirtualisiert", also ...

Windows Server

Umstellung SHA 1 auf SHA 2 - Migration der CA von CSP auf KSP

Tipp von BadgerWindows Server

Prinzipiell sollten diesen Punkt ja die meisten schon erledigt haben bzw. gibt es ja schon viele Anleitungen dafür im ...

Hyper-V

Einfaches Powershell Script zum Backup aller HyperV virtuellen Maschinen auf NAS Freigabe

Anleitung von rzlbrnftHyper-V

Die NAS die wir benutzen kann keine Computerkonten in die Schreibberechtigung für eine Freigabe aufnehmen. Da Export-VM immer mit ...

Neue Wissensbeiträge
Internet

Europa baut Zensurinfrastruktur auf: EU-Parlament stimmt für Upload-Filter, Leistungsschutzrecht und gegen KI-Forschung

Information von Frank vor 2 TagenInternet9 Kommentare

Eine sehr schlechte Entscheidungen für die Zukunft Europas ist gefallen: Der Rechtsausschuss im EU-Parlament stimmte heute morgen in einer ...

Windows 10

Mikrofon von Headset geht nach Update auf Windows 10 1803 nicht mehr

Tipp von Deepsys vor 4 TagenWindows 102 Kommentare

Ich verwende ein Plantronics Headset das per USB mit dem Windows 10 PC verbunden ist. Damit kann ich auch ...

Video & Streaming

Ruckelfreies Fernsehen auf Smartphone oder Tablet - in SD oder gar HD - Eine Alternative zum Fritz DVB-C Receiver

Anleitung von power-user vor 5 TagenVideo & Streaming9 Kommentare

Wer kennt das nicht: Man möchte gemütlich auf dem Balkon sitzen und vielleicht grillen und dabei das WM-Spiel gucken ...

Erkennung und -Abwehr
Trendmicro WFBS 10 ist in deutsch verfügbar!
Tipp von VGem-e vor 5 TagenErkennung und -Abwehr4 Kommentare

Servus Kollegen, downloadbar unter

Heiß diskutierte Inhalte
LAN, WAN, Wireless
WLAN-Übersicht wie FritzWLAN jedoch für PC gesucht
gelöst Frage von HenereLAN, WAN, Wireless16 Kommentare

Servus, ich suche für einen Windows PC eine Anwendung die so ähnlich wie die FritzWLAN App auf dem Smartphone ...

Netzwerke
Netzwerkkommunikation von Windows 10 aus Freigabe mit Windows XP funktioniert nicht
gelöst Frage von KLinnebankNetzwerke14 Kommentare

Hallo werte Gemeinde, ja, es ist Freitag. Aber das ist KEINE Freitagsfrage Ich habe ein für mich völlig wirres ...

Festplatten, SSD, Raid
Server Architektur mit RAID 5 - wozu interne Platten?
Frage von Pierre78Festplatten, SSD, Raid10 Kommentare

Hallo, ich beschäftige mich gerade mit RAID Systemen. Ich habe mir einen gebrauchten Dell PowerEdge R515 gekauft. Dieser hat ...

Samba
Netzlaufwerk über VPN hat Probleme
Frage von geocastSamba8 Kommentare

Hallo Zusammen Ich habe hier ein QNAP TS-269 Pro (aktuellste Firmware) NAS in einem entfernten Standort, der über VPN ...