# Obter uma lista de todas as impressoras instaladas
$impressoras = Get-Printer | Select-Object -Property Name, PortName
# Contar a frequência de cada endereço IP
$frequenciaIPs = $impressoras | Group-Object -Property PortName | Where-Object { $_.Count -gt 1 }
# Exibir as impressoras com endereços IP duplicados
if ($frequenciaIPs) {
Write-Host "Impressoras com IPs duplicados:"
$frequenciaIPs | ForEach-Object {
$_.Group | ForEach-Object {
"Nome da Impressora: $($_.Name), IP: $(Get-PrinterPort -Name $_.PortName).PrinterHostAddress"
}
}
} else {
Write-Host "Não há IPs de impressoras duplicados."
}
cmdlet Get-Printer
Documentação: https://learn.microsoft.com/en-us/powershell/module/printmanagement/get-printer?view=windowsserver2022-ps
Recupera uma lista de impressoras instaladas em um computador.
Sintaxe
Get-Printer
[[-Name] <String[]>]
[-ComputerName <String>]
[-Full]
[-CimSession <CimSession[]>]
[-ThrottleLimit <Int32>]
[-AsJob]
[<CommonParameters>]
Obtenha uma lista de impressoras
Get-Printer
Obtenha as informações de uma impressora específica:
Get-Printer -Name "Microsoft XPS Document Writer"
Obtenha informações detalhadas para uma impressora específica:
Get-Printer -Name "Microsoft XPS Document Writer" | Format-List
Obtenha uma lista de impressoras em um computador remoto:
Get-Printer -ComputerName PrintServer
Obtenha uma lista de objetos de impressora e renomeie as impressoras:
$Printer = Get-Printer -Name "Microsoft XPS Document Writer"
Rename-Printer -InputObject $printer "MXDW"