Instalar un puerto de impresora y una impresora con PowerShell

El año pasado escribí sobre cómo puede instalar una impresora y un puerto de impresora desde la línea de comandos.

Realmente útil si desea crear un script por lotes para que los usuarios puedan iPnstalar las impresoras ellos mismos.

Pero hoy quería crear algunos scripts de implementación para implementar algunas impresoras. Y eso me hizo pensar, ¿por qué no uso PowerShell para esto…?

Permítanme explicar primero por qué estoy usando un script para instalar impresoras y no un GPO.

Tenemos clientes que van a sitios independientes remotos con su computadora portátil. Y quieren instalar la impresora desde esa ubicación, por supuesto.

Estoy tratando de mantener la cantidad de impresoras instaladas en un cliente lo más bajo posible, para que no tengan que elegir entre 20 impresoras (lo que resulta en muchos errores de impresión).

Entonces, con PowerShell, podemos agregar el puerto de impresora y la impresora en el cliente sin necesidad de credenciales de administrador.

Agregar puerto de impresora

El primer paso es crear el puerto de impresora. Usamos el cmdlet agregar puerto de impresora para crear un puerto TCP/IP para nuestra impresora.

El cmdlet es realmente simple de usar, solo agregue un nombre y una dirección IP de impresora para crear un puerto de impresora TCPIP

Add-printerport -Name "TCPPort:192.168.0.200" -PrinterHostAddress "192.168.0.200"

Con el comando anterior, crea un nombre de puerto de impresión TCP «TCPPort:192.168.0.200» con la dirección IP 192.168.0.200. Debido a que ingresamos una PrinterHostAddress, el cmdlet sabe que desea un puerto TCP.

Así que puedes nombrar el puerto de impresora como quieras. Para crear un puerto TCP, no necesita agregar TCPPort: delante de él.

Pero le recomiendo que lo haga porque de esta manera puede ver en la vista Servidor de impresora > Puertos en el cliente qué tipo de puertos se crean.

Además, la dirección IP en el nombre del puerto no es necesaria. Esto funcionará para:

Add-printerport -Name "AwesomePort" -PrinterHostAddress "192.168.0.200"

Comprobar si existe un PrinterPort

Ahora, antes de agregar un puerto de impresora con PowerShell, siempre es una buena práctica verificar que el puerto ya existe.

De esta manera, evitará cualquier error al ejecutar el script. Para obtener los puertos disponibles, puede utilizar el Get-PrinterPort cmdlet.

Esto devolverá una lista de todos los puertos de impresora disponibles. Al agregar el interruptor -name, puede especificar el puerto de impresora que desea obtener.

Entonces, lo que podemos hacer es obtener el puerto de impresora y, si no existe, lo creamos.

Necesitas agregar el ErrorAcción SilenciosamenteContinuar cambie para suprimir el mensaje de error que recibe cuando solicita un puerto de impresora que no existe.

$portName = "TCPPort:192.168.0.200"

$portExists = Get-Printerport -Name $portname -ErrorAction SilentlyContinue

if (-not $portExists) {
  Add-PrinterPort -name $portName -PrinterHostAddress "192.168.0.200"
}

Añadir Printerport con powershell

Agregar la impresora con PowerShell

Antes de que podamos agregar la impresora, debemos asegurarnos de que el controlador de la impresora esté instalado en la máquina.

Implemento algunos controladores de impresión genéricos cuando instalo las computadoras, por lo que siempre tienen disponible el controlador correcto.

Si necesita instalar el controlador, puede usar PowerShell para eso con el agregar-cmdlet de controlador de impresora, pero necesitará credenciales de administrador para esto.

Entonces, antes de agregar la impresora, verificamos si existe el controlador de la impresora. Si tenemos un controlador de impresora, agregue la impresora.

$printDriverName = "Canon iR-ADV C2020i/C2030i Class Driver"

$printDriverExists = Get-PrinterDriver -name $printDriverName -ErrorAction SilentlyContinue

if ($printDriverExists) {
    Add-Printer -Name "Canon Test Printer" -PortName $portName -DriverName $printDriverName
}else{
    Write-Warning "Printer Driver not installed"
}

Guión completo

A continuación, encontrará el script completo para agregar un puerto de impresora y una impresora a través de PowerShell.

Puede pulir esto agregando enlaces de cmdlet para que pueda ejecutarlo desde la línea de comandos o incluyendo también la instalación del controlador.

$portName = "TCPPort:192.168.0.200"
$printDriverName = "Canon iR-ADV C2020i/C2030i Class Driver"


$portExists = Get-Printerport -Name $portname -ErrorAction SilentlyContinue

if (-not $portExists) {
  Add-PrinterPort -name $portName -PrinterHostAddress "192.168.0.200"
}

$printDriverExists = Get-PrinterDriver -name $printDriverName -ErrorAction SilentlyContinue

if ($printDriverExists) {
    Add-Printer -Name "Canon Test Printer" -PortName $portName -DriverName $printDriverName
}else{
    Write-Warning "Printer Driver not installed"
}

Otros artículos relacionados

Arreglando No Signal al conectar su DisplayPort en 5 min

Arreglando No Signal al conectar su DisplayPort en 5 min

Me entregaron una estación de trabajo donde la pantalla ya no se encendía. El puesto de trabajo estaba equipado con ...
Leer Más
Forma rápida de encontrar la carpeta de inicio en Windows 10 y 11

Forma rápida de encontrar la carpeta de inicio en Windows 10 y 11

La carpeta de inicio de Windows 10 contiene accesos directos a aplicaciones que se inician después de iniciar sesión en ...
Leer Más
Cómo incluir en la lista blanca un dominio en Office 365

Cómo incluir en la lista blanca un dominio en Office 365

A veces, el correo electrónico legítimo termina en la carpeta de correo no deseado después de que Exchange Online lo ...
Leer Más
Solucione la vulnerabilidad de Word zeroday con SRP

Solucione la vulnerabilidad de Word zeroday con SRP

Hay un nuevo ataque de día cero que está instalando malware en una máquina con Windows completamente parcheada. Utiliza una ...
Leer Más
Restaurar Papelera de reciclaje SharePoint Online con PowerShell

Restaurar Papelera de reciclaje SharePoint Online con PowerShell

Uno de mis usuarios eliminó una biblioteca de documentos completa que contenía más de 12000 elementos. Sincronizó la carpeta con ...
Leer Más
Cómo usar el comando DISM para reparar Windows

Cómo usar el comando DISM para reparar Windows

Los archivos del sistema de Windows a veces se corrompen, lo que puede provocar errores, problemas con la actualización de ...
Leer Más

Deja un comentario