Как получить вывод из хеш-таблицы в CSV - PullRequest
0 голосов
/ 20 июня 2019

Попытка создать сценарий, который будет идти на удаленную (Windows 7) виртуальную машину, получить принтеры (имя, драйвер и IP-адрес) и вывести их в файл.

Я могу получитьэто для отображения в консоли, но мне нужен выходной файл.Выполнение перехода с Windows 7 на 10 и попытка избежать перехода на старый виртуальный компьютер для копирования информации.Поскольку Windows 7 задействована, мы не можем использовать командлет Get-Printer.

Мне удалось взломать этот небольшой кусочек кода, но, что бы я ни пытался, я не могу заставить его отправиться куда-либо в читаемом формате.

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 голосов
/ 20 июня 2019

После того, как ваш последний брекет-конвейер отправил его на export-csv:

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

В этом случае я использую точку с запятой в качестве разделителя, вы можете использовать все, что угодно:)

...