So ändern Sie das Verhalten von Druckern, die mit Roamingprofilen roamingn

In diesem Artikel wird beschrieben, wie Sie das Verhalten von Druckern ändern, die mit Roamingprofilen roamingn.

Gilt für: Windows 10 – alle Editionen
Ursprüngliche KB-Nummer: 304767

Wichtig

Dieser Artikel enthält Informationen zum Bearbeiten der Registrierung. Bevor Sie Änderungen an der Registrierung vornehmen, erstellen Sie eine Sicherungskopie, und stellen Sie sicher, dass Sie genau wissen, wie die Registrierung im Falle eines Problems wiederhergestellt wird. Um Informationen zum Sichern, Wiederherstellen und Bearbeiten der Registrierung zu erhalten, klicken Sie auf die folgende Artikelnummer, um den Artikel in der Microsoft Knowledge Base anzuzeigen:

256986 Beschreibung der Microsoft Windows-Registrierung

Zusammenfassung

Wenn ein Benutzer ein Roamingprofil verwendet, wird der Standarddrucker dieses Benutzers standardmäßig mit dem Benutzerprofil verschoben. In einigen Umgebungen ist dies jedoch möglicherweise nicht das gewünschte Verhalten. Dieser Artikel enthält Methoden, mit deren Hilfe Sie dieses Verhalten ändern können.

Weitere Informationen

Warnung

Die unkorrekte Verwendung des Registrierungseditors kann schwerwiegende Probleme verursachen, die das gesamte System betreffen und eine Neuinstallierung des Betriebssystems erforderlich machen. Microsoft kann nicht garantieren, dass Probleme, die von einer falschen Verwendung des Registrierungseditors herrühren, behoben werden können. Sie verwenden den Registrierungs-Editor auf eigene Verantwortung.

Wichtig

Die Informationen in diesem Artikel sind für die Verwendung durch Unternehmensadministratoren konzipiert. Bevor Sie eine der in diesem Artikel beschriebenen Methoden in Ihrer Umgebung verwenden, sollten Sie die Methode in einer Testumgebung gründlich testen.

Drucker sind so konzipiert, dass sie mit dem Roamingprofil eines Benutzers übertragen werden. Aus diesem Grund wird der Standarddrucker im HKEY_CURRENT_USER-Branch der Registrierung gespeichert. Verwenden Sie eine der folgenden Methoden, um dieses Verhalten zu ändern.

Methode 1

Exportieren Sie die Standarddruckereinstellung für einen bereits installierten Drucker, und führen Sie die Einstellung dann im Profil des Benutzers zusammen, wenn sich der Benutzer am Computer anmeldet:

  1. Verwenden Sie Registry Editor (Regedit.exe), um den folgenden Registrierungsschlüssel zu exportieren:

    HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\Windows

  2. Ändern Sie die Registrierungsdatei (.reg), die Sie in Schritt 1 erstellt haben, mit einem Text-Editor, sodass der einzige Registrierungswertname unter dem Schlüssel lautet:

    "Device"=...

    Hinweis

    Die Registrierungsdatei sollte eine leere Zeile am Ende der Datei enthalten.

  3. Verwenden Sie Registry Editor (Regedit.exe), um einen neuen ResetPrinter-Zeichenfolgenwert unter dem folgenden Registrierungsschlüssel hinzuzufügen:

    HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run

  4. Der Wert des ResetPrinter-Werts sollte dem folgenden Wert ähneln:

    REGEDIT.EXE -S pfad\File.reg
    wobei File.reg der Name ist, den Sie zum Speichern des Standarddruckers verwendet haben.

Methode 2

