embago
Goto Top

User Drucker migrieren

Ich suche ein script oder sonst eine Möglichkeit die Drucker der User auf einen neuen Printserver zu migrieren

Hallo zusammen,
Wir haben in der Firma einen neuen Win2003 Printserver (Print03) der den alten Win2000 Printserver (Print02) ablösen soll.
Ich suche ein script oder sonst eine Möglichkeit wie den Usern ihre bestehenden Drucker behalten können, aber sie auf den neuen Printserver migriert werden, ohne das man jedes Gerät einzeln anfassen muß und soll genau die selben Drucker auch auf dem Print03 haben

Beispiel:
Aktuell:
User hat die Drucker np012, np013 und np015 auf dem Print02

Ziel:
User soll die Drucker np012, np013 und np015 auf dem Print03 bekommen

Bin für jeder Anregung dankbar :o)

Beste Grüsse
embago

Content-Key: 93206

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

Printed on: April 23, 2024 at 10:04 o'clock

Mitglied: 60730
60730 Jul 30, 2008 at 08:58:25 (UTC)
Goto Top
Servus,

hast du Kixtart als Loginskript im Einsatz?
Wenn nein, damit kannst du das Login Script wirklich sehr genial steuern - Versuch es damit.

Wenn ja, passe dir die notwendigen Parameter an.
Den Schnippsel dann 2* kopieren und die jeweiligen anderen Drucker dafür einsetzen.

	if existkey( "HKEY_CURRENT_USER\Printers\Connections\,,Print02,np012") ="0"  
		SHELL "%windir%\system32\RUNDLL32.EXE printui.dll,PrintUIEntry /q /dn /n \\Print02\np012"  
		SHELL "%windir%\system32\RUNDLL32.EXE printui.dll,PrintUIEntry /q /in /n \\Print03\np012"  
	endif

Gruß
Member: SlainteMhath
SlainteMhath Jul 30, 2008 at 09:51:18 (UTC)
Goto Top
Hi,

Ich hab' sowas schon mal per VB Script im Loginscript gelöst:

(der Code ist Freihand editiert und ohne gewähr *g*)
Option Explicit
Dim objNetwork, objPrinter, i
Dim fso, tf, strFile, StrPath
Dim oldServer, newServer
Dim oldPrinter, newPrinter

Set objNetwork = CreateObject("WScript.Network")  
Set objPrinter = objNetwork.EnumPrinterConnections
Set fso = CreateObject("Scripting.FileSystemObject")  

oldServer="\\server01\"  
newServer="\\server02\"  

If objPrinter.Count = 0 Then
	Wscript.Quit(0)
End If

For i = 0 to objPrinter.Count -1 Step 2
	oldPrinter=objPrinter.Item(i+1)
	
	If UCase(left(oldPrinter,Len(oldServer)))=UCase(oldServer) Then
		newPrinter=newserver & Right(oldPrinter,Len(oldPrinter)-Len(oldServer))
		on error resume next
		objNetwork.RemovePrinterConnection oldPrinter, True, True
		objNetwork.AddWindowsPrinterConnection newPrinter
	End if
Next

Wscript.Quit(1)

lg,
Slainte
Member: embago
embago Jul 31, 2008 at 13:04:47 (UTC)
Goto Top
@ TimoBeil:
Danke für deinen Tip, Kixtart setzen wir noch nicht ein, ich werde es aber mal in meiner Testumgebung versuchen, kenne viele Leute die darauf schwören ;o)
Und wenn es gut ist, warum nicht einsetzen face-wink

@ Slainte
GANZ GROSSES KINO !!!!!
Vielen, vielen Dank :o)
Das script läuft perfekt, habe erst die Admins migriert, es dann mit einigen Usern getestet und ab Montag wird es für alle eingesetzt, schätze das ich dank deiner Hilfe nächste Woche schon den alten Printserver abschalten kann face-wink

Sonnige Grüsse aus Köln
embago
Mitglied: 68154
68154 Aug 04, 2008 at 15:22:21 (UTC)
Goto Top
if existkey( "HKEY_CURRENT_USER\Printers\Connections\,,Print02,np012") ="0"
SHELL "%windir%\system32\RUNDLL32.EXE printui.dll,PrintUIEntry /q /dn /n \\Print02\np012"
SHELL "%windir%\system32\RUNDLL32.EXE printui.dll,PrintUIEntry /q /in /n \\Print03\np012"
endif

Ist es möglich dies so umzubauen, dass es zum Beispiel den Print02 mit Print03 ersetzt aber den dazugehörigen Drucker in der Reg stehen lässt oder soll ich da auf andere möglichkeiten zurückgreifen?
Mitglied: 60730
60730 Aug 05, 2008 at 11:16:06 (UTC)
Goto Top
Servus,

@malus
Ist es möglich dies so umzubauen, dass es zum Beispiel den Print02 mit Print03 ersetzt
aber den dazugehörigen Drucker in der Reg stehen lässt oder soll ich da auf andere möglichkeiten zurückgreifen?

die Frage "verstehe" ich nicht so ganz:
Versuche dir daher soweit wie ich es verstanden habe zu erklären.

Mit der Zeile
if existkey..
prüft das Script, ob es überhaupt aktiv werden soll - nicht jeder hat den Drucker - der dahinter steht und evtl. ist der "job" ja schon gelaufen.

Wenn der Drucker "ersetzt" wird, dann wird durch das "ersetzen" natürlich auch der Regkey gelöscht.
Wenn du uns aufklärst, was du haben willst, kann auch eine Lösung gefunden werden.

Gruß