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

Änderung von Servernamen per Batch nach Neuinstallation von Druckern auf einem neuen Printserver

Frage Microsoft Windows Netzwerk

Mitglied: 68154

68154 (Level 1)

04.08.2008, aktualisiert 18.10.2012, 6413 Aufrufe, 6 Kommentare

Wir müssen einen Printserver austauschen, da sein Alter sich auf die Stabilität auswirkt...

Nachdem wir die Drucker ( ca. 30 oder mehr, kann ich im Moment nicht sagen ) auf dem neuen Printserver installiert haben, müssen wir unseren Mitarbeitern möglichst einfach die Drucker umstellen können ( in Windows ). Dies würden wir gerne über einen Batch machen den wir an diese Mitarbeiter verteilen würden. Dieser Batch soll einfach den Pfad mit dem alten Servernamen durch den Pfad mit dem neuen Servernamen ersetzten. Die Bezeichnungen der einzelnen Drucker wird sich nicht ändern.

Leider habe ich nach intensiver Suche keinen Batch mit solchen Möglichkeiten gefunden.

Desshalb ist meine Frage ob dies realisierbar ist und ob ihr bereits von so einem Batch wisst.
Unsere Mitarbeiter sind User und sehr verstreut, desshalb wäre dies die einfachste Lösung.

Vielen Dank für eure Aufmerksamkeit und ich freue mich schon auf konstruktive Anregungen.
Mitglied: 60730
04.08.2008, aktualisiert 18.10.2012
Servus,

du mußt nur richtig suchen

Gruß
Bitte warten ..
Mitglied: 68154
04.08.2008 um 15:39 Uhr
Vielen Dank für deine Antwort.
Hab ich wohl überlesen.
Ich werd das so gleich mal austesten.

Gruss
Bitte warten ..
Mitglied: MegaTraveller
04.08.2008 um 15:51 Uhr
Hallo,

vielleicht hilft Dir ja das hier weiter.

Bye
MT
Bitte warten ..
Mitglied: stbewo
05.08.2008 um 07:42 Uhr
Hi,

wir hatten 2003 auch einmal die gleiche Umstellung wie Du. Für den Benutzer hatten wir folgendes Script benutzt. Kannst Du auch im Login Script einbauen, da ein Registry Eintrag erzeugt wird, der bei jedem Ausführen überprüft wird, ob schon einmal gelaufen. Das Script musst Du natürlich an Deine Bedürfnisse noch anpassen.

Gruß
Stefan

Option Explicit

Dim Text, i, PS1, PS2, PS3, PS4, PS5, PS6, nPS1, nPS2, nPS3, nPS4, nPS5, nPS6
Dim drucker, server, tempname, fso, fi2, message, intro, def_printer, old_def_printer, error_meldung, reg_eintrag
Dim WshNetwork, WshShell, oDevices ' Objektvariable
Const ForWriting = 8 ' 2 = Write und 8 = anhängen

Set WshShell = WScript.CreateObject("WScript.Shell")

' Erstelle neues WshNetwork-Objekt, welches man zum Zugriff
' auf die Netzwerk-Eigenschaften brauchen.
Set WshNetwork = WScript.CreateObject("WScript.Network")

On error resume next

if WshShell.RegRead("HKCU\Software\Shortcut\chgPrinter\chgPrinterVersion") <> "100" Then
Select Case err.number
Case 0
error_meldung = " Registryeintrag vorhanden " & vbCRLF
Case -2147024894
error_meldung = " Registryeintrag fehlt " & vbCRLF
Case Else
error_meldung = " Unbekannter Fehler: Code " & Err.Number & " Bezeichnung : " & Err.Description & vbCRLF
End Select

