Windows - Localizar nome da impressora do endereço IP

3

Tentando encontrar o nome da fila da impressora com o endereço IP. A impressora está hospedada em um servidor.

  • Pesquisado no AD pelo IP - mas sem sorte.
  • nbtstat retornou o nome do dispositivo, mas não existe no AD.

Eu tenho certeza de que a impressora existe na rede em um servidor de impressão. Temos cerca de 40 a 50 servidores de impressão.

Qualquer ajuda apreciada.

    
por hanes 16.01.2013 / 16:36

1 resposta

4

Você tem o endereço IP da própria impressora (para gerenciamento ou para impressão direta) e deseja saber em qual servidor de impressão do Windows está sendo compartilhado? Isso está correto?

Você pode pesquisar "manualmente" cada servidor de impressão (o que eu acho que seria mais fácil do que consultá-los, já que imagino que você provavelmente teria uma ideia lógica de onde poderia residir, como restringi-los a 5 servidores de impressão que são locais para a sub-rede em que a impressora está ligada).

Usando o Powershell (em que $ printservername é o nome do host do servidor de impressão provável):

Get-WMIObject -class Win32_Printer -computer $printservername | Select Name,DriverName,PortName | Where-Object {$_.PortName -eq "IP_x.x.x.x"}

Note que você pode ir em frente e executá-lo sem a parte Where-Object para ver como a saída PortName se parece, mas deve ser semelhante a IP_10.10.10.10 ou similar.

Se você não obtiver nenhum resultado, esse servidor de impressão não será aquele que hospedará esse endereço IP.

ATUALIZAÇÃO: desde que você queria um arquivo de entrada, eu fui em frente e fiz isso para você também. Você precisará de 2 arquivos de entrada, um com a lista de servidores de impressão e um com o endereço IP listado ou o IP_x.x.x.x listado. Por favor, perceba que se você usar alguma outra coisa para seus nomes de portas, como hostname / DNS, você precisará colocá-los em seu arquivo printerIP.txt como tal. Se você não souber o nome da porta exato, esse script não retornará nenhum resultado. Além disso, coloque apenas um "nome da porta" na printerIP.txt ou ele não retornará nenhum resultado correspondente.

# --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
# Script: Find-WhichPrintServer.ps1
# Author: TheCleaner, serverfault.com
# Date: 1/16/2013
# Comments: This script will query each of the computers in the input file and look for a particular printer's IP address on that print server.  If found it will output the name of the print server and printer name and info
# --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
$printservers = Get-Content -Path C:\PSinput\PrintServers.txt
$printerIP = Get-Content -Path C:\PSinput\printerIP.txt #note this must be the correct format such as IP_x.x.x.x
Get-WMIObject -class Win32_Printer -computer $printservers | Select SystemName,Name,DriverName,PortName | Where-Object {$_.PortName -eq $printerIP} |
Format-Table -Property SystemName, PortName, Name, DriverName -AutoSize

Espero que ajude!

    
por 16.01.2013 / 16:56