我需要将打印机列表导出到文件中。它必须包含Get-Printer中的Name,DriverName等值,还必须包含cmdlet Get-PrinterPort中的值PrinterHostAddress。我认为两个cmdlet的值'Name'都可以用作创建联合的键。 我已经尝试过类似的事情:
$a = get-printer
$b = get-printerport
Compare-Object $a $b -PassThru -IncludeEqual | Select Name, Comment, Location, DriverName, PrinterHostAddres
但是它不起作用。
我知道,我可以分两个步骤完成操作,然后复制/粘贴,但是我想一步一步学习操作方法。
答案 0 :(得分:0)
迭代并仅选择所需的端口对象:
$Printers = Get-Printer
$Printers | ForEach-Object {
#Get the printer port
$port = Get-PrinterPort | Where-Object -Property Name -like $_.PortName
[pscustomobject]@{
PrinterName = $_.Name
Comment = $_.Comment
Location = $_.Location
Driver = $_.DriverName
PortName = $port.Name
IPAddress = $port.PrinterHostAddress
}
}