' Alte Druckserver
PS1 = "DE-MANN-PRINT1"
PS2 = "DE-MANN-PRINT2"
PS3 = "DE-MANN-PRINT3"
PS4 = "DE-MANN-PRINT4"
PS5 = "DE-MANN-PRINT5"
PS6 = "DE-MANN-PRINT6"
' Neue Druckserver
nPS1 = "DE-MANN-PS1"
nPS2 = "DE-MANN-PS2"
nPS3 = "DE-MANN-PS3"
nPS4 = "DE-MANN-PS4"
nPS5 = "DE-MANN-PS5"
nPS6 = "DE-MANN-PS6"

intro = "Es werden jetzt ihre installierten Drucker auf andere Druckserver umgestellt." &vbCRLF &vbCRLF
intro = intro + "Die Drucker auf den Servern DE-MANN-PRINT(X) werden jetzt auf die Drucker, der Server DE-MANN-PS(X) umgestellt." &vbCRLF &vbCRLF
intro = intro + "Bereits umgestellte Drucker werden erkannt." &vbCRLF &vbCRLF

msgBox intro, vbInformation, "Druckerumstellung"

def_printer = WshShell.RegRead("HKCU\Software\Microsoft\Windows NT\CurrentVersion\Windows\Device")
old_def_printer = Split(def_printer, ",", -1, 1)
'msgBox "Alter Default Printer = : " & old_def_printer(0)
def_printer = Replace(ucase(old_def_printer(0)), "PRINT", "PS", 1, 1, 1)
'msgBox "Neuer Default Printer = : " & def_printer

' Schreiben der Logdatei "Printer.txt" in "C:\"
Set fso = CreateObject("Scripting.FileSystemObject")
Set fi2 = fso.OpenTextFile("C:\PRINTER.TXT", ForWriting, true) ' Ausgabedatei

' Jetzt die Zuordnungen auflisten
Set oDevices = WshNetwork.EnumPrinterConnections

' Überschrift der Ausgabe

Text = vbCRLF &" Zusammenfassung der Druckerzuordnungen" & vbCRLF
Text = text &"-----------------------------------------------------------------------" & vbCRLF & vbCRLF
fi2.WriteLine "------------S T A R T ----D R U C K E R U M S T E L L U N G -----------" & vbCRLF

fi2.Writeline "Datum = " & Date & " Uhrzeit = " & time & vbCRLF
fi2.Writeline "Computername = " & WshNetwork.ComputerName & vbCRLF & "Benutzername = " & WshNetwork.UserName & vbCRLF
fi2.Writeline "Old Default Printer = " & old_def_printer(0) & vbCRLF
fi2.WriteLine "-----------------------------------------------------------------------" & vbCRLF

' Untertitel der Ausgabe
Text = text & " Die alten Druckerzuordnungen lauteten:" & vbCRLF & vbCRLF
text = text & "Old Default Printer = " & old_def_printer(0) & vbCRLF

