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

Migration von Netzwerkdruckern auf Arbeitsplatzsystemen mit Hilfe von Powershell

Mitglied: Dani

Dani (Level 5) - Jetzt verbinden

02.01.2014, aktualisiert 14.01.2014, 7540 Aufrufe, 3 Danke

Hallo zusammen,
wir ziehen in nächster Zeit alle Printserver auf Windows Server 2012R2 hoch. Das Problem dabei ist, dass diese Printserver neue IP-Adressen und DNS-Namen erhalten werden. D.h. an sämtlichen Arbeitsplatzsysteme müssen die alten Netzwerkdrucker gelöscht und die identischen vom neuen Druckserver verbunden werden.

Der Ablauf sieht in etwa so aus:
1) Alle Netzwerkdrucker auslesen
2) Standarddrucker auslesen
3) Alle Netzwerkdrucker löschen
4) Netzwerkdrucker auf dem neuen Druckserver verbinden
5) Standarddrucker setzen

Nun würden einige vielleicht sagen, dass Ganze soll jeder Mitarbeiter manuell für sich durchführen. Bei uns sind es zu viele Drucker und zu viele Mitarbeiter. Außerdem würden mit Sicherheit die Supportanfragen im Umstellungszeitraum stark zunehmen, was wiederum unnötig Supporter bindet. Es bleibt an Ende nur eine Möglichkeit: Automatisierte Umstellung ohne Benutzereingriff.

Bei uns bleiben die Druckernamen auf den neuen Systemen die Gleichen wie bisher. Diese Entscheidung kommt uns natürlich entgegen.
Ich habe mir bereits ein Batchskript angeschaut. Dies setzt leider diverse Tools, etc... voraus. Was mir eher ein Dorn im Auge ist. da man hinterher aufräumen muss.

Allgemein sind Skriptsprachen nicht mein Ding und habe mich daher für ein Powershellskript entschieden. Voraussetzung ist, dass auf den Clients min. Powershell Version 1 installiert ist.

Das Script sieht so aus:
01.
# Author: xxx 
02.
# Create: 24.12.2013 
03.
# Modified: 02.01.2013 
04.
 
05.
# Version: 0.2 
06.
- Fix case insensitive 
07.
 
08.
 
09.
$old_printserver = "printserver01" 
10.
$new_printserver = "printserver02" 
11.
 
12.
# Alle Drucker auslesen, die als Netzwerkdrucker markiert sind und in ein Array speichern. 
13.
$printers = @(Get-WMIObject Win32_Printer | where{$_.network -eq "true"} | Select-Object -expandProperty Name) 
14.
 
15.
 
16.
# Standarddrucker auslesen und in eine Variable speichern 
17.
$default_printer = Get-WMIObject Win32_Printer | where{$_.default -eq "true"} | Select-Object -expandProperty Name 
18.
 
19.
 
20.
# Alle Drucker löschen, die im Array stehen. 
21.
foreach($element in $printers) { (New-Object -ComObject WScript.Network).RemovePrinterConnection("$element") } 
22.
 
23.
 
24.
# Alle Drucker wieder anlegen, welche im Array stehen. 
25.
$printer = [WMIClass]"\\.\root\cimv2:Win32_Printer" 
26.
foreach($element in $printers) { $printer.AddPrinterConnection($element -Replace("$old_printserver", "$new_printserver")) } 
27.
 
28.
 
29.
# Standarddrucker wieder definieren 
30.
$default_printer = $default_printer.replace("$old_printserver", "$new_printserver") 
31.
 
32.
$printer = Get-WmiObject Win32_Printer | ? { $_.name -like "*$default_printer*"} 
33.
$printer.SetDefaultPrinter()
Getestet wurde das Skript unter Windows Professional/Enterprise 7, SP1 (32Bit und 64Bit) mit UAC.
Gleich am Anfang definiert man den DNS-Namen des alten und neuen Printservers. Ansonsten ist nichts zu berücksichtigen.
Wichtig ist, wenn das Skript nicht entspechend signiert ist, muss die Skript-Ausführungsrichtlinie angepasst werden. Wie das geht steht in diesem Technetartikel.


Viele Grüße,
Dani
Ähnliche Inhalte
Batch & Shell
Powershell elevated
Tipp von AnkhMorporkBatch & Shell2 Kommentare

Ein kleiner Tipp am Rande für alle PS-Novizen (ich wars einfach leid): Um eine Konsole mit elevated rights schnell ...

Batch & Shell
Weiterentwicklung von Powershell
Information von Penny.CilinBatch & Shell

Anbei ein Artikel im Heise Newsticker bzgl. Powershell: Systemverwaltung: PowerShell goes Cross-Plattform

Batch & Shell

Powershell: Googlemail (GMail) nativ mit Powershell verwalten

Anleitung von colinardoBatch & Shell2 Kommentare

1. Vorwort Google bietet über die GMail-API die Voraussetzungen um sein Google-Mail-Konto über diverse Programmierschnittstellen (PHP/Javascript/etc. pp) zu verwalten. ...

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

Neue Wissensbeiträge
Windows 10

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

Tipp von Deepsys vor 18 StundenWindows 10

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 1 TagVideo & Streaming7 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 1 TagErkennung und -Abwehr4 Kommentare

Servus Kollegen, downloadbar unter

Windows Update

Microsoft Patchday Juni 2018 - BSOD, obwohl noch kein Patch freigegeben

Erfahrungsbericht von diemilz vor 1 TagWindows Update5 Kommentare

Hallo zusammen, wir hatten hier letzte Woche ein massives Problem. Alles begann damit, dass ein Mitarbeiter kurz vor Feierabend ...

Heiß diskutierte Inhalte
Windows Userverwaltung
User Überwachung
Frage von YellowcakeWindows Userverwaltung33 Kommentare

Hey ich habe von unserem neuem Datenschutzbeauftragten ein kleines Horror Paket bekommen. Ich soll wenn es möglich ist, das ...

Outlook & Mail
Nachweis des Löschens einer Email nach DSGVO in Outlook
Frage von linuxadmOutlook & Mail18 Kommentare

Hallo Forum, wie wahrscheinlich viele von Euch kämpfe ich mit der Umsetzung der DSGVO bei meinen Kunden. Konkret geht ...

Video & Streaming
PVR-Projekt - RTSP - Streams auf NAS aufnehmen - welche Tools sind am leichtesten einzurichten ?
Frage von power-userVideo & Streaming18 Kommentare

Hallo zusammen, hier die Details zur obigen Frage: AAusgangspunkt / Grundvoraussetzungen Wir betreiben hier ein kleines Heimnetzwerk. 2 Smartphones, ...

Batch & Shell
Powershell Netzwerkdrucker auflisten
gelöst Frage von schiggi85Batch & Shell18 Kommentare

Hallo zusammen, ich möchte mit dem invoke-command bei einem remoteclient die installierten Netzwerkdrucker des Users abfragen. Nur klappt das ...