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

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

Link zu diesem Kommentar

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

*

Link zu diesem Kommentar

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

Link zu diesem Kommentar
...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

Link zu diesem Kommentar

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:

Link zu diesem Kommentar
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...