Создание Powershell Hashtable и экспорт в Excel - PullRequest
0 голосов
/ 11 июня 2018

Я пытаюсь получить некоторую информацию из хеш-таблицы, когда она отображается на экране, все выводится правильно.Когда я пытаюсь экспортировать его в Excel, я получаю странный вывод.

Я использую код

$hash = @{}

$disk = Get-AzureRmDisk
foreach ($d in $disk) {
    $hash.Add(($d).Id.Split("/")[-1],($d).Id.Split("/")[-5])
}

$hash | Export-Csv C:\managed\disks.csv

Все еще изучаю хеш-таблицы, поэтому извините за простой подход:)

Заранее спасибо

1 Ответ

0 голосов
/ 11 июня 2018

Export-Csv ожидает несколько объектов, а не один большой словарь.Чтобы извлечь каждую запись из хеш-таблицы и передать ее по Export-Csv по одному, вы можете вызвать GetEnumerator() на хеш-таблице:

$hash.GetEnumerator() |Select Name,Value |Export-Csv C:\managed\disks.csv

Если вам на самом деле не нужна хеш-таблица позжевключив в свой сценарий, вы можете полностью пропустить этот шаг и просто получить нужные значения с помощью Select-Object:

Get-AzureRmDisk |Select-Object @{Name='Name';Expression={$_.Id.Split("/")[-1]}},@{Name='Value';Expression={$_.Id.Split("/")[-5]}} |Export-Csv C:\managed\disks.csv
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...