simsa84
Goto Top

Umleitung der User nach Printmigration

Hallo,

habe eine Printmigration durchgeführt. Die Drucker sind alle auf dem neuen Server vorhanden und auch bereit.

Jetzt ist die Frage wie bekomme ich es hin, das die Standarddrucker die ja dem alten Server noch zugewiesen sind, auf den neuen Server umleite ohne das ich eine Rundmail losschicke oder alles neu einrichten muss. Ist dies überhaupt möglich? Die Drucker sind vorher über den Inet Browser zugewiesen worden. habe überlegt es über IIS neu zu verweisen aber dies bringt mir nichts da ja die Drucker schon als Standarddrucker eingerichtet sind!

Muss ich alles neu einrichten oder ist es machbar einen Verweis zu machen ohne das wie schon erwähnt die User etwas mitbekommen?

I need help!!!

Danke im voraus...

Content-Key: 174531

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

Printed on: April 24, 2024 at 00:04 o'clock

Member: Ausserwoeger
Ausserwoeger Oct 12, 2011 at 09:02:41 (UTC)
Goto Top
Also wir lösen die Druckerzuordnung über KIX ! Ich würde mir das tool mal anschauen du kannst damit die alten drucker automatisiert entfernen und die neuen automatisiert installieren lassen.

LG Andreas Ausserwöger
Member: Simsa84
Simsa84 Oct 12, 2011 at 09:06:38 (UTC)
Goto Top
Ok ich werds mal anschauen danke!

Falls trotzdem wer noch was weiß bitte schreiben ;)
Member: Simsa84
Simsa84 Oct 12, 2011, updated at Oct 18, 2012 at 16:48:45 (UTC)
Goto Top
;=========================================
; Kix-Script - Change PrintServer.Kix
;=========================================

Break on

$prtsrvold="\\Server1"
$prtsrvnew="\\Server8"
$Index = 0
$TempPrinter = ""

;----------------------------------------------------
;Erstellt eine Liste mit allen installierten
Druckern
;----------------------------------------------------

