Delen via


Gedrag wijzigen van printers die roamen met zwervende profielen

In dit artikel wordt beschreven hoe u een gedrag wijzigt van printers die roamen met zwervende profielen.

Van toepassing op: Windows 10, alle edities
Oorspronkelijk KB-nummer: 304767

Belangrijk

Dit artikel bevat informatie over het wijzigen van het register. Voordat u het register wijzigt, moet u er een back-up van maken en ervoor zorgen dat u begrijpt hoe u het register kunt herstellen als er een probleem optreedt. Klik op het volgende artikelnummer om het artikel in de Microsoft Knowledge Base weer te geven voor informatie over het maken van back-ups, herstellen en bewerken van het register:

256986 beschrijving van het Microsoft Windows-register

Samenvatting

Wanneer een gebruiker een zwervend profiel gebruikt, wordt de standaardprinter van die gebruiker standaard uitgevoerd met het gebruikersprofiel. In sommige omgevingen is dit echter mogelijk niet het gewenste gedrag. Dit artikel bevat methoden die u kunt gebruiken om dit gedrag te wijzigen.

Meer informatie

Waarschuwing

Onjuist gebruik van Register-editor kan ernstige problemen veroorzaken die ertoe kunnen leiden dat u het besturingssysteem opnieuw moet installeren. Microsoft kan niet garanderen dat problemen die voortvloeien uit een verkeerd gebruik van Register-editor, kunnen worden opgelost. Het gebruik van de Register-editor is dan ook voor uw eigen risico.

Belangrijk

De informatie in dit artikel is bedoeld voor gebruik door bedrijfsbeheerders. Voordat u een van de methoden gebruikt die in dit artikel in uw omgeving worden beschreven, moet u de methode grondig testen in een testomgeving.

Printers zijn ontworpen om te roamen met het zwervende profiel van een gebruiker en daarom wordt de standaardprinter opgeslagen onder de HKEY_CURRENT_USER vertakking van het register. Gebruik een van de volgende methoden om dit gedrag te wijzigen.

Methode 1

Exporteer de standaardprinterinstelling voor een al geïnstalleerde printer en voeg de instelling vervolgens samen in het profiel van de gebruiker wanneer de gebruiker zich aanmeldt bij de computer:

  1. Gebruik de Register-editor (Regedit.exe) om de volgende registersleutel te exporteren:

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

  2. Wijzig het registerbestand (.reg) dat u in stap 1 hebt gemaakt met een teksteditor, zodat de enige registerwaardenaam onder de sleutel is:

    "Apparaat"=...

    Notitie

    Het registerbestand moet een lege regel onder aan het bestand bevatten.

  3. Gebruik de Register-editor (Regedit.exe) om een nieuwe resetprinter-tekenreekswaarde toe te voegen onder de volgende registersleutel:

    HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run

  4. De waarde van de waarde ResetPrinter moet er ongeveer als volgt uitzien:

    REGEDIT.EXE -S-pad \File.reg
    waarbij File.reg de naam is die u hebt gebruikt om de standaardprinter op te slaan.

Methode 2

Als computers in een specifiek gebied vergelijkbare computernamen bevatten, kunt u een VBS-scriptbestand gebruiken dat overeenkomt met een specifieke set tekens in de computernaam en een bijbehorende printer installeert. Voor de voorbeeldcode die in deze methode is opgenomen, hoeft u alleen de IF-regels te wijzigen. De eerste IF-instructie in de code wordt bijvoorbeeld omgezet in 'als de computernaam de tekst 'LAB1' bevat en de standaardprinter vervolgens instelt op '\\LAB1\LaserJet'. Ga als volgt te werk om deze methode te voltooien:

  1. Kopieer de volgende VBS-voorbeeldcode naar een VBS-bestand, bijvoorbeeld 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. Wijzig indien nodig de IF-regels. Het enige deel van de IF-regels die moeten worden gewijzigd, is tussen dubbele aanhalingstekens. Mogelijk moet u extra ALS-regels toevoegen.

  3. Gebruik de Register-editor om een resetprinter-tekenreekswaarde te maken onder de volgende registersleutel:

    HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run

  4. De waarde van ResetPrinter moet er ongeveer als volgt uitzien:

    WSCRIPT.EXE pad\DefaultPrinter.vbs
    waarbij het pad de locatie is waar het bestand Defaultprinter.vbs is opgeslagen.

Notitie

Het is ook mogelijk om het bestand Defaultprinter.vbs uit te voeren vanuit een aanmeldingsscript in plaats van de uitvoeringssleutel. Beide methoden die in dit artikel worden beschreven, stellen de standaardprinter opnieuw in waarop het profiel van een gebruiker is ingesteld om af te drukken. Als het voorbeeldscript dat in dit artikel is opgenomen, niet goed wordt uitgevoerd, moet u mogelijk de Windows Scripting Host upgraden of installeren.

Microsoft verstrekt programmeervoorbeelden alleen ter illustratie, zonder expliciete of impliciete garantie. daaronder mede begrepen, maar niet beperkt tot impliciete garanties met betrekking tot de verkoopbaarheid en/of geschiktheid voor een bepaald doel. In dit artikel wordt ervan uitgegaan dat u bekend bent met de programmeertaal VBScript, alsmede met de hulpprogramma's waarmee procedures worden gemaakt en waarmee fouten in procedures worden opgespoord. U kunt desgewenst contact opnemen met Microsoft Product Support Services voor uitleg over de functie van een bepaalde procedure. Microsoft Product Support Services is echter niet bereid de voorbeelden aan te passen om extra functies toe te voegen of om procedures te maken die aan uw specifieke eisen voldoen.