' Ermitteln der alten (aktuell) definierten Druckerobjekte
For i = 0 To oDevices.Count-1 Step 2
' Ausgabe bei jedem Durchlauf ergänzen
Text = " " & Text & oDevices(i) & " " & oDevices(i+1) & vbCRLF
' Variable splitten wo ein \ vorkommt
tempname = Split(oDevices(i+1), "\", 2, 1)
for each server in tempname
' Variable abermals splitten wo ein \ vorkommt, damit Server und Drucker übrig bleibt
drucker = Split(server, "\", -1, 1)
' Prüfen welcher Printserver gefunden wurde
if Instr(1, ucase(server), PS1, 1) Then
' Druckerzuordnung zu neuem Server herstellen
WshNetwork.AddWindowsPrinterConnection "\\"&nPS1&"\"&drucker(2)
' Druckerzuordnung löschen
WshNetwork.RemovePrinterConnection "\\"&PS1&"\"&drucker(2)
end if
if Instr(1, ucase(server), PS2, 1) Then
' Druckerzuordnung zu neuem Server herstellen
WshNetwork.AddWindowsPrinterConnection "\\"&nPS2&"\"&drucker(2)
' Druckerzuordnung löschen
WshNetwork.RemovePrinterConnection "\\"&PS2&"\"&drucker(2)
end if
if Instr(1, ucase(server), PS3, 1) Then
' Druckerzuordnung zu neuem Server herstellen
WshNetwork.AddWindowsPrinterConnection "\\"&nPS3&"\"&drucker(2)
' Druckerzuordnung löschen
WshNetwork.RemovePrinterConnection "\\"&PS3&"\"&drucker(2)
end if
if Instr(1, ucase(server), PS4, 1) Then
' Druckerzuordnung zu neuem Server herstellen
WshNetwork.AddWindowsPrinterConnection "\\"&nPS4&"\"&drucker(2)
' Druckerzuordnung löschen
WshNetwork.RemovePrinterConnection "\\"&PS4&"\"&drucker(2)
end if
if Instr(1, ucase(server), PS5, 1) Then
' Druckerzuordnung zu neuem Server herstellen
WshNetwork.AddWindowsPrinterConnection "\\"&nPS5&"\"&drucker(2)
' Druckerzuordnung löschen
WshNetwork.RemovePrinterConnection "\\"&PS5&"\"&drucker(2)
end if
if Instr(1, ucase(server), PS6, 1) Then
' Druckerzuordnung zu neuem Server herstellen
WshNetwork.AddWindowsPrinterConnection "\\"&nPS6&"\"&drucker(2)
' Druckerzuordnung löschen
WshNetwork.RemovePrinterConnection "\\"&PS6&"\"&drucker(2)
end if
Select Case err.number
Case 0
message = " Info: Druckervorgang " & "\\"&server&"\"&drucker(2) & " erfolgreich durchgeführt." & vbCRLF
'fi2.WriteLine message
Case -2147023688
message = " Fehler: Drucker " & "\\"&server&"\"&drucker(2) & " existiert nicht." & vbCRLF
'fi2.WriteLine message
Case Else
message = "Unbekannter Fehler: Code " & Err.Number & " " & Err.Description & vbCRLF
fi2.WriteLine message
End Select
next
Next

' Abermals die neuen Druckereinstellungen auslesen
Set oDevices = WshNetwork.EnumPrinterConnections
' Ausgabetext definieren
Text = " " & Text & vbCRLF &vbCRLF & " Die neuen Druckerzuordnungen lauten jetzt:" & vbCRLF &vbCRLF

' Ermitteln der alten (aktuell) definierten Druckerobjekte
For i = 0 To oDevices.Count-1 Step 2
Text = " " & Text & oDevices(i) & " " & oDevices(i+1) & vbCRLF
Next

' Default Printer setzen
WshNetwork.SetDefaultPrinter def_printer

text = text & "New Default Printer = " & def_printer & vbCRLF

MsgBox Text, vbOkonly + vbInformation

fi2.WriteLine Text & "----------------------------------------------------" & vbCRLF & error_meldung
fi2.WriteLine " " & vbCRLF & vbCRLF & "--------------------------- E N D E --------------------------------" & vbCRLF

'In Registry schreiben, um bei jedem Start zu prüfen ob schon gelaufen
WshShell.RegWrite "HKCU\Software\shortcut\chgPrinter\chgPrinterVersion", "100"

Set fi2 = Nothing

else
' msgBox "Fehlermeldung = : " & err.Number
' MsgBox "Ist schon gelaufen"
WScript.Quit
end if
WScript.Quit
Bitte warten ..
Mitglied: 68154
05.08.2008 um 09:23 Uhr
Hallo zusammen

Ich hab noch eine Frage.
Wie verhält es sich, wenn ich wohl die Serverbezeichnungen die ich ändern will kenne, allerdings die Drucker der einzelnen User nicht kenne. Ich möchte z.B. einfach nur den Eintrag bei HKEY_CURRENT_USER - Printers - Connections so ändern, dass es die Serverbezeichnung ändert den Drucker aber unverändert stehen lässt.

Vielen Dank für eure Anregungen
Bitte warten ..
Mitglied: stbewo
05.08.2008 um 09:28 Uhr
Mit dem Script wird nur der Servername geändert und die Druckernamen bleiben erhalten.
Bitte warten ..
Ähnliche Inhalte
Netzwerke
Kann über Printserver nicht drucken
Frage von drucklosNetzwerke8 Kommentare

Hallo, bin neu in diesem Forum und muß auch gestehen, dass ich von Netzwerkdruckereinrichten eigentlich keine Ahnung habe und ...

Windows Server
Drucker drucken nur ein Exemplar - Printserver W2K8
Frage von Xaero1982Windows Server3 Kommentare

Tach Zusammen, ich habe hier einen W2k8 (32Bit) Server auf dem der Druckserver-Dienst installiert ist. Urplötzlich besteht auf einigen ...

Windows Netzwerk
Drucker über GPO verteilen ohne Printserver
Frage von DoubleKWindows Netzwerk6 Kommentare

Hallo Gemeinschaft Ich habe bereits nach einer Lösung gesucht aber nicht wirklich was gefunden. Da die Netzwerkverbindung relativ schmalbandig ...

Netzwerkprotokolle
Drucker Printserver schläft ein
gelöst Frage von mario87Netzwerkprotokolle13 Kommentare

Hallo zusammen, ich habe Probleme mit einem Brother HL2250DN, der über das Netzwerk angeschlossen ist und über den 5 ...

Neue Wissensbeiträge
Microsoft Office

Office 2010 Starter wieder installieren auf einer frischen Windows-Installation

Tipp von Lochkartenstanzer vor 12 StundenMicrosoft Office

Moin, vor ein paar Tagen schlug bei mir ein Kunde auf, der sein Widnows 7 geschrottet und es inklusive ...

Datenbanken

Upgrade MongoDB 3.4 auf 3.6

Erfahrungsbericht von Frank vor 14 StundenDatenbanken

Seit kurzem gibt es das 3.6 Update für die MongoDB: Sicherheit, das Sortieren, Aggregation und auch die Performance wurde ...

SAN, NAS, DAS

Backdoor Zugang und Upload-Bug in vielen Western Digital MyCloud Geräten

Information von Frank vor 15 StundenSAN, NAS, DAS2 Kommentare

James Bercegay von der Firma Gulftech hat die Fehler an Western Digital gemeldet und das Unternehmen stellt bereits ein ...

Microsoft Office

Outlook 2016 - Beim Weiterleiten keine PDF Anhänge mehr - KB4011626 entfernen

Erfahrungsbericht von Deepsys vor 18 StundenMicrosoft Office1 Kommentar

Wenn ihr feststellt das ihr beim Weiterleiten von E-Mails keine PDF Anhänge mehr versendent, dann dankt Microsoft. Diese tolle ...

Heiß diskutierte Inhalte
Windows Netzwerk
Drucker isolieren in Windows Domäne
gelöst Frage von lcer00Windows Netzwerk14 Kommentare

Hallo zusammen, habe eine Windows-AD (2012R2) in der es einen Druckerserver gibt. Mittlerweile verliere ich das Vertrauen in die ...

Server-Hardware
Veeam Backup Server stürzt alle paar Tage ab
Frage von Leo-leServer-Hardware11 Kommentare

Hallo Forum, ich habe momentan folgendes Problem. Veeam Backup and Replication 9.5 u2 auf voll gepatchten DL 380 G7 ...

Windows 10
Win10 Laptop findet keine Netzwerkgeräte und Freigaben mehr
Frage von CoolzeroWindows 1010 Kommentare

Hi, seit ein paar Tagen habe ich das Problem das mein Windows 10 Laptop keine Geräte mehr in der ...

Batch & Shell
Dateien verschieben mit batch
gelöst Frage von michi-ffmBatch & Shell10 Kommentare

Hallo Zusammen hat jemand evtl eine Idee? Zunächst hier das Skript: Leider werden keine UNC-Pfade unterstüzt, kann mir jemand ...