Wenn Computer in einem bestimmten Bereich ähnliche Computernamen enthalten, können Sie eine VBS-Skriptdatei verwenden, die einem bestimmten Satz von Zeichen im Computernamen entspricht und einen entsprechenden Drucker installiert. Für den Beispielcode, der in dieser Methode enthalten ist, müssen Sie nur die IF-Zeilen ändern. Beispielsweise wird die erste IF-Anweisung im Code in ", wenn der Computername den Text "LAB1-" enthält, in "\\LAB1\LaserJet" übersetzt. Gehen Sie wie folgt vor, um diese Methode abzuschließen:

  1. Kopieren Sie den folgenden VBS-Beispielcode in eine vbs-Datei, z. B. Defaultprinter.vbs:

    Option Explicit
    DIM RegEntry, ComputerName
    
    RegEntry="HKLM\SYSTEM\CurrentControlSet\Control\ComputerName\ComputerName\ComputerName" ComputerName = ReadRegValue(RegEntry)
    
    if InStr(1,ucase(ComputerName),"LAB1-",vbTextCompare) > 0 then call SetPrinter("\\LAB1\LaserJet")
    if InStr(1,ucase(ComputerName),"LAB2-",vbTextCompare) > 0 then call SetPrinter("\\LAB2\LaserJet")
    if InStr(1,ucase(ComputerName),"OFFICE-",vbTextCompare) > 0 then call SetPrinter("\\OFFICE\LaserJet")
    'so on and so forth.
    wscript.quit
    
    '*** This subroutine installs and sets the default printer
    Sub SetPrinter(ByVal PrinterPath)
        DIM WshNetwork
        Set WshNetwork = CreateObject("WScript.Network")
        WshNetwork.AddWindowsPrinterConnection(PrinterPath)
        WshNetwork.SetDefaultPrinter Printerpath
    end sub
    
    '**** This function returns the data in the registry value
    Function ReadRegValue(ByVal RegValue)
        DIM WSHShell
        Set WSHShell = WScript.CreateObject("WScript.Shell")
        ReadRegValue=""
        On Error Resume Next
        ReadRegValue= WSHShell.RegRead(RegValue)
    End Function
    
  2. Ändern Sie die IF-Zeilen nach Bedarf. Der einzige Teil der IF-Zeilen, der geändert werden muss, ist zwischen doppelten Anführungszeichen. Möglicherweise müssen Sie zusätzliche IF-Zeilen hinzufügen.

  3. Verwenden Sie Registry Editor, um einen ResetPrinter-Zeichenfolgenwert unter dem folgenden Registrierungsschlüssel zu erstellen:

    HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run

  4. Der Wert von ResetPrinter sollte etwa dem folgenden Wert ähneln:

    WSCRIPT.EXE Pfad\DefaultPrinter.vbs
    Dabei ist path der Speicherort der Defaultprinter.vbs-Datei.

Hinweis

Es ist auch möglich, die Defaultprinter.vbs-Datei aus einem Anmeldeskript anstelle des Ausführungsschlüssels auszuführen. Beide in diesem Artikel beschriebenen Methoden setzen den Standarddrucker zurück, auf den das Profil eines Benutzers drucken soll. Wenn das in diesem Artikel enthaltene Beispielskript nicht ordnungsgemäß ausgeführt wird, müssen Sie möglicherweise auch den Windows Scripting Host aktualisieren oder installieren.

Die Verwendung der hier aufgeführten Informationen, Makro- oder Programmcodes geschieht auf Ihre eigene Verantwortung. Microsoft stellt Ihnen diese Informationen sowie Makro- und Programmlistings ohne Gewähr auf Richtigkeit, Vollständigkeit und/oder Funktionsfähigkeit sowie ohne Anspruch auf Support zur Verfügung. Die zur Verfügung gestellten Makro- und Programmierungsbeispiele sollen lediglich exemplarisch die Funktionsweise des Beispiels aufzeigen. Die Microsoft Support-Spezialisten können bei der Erläuterung der Funktionalität bestimmter Prozeduren helfen, jedoch werden sie diese Beispiele nicht in Bezug auf eine erweiterte Funktionalität verändern, noch werden sie Prozeduren entwickeln, die auf Ihre besonderen Bedürfnisse zugeschnitten sind.