我试图从哈希表中获取一些信息,当它显示在屏幕上时,所有输出都正确。当我尝试将其导出到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
仍在学习哈希表,因此请使用简单的方法:)
提前致谢
最佳答案
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
关于powershell - 创建Powershell哈希表并导出到Excel,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50802054/