查找默认网络打印机IP地址

时间:2017-10-19 13:18:35

标签: powershell

我需要使用powershell脚本找到默认联网打印机的IP地址。

到目前为止,我有以下内容,它为我提供了打印机名称,但我也需要IP地址?

    #Declare Global Variables
Set-Variable -Name DefaultPrinter -Scope Global -Force

cls
If ((Test-Path $env:APPDATA"\DefaultPrinter.txt") -eq $true) {
    Remove-Item -Path $env:APPDATA"\DefaultPrinter.txt" -Force
}
$ComputerName = "localhost"

$DefaultPrinter = Get-WmiObject -Class win32_printer -ComputerName $ComputerName -Filter "Default='true'"
$DefaultPrinterPortIP = Get-WmiObject -Class Win32_TCPIPPrinterPort -ComputerName $ComputerName -Filter "name='$($DefaultPrinter.PortName)'" | Select-Object -ExpandProperty HostAddress

Write-Host "Default Printer: " -NoNewline
If ($DefaultPrinter.Name && $DefaultPrinterPortIP.HostAddress -ne $null) {
    $DefaultPrinter.Name | Out-File -FilePath $env:APPDATA"\DefaultPrinter.txt" -Force -Encoding "ASCII"
    Write-Host $DefaultPrinter.Name
} else {
    $DefaultPrinter = "No Default Printer"
    $DefaultPrinter | Out-File -FilePath $env:APPDATA"\DefaultPrinter.txt" -Force -Encoding "ASCII"
    Write-Host $DefaultPrinter

#Cleanup Global Variables
Remove-Variable -Name DefaultPrinter -Scope Global -Force

它没有给我pritner的ip地址并且一直没有返回。

1 个答案:

答案 0 :(得分:-1)

这实际上确实起作用并返回一个ip地址,这是由于我的电脑受到限制,在网络上测试我们实际上想要使用它并且它工作正常。

感谢所有为此做出贡献的人。

谢谢,