Herramientas de usuario

Herramientas del sitio


pos

script para cambiar el nombre de una impresora que ya existe:

# — CONFIGURACIÓN — $nombreFijo = “fax-immutable” $rutaLog = “C:\remoto\log_fax.txt” # 1. Espera breve Start-Sleep -Seconds 2 # DIAGNÓSTICO: Muestra en pantalla qué impresoras redirigidas ve el sistema Write-Host “— IMPRESORAS REDIRIGIDAS DETECTADAS —” -ForegroundColor Cyan Get-Printer | Where-Object { $_.Name -like “*redir*” } | Select-Object Name, PortName | Format-Table -AutoSize Write-Host “—————————————–” -ForegroundColor Cyan # 2. BÚSQUEDA: “fax” Y “redir” (Sin distinción de mayúsculas/minúsculas) $impresoraOrigen = Get-Printer | Where-Object { $_.Name -like “*fax*” -and $_.Name -like “*redir*” } | Select-Object -First 1 if ($impresoraOrigen) { $nombreReal = $impresoraOrigen.Name $puertoDinamic = $impresoraOrigen.PortName # Escribe en el log sin tildes para evitar errores “$(Get-Date): ENCONTRADO → $nombreReal (Puerto: $puertoDinamic)” | Out-File $rutaLog -Append try { # 3. EL CAMBIAZO (Set-Printer) $miFija = Get-Printer -Name $nombreFijo -ErrorAction Stop if ($miFija.PortName -ne $puertoDinamic) { Set-Printer -Name $nombreFijo -PortName $puertoDinamic “$(Get-Date): EXITO - Puerto actualizado a $puertoDinamic” | Out-File $rutaLog -Append Write-Host “CAMBIO REALIZADO CORRECTAMENTE” -ForegroundColor Green } else { “$(Get-Date): OK - El puerto ya era correcto.” | Out-File $rutaLog -Append Write-Host “OK: Ya estaba configurada.” -ForegroundColor Green } } catch { $err = $_.Exception.Message “$(Get-Date): ERROR CRITICO: $err” | Out-File $rutaLog -Append Write-Host “FALLO: $err” -ForegroundColor Red } } else { “$(Get-Date): ERROR - No se encontro impresora con 'fax' + 'redir'” | Out-File $rutaLog -Append Write-Host “NO SE ENCONTRO NINGUNA IMPRESORA QUE COINCIDA” -ForegroundColor Yellow Write-Host “Revisa la lista azul de arriba para ver los nombres reales.” -ForegroundColor Yellow }

la prueba se hizo con un fax. ojo.

y este es para abrir el cajon:

# Busca cualquier impresora que contenga “TM-m30” en el nombre $printer = Get-Printer | Where-Object { $_.Name -like “*TM-m30*” } | Select-Object -First 1 if ($printer) { # Comando ESC/POS binario puro para Epson $command = [char]27 + [char]112 + [char]0 + [char]25 + [char]250 $command | Out-Printer -Name $printer.Name }

pos.txt · Última modificación: por pincho