Agregue una impresora de red usando el comando /Powershell después de exportarla de una máquina a otra Windows 10/11

Agregue una impresora de red usando el comando /Powershell después de exportarla de una máquina a otra Windows 10/11

APUNTAR :Para exportar una impresora de red desde una máquina con Windows 10 a un archivo de salida y usar ese archivo de salida, impórtelo a otra máquina con Windows 10 en la misma red.

Trabajo de investigación:

El siguiente cmd de Powershell muestra elImpresoras mapeadaspara un usuario:

cmdlet 1)

Get-WMIObject Win32_Printer -ComputerName $env:COMPUTERNAME | where{$_.Name -like “*\\*”} | select sharename,name 

NOTA: El cmd anterior no muestra elNombre del conductorque es un parámetro crítico para el siguiente comando

El comando que planeo usar para importar la impresora de red:

cmdlet 2)

Sintaxis:

rundll32 printui.dll,PrintUIEntry /Xs /n\SERVER\PRINTERSHARENAMENombre del conductor"Lexmark C752 PS3"

Como no tenía el nombre del controlador, intenté ejecutarlo de todos modos porque el controlador ya está instalado en la segunda caja de Windows 10.

rundll32 printui.dll,PrintUIEntry /Xs /n"\tdr09\AlphaIT(prtq3) KONICA MINOLTA C550i"

Pero me sale un error después de ejecutar el cmd:

==================================================== ===========================

[Título de la ventana] Impresoras

[Instrucción principal] Los argumentos no son válidos.

[DE ACUERDO]

==================================================== ===========================

Problema:

1)El cmdlet 1 no proporciona laNombre del conductorentonces el cmdlet 2 falla con el error anterior.

==================================================== ======================

Método 2 Basado en comentarios de @Massimo

Intenté usar el siguiente comando:

obtener-impresora | donde{$_.Nombre -como "\"} | Formato-Tabla -AutoTamaño ingrese la descripción de la imagen aquí

La salida se ve así:

Nombre Nombre del equipo Tipo Nombre del controlador Nombre del puerto Compartido Publicado


\trq02\AXEIT(ptq2) KONICA MINOLTA C550i ptq02 Conexión KONICA MINOLTA C650iSeries 10.246.0.173 True F...

Puedo canalizarlo a un archivo de texto, pero ¿cómo puedo hacer que PowerShell lea este archivo y agregue la impresora?

NOTA:Si ejecuto el siguiente cmd manualmente, Agregar impresora funciona bien.

agregar impresora "\trq02\AXEIT(ptq2) KONICA MINOLTA C550i"

Respuesta1

¿Por qué te molestas con WMI y rundll32?

Debe utilizar los comandos nativos de PowerShell Get-Printery Add-Printer.


Ejemplo:

En la primera computadora, use:

Get-Printer | where {$_.Type -eq 'Connection'} | Export-Csv -Path 'C:\Printers.csv'

Copie el archivo a la segunda computadora y use:

$printers = Import-Csv -Path 'C:\Printers.csv'

foreach($printer in $printers)
{
    Add-Printer -ConnectionName ($printer.Name)
}

información relacionada