Dim $PrinterArray[40]
:Loop
If @16034=0
$TempPrinter = $TempPrinter +
EnumValue("HKEY_CURRENT_USER\Software\Microsoft\Windows
NT\CurrentVersion\PrinterPorts",$Index)

back-to-top","

$Index = $Index + 1
GoTo "Loop"
EndIf

$TempPrinter = Trim($TempPrinter)
$Length = Len("$TempPrinter") - 2
$TempPrinter =
Left("$TempPrinter","$Length")
$PrinterArray =
Split("$TempPrinter",",")

;------------------------------
;Ermittelt den Standard Drucker
;------------------------------

$DefaultPrinter =
ReadValue("HKEY_CURRENT_USER\Software\Microsoft\Windows
NT\CurrentVersion\Windows","Device")
If $DefaultPrinter <> ""
$End =
InStr("$DefaultPrinter",",")
- 1
$DefaultPrinter =
Left("$DefaultPrinter","$End")
Else
$DefaultPrinter = "none"
EndIf

;---------------------
;Gibt Status-Infos aus
;---------------------

;? "Standard-Drucker: " +
$DefaultPrinter
;? ? "Liste aller Drucker:" ? ?

;--------------------------------------------------------------------------------------
;trennt alle Netzwerkdrucker vom alten
Server und verbindet sie wieder vom neuen
Server
;--------------------------------------------------------------------------------------

For $Count = 0 to $Index-2
If
Left($PrinterArray[$Count],Len($prtsrvold))=$prtsrvold ;
nur Netzwerk-Drucker auf dem bisherigen
Print-Server
;? $PrinterArray[$Count]
;$rc=DelPrinterConnection
($PrinterArray[$Count])
? $PrinterArray[$Count]"
gelöscht"
$newprt=$prtsrvnew+SubStr
($PrinterArray[$Count],Len($prtsrvold)+1,200)
;$rc=AddPrinterConnection ($newprt)
? $newprt" neu verbunden"
EndIf
Next

;---------------------------------------
;Stellt den "alten"
Standard-Drucker ein
;---------------------------------------

If $DefaultPrinter <>
"none"
If
Left($DefaultPrinter,Len($prtsrvold))=$prtsrvold
; Standard-Drucker ist ein Netzwerk-Drucker
$newprt=$prtsrvnew+SubStr
($DefaultPrinter,Len($prtsrvold)+1,200) ;
;$rc=SetDefaultPrinter ($newprt) ;
"neuer" Standard-Drucker gesetzt
? ? "neuer Standard-Drucker
"$newprt" eingestellt"
EndIf
EndIf


_________________________________________________________________________________________________________________________________________________________

Hab noch was rumgestöbert und dieses skript gefunden werde es noch testen und bescheid geben ob es hilft.

Sieht aber ganz gut aus!!!

Link: Mit Kix Drucker auf Client auslesen und wenn auf falschem Server, auf neuen verbinden
Member: Ausserwoeger
Ausserwoeger Oct 12, 2011 at 09:34:39 (UTC)
Goto Top
Wenn du kix richtig installierst geht das zu 100% ohne Probleme.

Neueste Version findest du hier http://www.kixtart.org/

LG Andreas Ausserwöger
Member: Simsa84
Simsa84 Oct 14, 2011 at 06:44:02 (UTC)
Goto Top
Also habe es erstmal lokal getestet. Das programm läuft aber das Skript scheint falsch zu sein.

Kix spuckt mir auch aus: none
und nichts hat sich getan.

Muss wohl versuchen ein anderes Skript zu benutzen face-sad
Member: Simsa84
Simsa84 Oct 14, 2011 at 06:58:05 (UTC)
Goto Top
Habe jetzt ein skript gefunden was wesentlich einfacher ist! UND DAS FUNKTIONIERT. face-smile

Werde später noch genau schreiben wie ich es gemacht habe inclusive dem Script!!

Und der Tip mit KIX war echt super. Ich bedanke mich nochmal hat mir echt geholfen ^^
Member: Ausserwoeger
Ausserwoeger Oct 14, 2011 at 07:39:23 (UTC)
Goto Top
Bitte gerne mich ich schon seit Jahren mit dem tool.

LG Andreas
Member: Simsa84
Simsa84 Oct 17, 2011 at 07:06:38 (UTC)
Goto Top
Also es ist gelöst und hier die Anleitung:

Als erstes muss man das Skript was oben ist umschreiben, weil es so nicht richtig geschrieben ist hoffe das es hier jetzt richtig steht :

Benannt habe ich es PrintServer ist nacher bei der Anmeldung wichtig!!

;=========================================
; Kix-Script - Change PrintServer.Kix
;=========================================


$prtsrvold="\\servername"
$prtsrvnew="\\servername"
$Index = 0
$TempPrinter = ""

;----------------------------------------------------
;Erstellt eine Liste mit allen installierten Druckern
;----------------------------------------------------

Dim $PrinterArray[40]
:Loop
If @16034=0
$TempPrinter = $TempPrinter + EnumValue("HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\PrinterPorts",$Index) + ","
$Index = $Index + 1
GoTo "Loop"
EndIf

$TempPrinter = Trim($TempPrinter)
$Length = Len("$TempPrinter") - 2
$TempPrinter = Left("$TempPrinter","$Length")
$PrinterArray = Split("$TempPrinter",",")

;------------------------------
;Ermittelt den Standard Drucker
;------------------------------

$DefaultPrinter = ReadValue("HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\Windows","Device")
If $DefaultPrinter < ""
$End = InStr("$DefaultPrinter",",") - 1
$DefaultPrinter = Left("$DefaultPrinter","$End")
Else
$DefaultPrinter = "none"
EndIf

;---------------------
;Gibt Status-Infos aus
;---------------------

;? "Standard-Drucker: " + $DefaultPrinter
;? ? "Liste aller Drucker:" ? ?

;--------------------------------------------------------------------------------------
;trennt alle Netzwerkdrucker vom alten Server und verbindet sie wieder vom neuen Server
;--------------------------------------------------------------------------------------

For $Count = 0 to $Index-2
If Left($PrinterArray[$Count],Len($prtsrvold))=$prtsrvold ; nur Netzwerk-Drucker auf dem bisherigen Print-Server
? $PrinterArray[$Count]
$rc=DelPrinterConnection ($PrinterArray[$Count])
? $PrinterArray[$Count]" gelöscht"
$newprt=$prtsrvnew+SubStr
($PrinterArray[$Count],Len($prtsrvold)+1,200)
$rc=AddPrinterConnection ($newprt)
? $newprt" neu verbunden"
EndIf
Next

;---------------------------------------
;Stellt den "alten" Standard-Drucker ein
;---------------------------------------

If $DefaultPrinter < "none"
If Left($DefaultPrinter,Len($prtsrvold))=$prtsrvold ; Standard-Drucker ist ein Netzwerk-Drucker
$newprt=$prtsrvnew+SubStr ($DefaultPrinter,Len($prtsrvold)+1,200) ;
$rc=SetDefaultPrinter ($newprt) ; "neuer" Standard-Drucker gesetzt
? ? "neuer Standard-Drucker "
$newprt" eingestellt"
EndIf
EndIf

Ja so ist es richtig!!
Als nächstes schreiben wir uns eine Batch Datei, die wie folgt lautet und auch als PrintServer benannt ist:

@echo OFF
start kix32 printserver.txt

EXIT

Als nächstes Kopiert man die kompletten Dateien des Kix Ordners, der Kix Version, aktuelle Laden unter www.kixtart.org, inclusive der Zwei Dateien in fogenden Ordner:

C:\Windows\system32\grouppolicy\user\scripts\logon

Nun geht man in gpedit.msc auf Benutzerkonfiguration, Windows Einstellungen , Skripts und klickt auf Anmelden!
Dort fügt man dann in der oberen Zeile einfach die Bat datei ein über Durchsuchen. Wenn man es so wie oben beschrieben abgelegt hat Liegt sie unter
C:\Windows\system32\grouppolicy\user\scripts\logon.

In der zweiten Zeile kommt dann der Parameter hinzu, lautet wie folgt:

start C:\Windows\system32\grouppolicy\user\scripts\logon\PrintServer.bat

Beim nächsten Neustart sollte er dann automatisch die User auf die Netzwerkdrucker des neuen Servers verweisen!!!

Danke für die Hilfe und hoffe dieser Artikel ist anderen eine Hilfe ^^ !!!!!