trynerror
Goto Top

Umstellung Printserver - Drucker anlegen

Hallo zusammen,

folgendes Scenario:

der alte Printserver "printsvr1.altedömäne.local" wird durch den neuen "printsvr2.neuedomäne.local" abgelöst.

Die User haben die Netzwerkdrucker "drucker1" , "drucker2" usw. über printsvr1.altedömäne.local hinzugefügt. Da es zu viele Abteilungen gibt, die unterschiedliche Drucker verwenden, ist es über GPOs zu viel Arbeit.
An sowas hätte ich vielleicht gedacht:

Wenn "Drucker" mit printsvr1.altedömäne.local verbunden dann
"Drucker" in Variable %drucker% schreiben
Drucker löschen
%drucker% mit printsvr2.neuedomäne.local neu verbinden

jemand mit VB Kenntnissen unter uns ? :D

Grüße

Content-Key: 306008

Url: https://administrator.de/contentid/306008

Printed on: April 26, 2024 at 15:04 o'clock

Mitglied: 129413
Solution 129413 Jun 02, 2016 updated at 08:36:03 (UTC)
Goto Top
Gibt's doch alles schon, alter Käse ...
Migration von Netzwerkdruckern auf Arbeitsplatzsystemen mit Hilfe von Powershell

Mit einer vernünftigen OU-Struktur wäre eine Umstellung aber auch per GPO kein Aufwand.

Gruß skybird
Member: emeriks
Solution emeriks Jun 02, 2016 updated at 08:41:43 (UTC)
Goto Top
Hi,
wenn Du es Knall auf Fall machen kannst, sprich den alten Server raus und den neuen rein:
  1. den alten Server umbennen
  2. dem neuen Server den Namen des alten geben - oder - einen Alias (CNAME) im DNS anlegen alterName-->neuerName und auf dem neuen Server DisableStrictNameChecking aktivieren.

Wenn Du schreittweise umstellen willst/musst, dann hätte ich da noch ein altes Script von mir. Dieses könntest Du selektiv per GPO als Loginscript zuweisen.

Ohne jede Gewähr!

On Error Resume Next

Const OldPS = "..."   'hier den NetBIOS-Namen des alten Servers eintragen  
Const OldPS2 = "..."  'hier den FQDN des alten Severs eintragen  
Const NewPS = "..."  'hier den FQDN ds neuen Servers eintragen  

Dim WshShell : Set WshShell = CreateObject("Wscript.Shell")  
Dim WshNet :   Set WshNet = CreateObject("Wscript.Network")  
Dim Printers : Set Printers = WshNet.EnumPrinterConnections
Dim DefaultPrinter : DefaultPrinter = ""  

'aktuellen Standarddrucker merken  
DefaultPrinter = WshShell.RegRead("HKCU\Software\Microsoft\Windows NT\CurrentVersion\Windows\Device")  

'Drucker suchen und ersetzen  
For i = 0 to Printers.Count - 1 Step 2
  ValueParts = Split(Printers.Item(i + 1), "\")  
  If UBound(ValueParts) = 3 Then
    If LCase(ValueParts(2)) = LCase(OldPS)  Or _
       LCase(ValueParts(2)) = LCase(OldPS2) Then
      'Drucker trennen  
      WshNet.RemovePrinterConnection Printers.Item(i + 1), True, True
      'Drucker neu verbinden  
      ValueParts(2) = NewPS 
      WshNet.AddWindowsPrinterConnection Join(ValueParts,"\")  
    End If
  End If  
Next

'Standarddrucker wieder setzen  
ValueParts = Split(DefaultPrinter, "\")  
If UBound(ValueParts) = 3 Then
  If LCase(ValueParts(2)) = LCase(OldPS)  Or _
     LCase(ValueParts(2)) = LCase(OldPS2) Then
    ValueParts(2) = NewPS 
    WshNet.SetDefaultPrinter Split(Join(ValueParts,"\"), ",")(0)  
  End If
End If  

E.
Member: trynerror
trynerror Jun 02, 2016 updated at 08:43:47 (UTC)
Goto Top
Viele Dank!

Danach habe ich gesucht.