Jump to content

Printserver wechseln


Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Empfohlene Beiträge

Geschrieben

Hallo NG,

ich stehe vor der Aufgabe den Printserver zu migrieren von einem NT4 zu einem W2k3. Die Drucker sind mittlerweile schon auf dem neuen angelegt und nun steht es an auf den clients die alten verbindungen zu trennen und die neuen anzulegen. Ich habe vor das mit einem anmeldeskript zu erledigen, weil nur 600 rechner einfach zu viele sind. Habe es schon bis hier geschafft:

*

Const PrnShare1 = "\\xpsrvprint\nit6"

Const AlterServer = "srvprints"

Set IWshNetwork2 = CreateObject("Wscript.Network")

Set drucker = IWshNetwork2.EnumPrinterConnections

For x = 0 to drucker.count-1 step 2

port = drucker(x)

name = drucker(x+1)

If InStr(LCase(name),LCase(AlterServer))>0 then

On Error Resume Next

IWshNetwork2.RemovePrinterConnection name, true, true

On Error Goto 0

end if

Next

On Error Resume Next

IWshNetwork2.AddWindowsPrinterConnection PrnShare1

*

Das löscht schon mal die alten und verbindet statisch einen neuen Drucker. Was ist aber mit den "querverbundenen" Druckern, die sich ein mitarbeiter aber ohne mein zutun installiert hat, weil er ihn braucht? Eigentlich weiss ich durch das skript wie der Drucker heißt und den neuen Server kenne ich auch. Aber wie baue ich es ein, dass er mir den alten drucker automatisch mit dem neuen server verbindet?

ich wäre echt dankbar.

 

ToM

Geschrieben

Theoretisch stelle ich mir das so vor.....

*

Const NeuerServer = "NeuerPrintserver"

Variable PrnShareX = NeuerServer + Name 'Kommt aus der For-Schleife

IWshNetwork2.AddWindowsPrinterConnection PrnShareX

*

Klingt doch einfach, oder? Aber wie baue ich die Variable?

Geschrieben

Hab es ... so wird jeder alte pfad in den neuen umgewandelt...aber den standarddrucker bekomme ich nicht hin. habe gelesen man kann den aktuellen standarddrucker nciht ermitteln,stimmt das?

 

*

Set IWshNetwork2 = CreateObject("Wscript.Network")

Set drucker = IWshNetwork2.EnumPrinterConnections

For x = 0 to drucker.count-1 step 2

port = drucker(x)

name = drucker(x+1)

msgbox name

If InStr(UCase(name),UCase("SRVPRINTS"))>0 then

On Error Resume Next

name1=replace(name,"SRVPRINTS","xpsrvprint")

msgbox name1

IWshNetwork2.AddWindowsPrinterConnection name1

IWshNetwork2.RemovePrinterConnection name, true, true

end if

Next

*

Geschrieben
Was ist aber mit den "querverbundenen" Druckern, die sich ein mitarbeiter aber ohne mein zutun installiert hat, weil er ihn braucht?
Hallo,

 

von denen weisst du doch nichts oder?

 

Also löschen und ignorieren!

 

Oder gibt es einen guten Grund etwas anders zu tun?

 

Ich sage das mal so provokant.

 

Gruß

 

Edgar

Geschrieben

hi,

 

nein von denen wusste ich nichts, aber kennst ja die mitarbeiter. eine verkaufsmitabeiterin braucht halt manchmal einen drucker im versand, damit die dann möglichst schnell den lieferschein haben....kennst das bestimmt. hab alles soweit hinbekommen, und TIPPS UND TRICKS hab ich das Skript hinterlegt....Kommentare?

 

Gruß ToM

Geschrieben
...eine verkaufsmitabeiterin braucht halt manchmal einen drucker im versand, .... hab alles soweit hinbekommen, und TIPPS UND TRICKS hab ich das Skript hinterlegt....Kommentare?
Hallo,

 

letztendlich muss man ja den Betrieb am Laufen halte und darf ihn nicht sabotieren. Das ist nämlich eine Wanderung auf einem verdammt schmalen Grat.

Solange das nicht zu einem Dschungel auswächst und handhabbar ist, muss man halt damit leben.

Ich habe den Usern alle Netzwerkdrucker weggenommen, es gibt keine Freigaben, es gibt keine Drucker an Workstations. Gut, fachkundige Leute können IP- und Portadressen in Erfahrung bringen, ist anscheinend bis nicht geschehen. Falls doch, nach dem nächsten Boot ist alles wieder gut. Sie würden die Lust verlieren und doch zu mir kommen.

 

Gruß

 

Edgar

Geschrieben

Hay hay,

 

habe mal das folgende Script auf http://cwashington.netreach.net/depo/comments.asp?Index=1014&author=fosterr_2000@excite.com&action=view gefunden:

____________________________________________________________________________________

On Error Resume Next

strComputer = "."

 

'creates shell object to read registry

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

 

 

'gets cimv provider from WMI

Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")

 

'creates network object to manipulate printers

set wshNetwork = WScript.CreateObject("Wscript.Network")

 

'gets default printer

prnDefault = objShell.RegRead ("HKCU\Software\Microsoft\WindowsNT\CurrentVersion\Windows\Device")

 

 

'gets all printers

Set colItems = objWMIService.ExecQuery("Select * from Win32_Printer", ,48)

 

'cycles through the printers and sets up the new ones

For Each objItem in colItems

'wscript.Echo objItem.ServerName

if objItem.ServerName = "\\oldserver" Or "\\OLDSERVER" THEN

wshNetwork.RemovePrinterConnection (objItem.Name)

wshNetwork.AddWindowsPrinterConnection ("\\newserver\" & objItem.ShareName)

End If

Next

divchar = InStr(prnDefault, ",")

oldSrv = InStr(prnDefault, "rhea")

 

if oldSrv <> "0" Then

newPrinter = Mid(prnDefault,8,(divchar-1))

objNetwork.SetDefaultPrinter("\\oldserver\" & newprinter)

____________________________________________________________________________________

 

Aber wie das funktioniert, und was da genau gemacht wird.... :confused::confused:

Geschrieben

[ÄHM]....ja

[NeuerServer] und [AlterServer] solltest du mit deinen Werten befüllen.

Der Teil, der die besonderen Drucker speziell behandelt (ist dementsprechend kommentiert) kannst du eigentlich ganz weglassen, stört das skript aber auch in deiner umgebung nicht, da der teil einfach weggelassen wird.

Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Schreibe einen Kommentar

Du kannst jetzt antworten und Dich später registrieren. Falls Du bereits ein Mitglied bist, logge Dich jetzt ein.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung jetzt entfernen

  Only 75 emoji are allowed.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor-Fenster leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

×
×
  • Neu erstellen...