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)

Anleitung Microsoft Windows Server

Mitglied: rzlbrnft

rzlbrnft (Level 2) - Jetzt verbinden

06.05.2014 um 14:57 Uhr, 5362 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
Batch & Shell
Migration von Netzwerkdruckern auf Arbeitsplatzsystemen mit Hilfe von Powershell
Anleitung von DaniBatch & Shell

Hallo zusammen, wir ziehen in nächster Zeit alle Printserver auf Windows Server 2012R2 hoch. Das Problem dabei ist, dass ...

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 ...

Neue Wissensbeiträge
Viren und Trojaner

Deaktivierter Keylogger in HP Notebooks entdeckt

Information von bitcoin vor 4 StundenViren und Trojaner

Ein Grund mehr warum man Vorinstallationen der Hersteller immer blank bügeln sollte Der deaktivierte Keylogger findet sich im vorinstallierten ...

Router & Routing

Lets Encrypt kommt auf die FritzBox

Information von bitcoin vor 8 StundenRouter & Routing

In der neuesten Labor-Version der FB7490 integriert AVM unter anderem einen Let's Encrypt Client für Zugriffe auf das Webinterface ...

Internet

Was nützt HTTPS, wenn es auch von Phishing Web-Seiten genutzt wird

Information von Penny.Cilin vor 3 TagenInternet17 Kommentare

HTTPS richtig einschätzen Ob man eine Webseite via HTTPS aufruft, zeigt ein Schloss neben der Adresse im Webbrowser an. ...

Webbrowser

Bugfix für Firefox Quantum released - Installation erfolgt teilweise nicht automatisch!

Erfahrungsbericht von Volchy vor 4 TagenWebbrowser8 Kommentare

Hallo zusammen, gem. dem Artike von heise online wurde mit VersionFirefox 57.0.1 sicherheitsrelevante Bugs behoben. Entgegen der aktuellen Veröffentlichung ...

Heiß diskutierte Inhalte
Batch & Shell
Trusted Sites für alle User auf dem PC einpflegen
Frage von xXTaKuZaXxBatch & Shell12 Kommentare

Aufgabestellung: Es sollen auf 1 PC (bzw. mehreren PCs) vertrauenswürdige Sites per Powershell eingetragen werden, die für alle User ...

Voice over IP
Telefonstörung - Ortsrufnummern kein Verbindungsaufbau
Frage von Windows10GegnerVoice over IP10 Kommentare

Hallo, sowohl bei uns als auch beim Opa ist es über VoIP nicht möglich Ortsrufnummern anzurufen. Es kommt nach ...

Cloud-Dienste
PIM als SaaS Nutzungsgebühr
Frage von vanTastCloud-Dienste8 Kommentare

Moin, wir haben uns ein PIM (Product Information Management) nach unseren Ansprüchen für viel Geld als SaaS-Lösung bauen lassen. ...

Vmware
DOS 6.22 in VMWare mit CD-ROM
gelöst Frage von hesperVmware7 Kommentare

Hallo zusammen! Ich hab ein saublödes Problem. Es ist eine VMWare mit DOS 6.22 zu erstellen auf dem ein ...