Comment modifier le comportement des imprimantes itinérantes avec des profils itinérants

Cet article explique comment modifier un comportement d’imprimantes itinérantes avec des profils itinérants.

Applicabilité : Windows 10 - Toutes les éditions
Numéro de la base de connaissances d’origine : 304767

Importante

Cet article contient des informations sur la modification du Registre. Avant d’effectuer cette opération, veillez à sauvegarder le Registre et à bien comprendre comment le restaurer en cas de problème. Pour plus d’informations sur la sauvegarde, la restauration et la modification du Registre, cliquez sur le numéro d’article suivant pour afficher l’article dans la Base de connaissances Microsoft :

256986 Description du Registre Microsoft Windows

Résumé

Par conception, lorsqu’un utilisateur utilise un profil itinérant, l’imprimante par défaut de cet utilisateur est itinérante avec le profil utilisateur. Toutefois, dans certains environnements, cela peut ne pas être le comportement souhaité. Cet article fournit des méthodes que vous pouvez utiliser pour modifier ce comportement.

Plus d’informations

Avertissement

Toute mauvaise utilisation de l’Éditeur du Registre risque de générer de graves problèmes, pouvant vous obliger à réinstaller votre système d’exploitation. Microsoft ne peut garantir que les problèmes résultant d’une mauvaise utilisation de l’Éditeur du Registre puissent être résolus. Vous assumez l’ensemble des risques liés à l’utilisation de cet outil.

Importante

Les informations contenues dans cet article sont conçues pour être utilisées par les administrateurs d’entreprise. Avant d’utiliser l’une des méthodes décrites dans cet article dans votre environnement, vous devez tester minutieusement la méthode dans un environnement de test.

Les imprimantes sont conçues pour être itinérantes avec le profil itinérant d’un utilisateur, et c’est pourquoi l’imprimante par défaut est stockée sous la branche HKEY_CURRENT_USER du Registre. Pour modifier ce comportement, utilisez l’une des méthodes suivantes.

Méthode 1

Exportez le paramètre d’imprimante par défaut pour une imprimante déjà installée, puis fusionnez le paramètre dans le profil de l’utilisateur lorsque l’utilisateur se connecte à l’ordinateur :

  1. Utilisez l’Rédacteur du Registre (Regedit.exe) pour exporter la clé de Registre suivante :

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

  2. Modifiez le fichier de Registre (.reg) que vous avez créé à l’étape 1 avec un éditeur de texte afin que le seul nom de valeur de Registre sous la clé soit :

    « Appareil"=...

    Remarque

    Le fichier de Registre doit contenir une ligne vide en bas du fichier.

  3. Utilisez l’Rédacteur du Registre (Regedit.exe) pour ajouter une nouvelle valeur de chaîne ResetPrinter sous la clé de Registre suivante :

    HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run

  4. La valeur de la valeur ResetPrinter doit être similaire à la valeur suivante :

    File.reg de chemin d’accès\ REGEDIT.EXE -S
    File.reg est le nom que vous avez utilisé pour stocker l’imprimante par défaut.

Méthode 2

Si les ordinateurs d’une zone spécifique contiennent des noms d’ordinateurs similaires, vous pouvez utiliser un fichier de script .vbs qui correspond à un ensemble spécifique de caractères dans le nom de l’ordinateur et installe une imprimante correspondante. L’exemple de code inclus dans cette méthode nécessite uniquement que vous modifiiez les lignes IF. Par exemple, la première instruction IF du code se traduit par « si le nom de l’ordinateur contient le texte « LAB1- », définissez l’imprimante par défaut sur « \\LAB1\LaserJet ». Pour effectuer cette méthode :

  1. Copiez l’exemple de code VBS suivant dans un fichier vbs, par exemple, 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. Modifiez les lignes IF en fonction des besoins. La seule partie des lignes SI qui doivent être modifiées se trouve entre guillemets doubles. Vous devrez peut-être ajouter des lignes IF supplémentaires.

  3. Utilisez le registre Rédacteur pour créer une valeur de chaîne ResetPrinter sous la clé de Registre suivante :

    HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run

  4. La valeur de ResetPrinter doit être similaire à la valeur suivante :

    WSCRIPT.EXE chemin d’accès\DefaultPrinter.vbs
    path est l’emplacement où le fichier Defaultprinter.vbs est stocké.

Remarque

Il est également possible d’exécuter le fichier Defaultprinter.vbs à partir d’un script de connexion au lieu de la clé d’exécution. Les deux méthodes décrites dans cet article réinitialisent l’imprimante par défaut sur laquelle le profil d’un utilisateur est configuré pour imprimer. En outre, si l’exemple de script inclus dans cet article ne s’exécute pas correctement, vous devrez peut-être mettre à niveau ou installer l’hôte de script Windows.

Microsoft fournit des exemples de programmation à titre d’illustration uniquement, sans garantie expresse ou implicite. Cela inclut, sans y être limité, les garanties implicites de commercialisation et d’adaptation à un but en particulier. Cet article considère que vous connaissez le langage de programmation présenté et les outils utilisés pour créer et déboguer des procédures. Les techniciens du Support technique Microsoft peuvent vous expliquer les fonctionnalités d’une procédure particulière, mais ils ne peuvent pas modifier les exemples en vue de vous fournir des fonctionnalités supplémentaires ou de créer des procédures répondant à vos besoins spécifiques.