Cómo modificar el comportamiento de las impresoras que se desplazan con perfiles móviles

En este artículo se describe cómo modificar un comportamiento de las impresoras que se desplazan con perfiles móviles.

Se aplica a todas las ediciones de Windows 10
Número de KB original: 304767

Importante

Este artículo contiene información sobre cómo modificar el Registro. Antes de modificarlo, asegúrese de hacer una copia de seguridad de este y de comprender cómo restaurarlo si hay un problema. Para obtener información sobre cómo realizar copias de seguridad, restaurar y editar el Registro, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:

256986 Descripción del Registro de Microsoft Windows

Resumen

Por diseño, cuando un usuario usa un perfil móvil, la impresora predeterminada de ese usuario se desplaza con el perfil de usuario. Sin embargo, en algunos entornos, puede que este no sea el comportamiento deseado. En este artículo se proporcionan métodos que puede usar para modificar este comportamiento.

Más información

Advertencia

Si utiliza incorrectamente el Editor del Registro, puede causar serios problemas que tal vez requieran volver a instalar el sistema operativo. Microsoft no le garantiza que pueda solucionar los problemas que sean consecuencia del uso incorrecto del Editor del Registro. Utilice el Editor del Registro bajo su responsabilidad.

Importante

La información de este artículo está diseñada para que la usen los administradores corporativos. Antes de usar cualquiera de los métodos que se describen en este artículo en el entorno, debe probar exhaustivamente el método en un entorno de prueba.

Las impresoras están diseñadas para recorrerse con el perfil móvil de un usuario y es por eso que la impresora predeterminada se almacena en la rama HKEY_CURRENT_USER del Registro. Para modificar este comportamiento, use cualquiera de los métodos siguientes.

Método 1

Exporte la configuración de impresora predeterminada para una impresora ya instalada y, a continuación, combine la configuración en el perfil del usuario cuando el usuario inicie sesión en el equipo:

  1. Use Editor del Registro (Regedit.exe) para exportar la siguiente clave del Registro:

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

  2. Modifique el archivo del Registro (.reg) que realizó en el paso 1 con un editor de texto para que el único nombre de valor del Registro debajo de la clave sea:

    "Device"=...

    Nota:

    El archivo del Registro debe contener una línea en blanco en la parte inferior del archivo.

  3. Use Editor del Registro (Regedit.exe) para agregar un nuevo valor de cadena ResetPrinter en la siguiente clave del Registro:

    HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run

  4. El valor del valor ResetPrinter debe ser similar al siguiente:

    REGEDIT.EXE -S path\File.reg
    donde File.reg es el nombre que usó para almacenar la impresora predeterminada.

Método 2

Si los equipos de un área específica contienen nombres de equipo similares, puede usar un archivo de script .vbs que coincida con un conjunto específico de caracteres en el nombre del equipo e instalar una impresora correspondiente. El código de ejemplo que se incluye en este método solo requiere que modifique las líneas IF. Por ejemplo, la primera instrucción IF del código se traduce en "si el nombre del equipo contiene el texto "LAB1-", establezca la impresora predeterminada en "\\LAB1\LaserJet". Para completar este método:

  1. Copie el código VBS de ejemplo siguiente en un archivo vbs, por ejemplo, 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. Modifique las líneas IF según sea necesario. La única parte de las líneas IF que deben modificarse es entre comillas dobles. Es posible que tenga que agregar líneas IF adicionales.

  3. Use Editor del Registro para crear un valor de cadena ResetPrinter en la siguiente clave del Registro:

    HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run

  4. El valor de ResetPrinter debe ser similar al siguiente:

    WSCRIPT.EXE ruta de acceso\DefaultPrinter.vbs
    donde ruta de acceso es la ubicación donde se almacena el archivo Defaultprinter.vbs.

Nota:

También es posible ejecutar el archivo Defaultprinter.vbs desde un script de inicio de sesión en lugar de la clave de ejecución. Ambos métodos que se describen en este artículo restablecen la impresora predeterminada en la que se establece el perfil de un usuario para imprimir. Además, si el script de ejemplo que se incluye en este artículo no se ejecuta correctamente, es posible que tenga que actualizar o instalar el host de scripting de Windows.

Microsoft proporciona ejemplos de programación con fines ilustrativos únicamente, sin ninguna garantía, ya sea expresa o implícita. Esto incluye, entre otras, las garantías implícitas de comerciabilidad e idoneidad para un fin determinado. Se considera que está familiarizado con el lenguaje de programación que se muestra y con las herramientas para crear y depurar procedimientos. Los ingenieros de soporte técnico de Microsoft pueden explicarle la funcionalidad de un determinado procedimiento, pero no modificarán estos ejemplos para ofrecer mayor funcionalidad ni crearán procedimientos adaptados a sus necesidades específicas.