Freigeben über


So ändern Sie das Verhalten von Druckern, die mit Roamingprofilen übertragen werden

In diesem Artikel wird beschrieben, wie Sie ein Verhalten von Druckern ändern, die mit Roamingprofilen übertragen werden.

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 mit dem Benutzerprofil übertragen. 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 vorgesehen. Bevor Sie eine der in diesem Artikel in Ihrer Umgebung beschriebenen Methoden verwenden, sollten Sie die Methode in einer Testumgebung gründlich testen.

Drucker sind so konzipiert, dass sie mit dem Roamingprofil eines Benutzers übertragen werden. Deshalb wird der Standarddrucker unter der HKEY_CURRENT_USER Verzweigung 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 dann die Einstellung im Profil des Benutzers zusammen, wenn sich der Benutzer beim Computer anmeldet:

  1. Verwenden Sie den Registrierungs-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 mit einem Text-Editor vorgenommen haben, sodass der einzige Registrierungswertname unter dem Schlüssel lautet:

    "Gerät"=...

    Notiz

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

  3. Verwenden Sie den Registrierungs-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 mit dem folgenden Wert vergleichbar sein:

    REGEDIT.EXE -S-Pfad \File.reg
    dabei ist File.reg der Name, 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. Der Beispielcode, der in dieser Methode enthalten ist, erfordert nur, dass Sie die WENN-Zeilen ändern. Die erste WENN-Anweisung im Code übersetzt beispielsweise "wenn der Computername den Text "LAB1-" enthält, und legen Sie den Standarddrucker auf "\\LAB1\LaserJet" fest. 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 WENN-Zeilen nach Bedarf. Der einzige Teil der WENN-Zeilen, die geändert werden müssen, ist zwischen doppelten Anführungszeichen. Möglicherweise müssen Sie zusätzliche WENN-Zeilen hinzufügen.

  3. Verwenden Sie den Registrierungs-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 mit dem folgenden Wert vergleichbar sein:

    WSCRIPT.EXE Pfad\DefaultPrinter.vbs
    dabei ist der Pfad der Speicherort, an dem die Datei Defaultprinter.vbs gespeichert ist.

Notiz

Es ist auch möglich, die Datei Defaultprinter.vbs aus einem Anmeldeskript anstelle des Run-Schlüssels auszuführen. Beide methoden, die in diesem Artikel beschrieben werden, setzen den Standarddrucker zurück, auf den das Profil eines Benutzers auf druckt festgelegt ist. Wenn das in diesem Artikel enthaltene Beispielskript nicht ordnungsgemäß ausgeführt wird, müssen Sie möglicherweise 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.