如何从哈希表获取输出到CSV

时间:2019-06-20 12:38:15

标签: powershell export-to-csv

尝试创建一个脚本,该脚本将转到远程(Windows 7)虚拟机,并获取打印机(名称,驱动程序和IP地址)并将它们输出到文件中。

我可以将其显示在控制台中,但我需要一个输出文件。从Windows 7迁移到10,并尝试避免不得不使用旧的虚拟机来复制信息。由于涉及Windows 7,因此我们无法使用Get-Printer cmdlet。

我已经能够将这小段代码合并在一起,但是无论我尝试了什么,都无法以可读的格式将其放到其他地方。

Write-Host "Getting Printer info from old VM"
$hostAddresses = @{}

Get-WmiObject Win32_TCPIPPrinterPort -ComputerName $oldvm | ForEach-Object {
    $hostAddresses.Add($_.Name, $_.HostAddress)
}

Get-WmiObject Win32_Printer -ComputerName $oldvm | ForEach-Object {
    New-Object PSObject -Property @{
        "DriverName" = $_.DriverName
        "Name" = $_.Name
        "HostAddress" = $hostAddresses[$_.PortName]
    }
}

1 个答案:

答案 0 :(得分:0)

在最后一个括号后将其传送到export-csv:

| Export-Csv -Path C:\PATH\TO\CSV.csv -Delimiter ";" -NoTypeInformation 

在这种情况下,我使用分号作为分号,您可以使用任何明显的:)