powershell - 创建Powershell哈希表并导出到Excel

标签 powershell

我试图从哈希表中获取一些信息,当它显示在屏幕上时,所有输出都正确。当我尝试将其导出到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/

相关文章:

powershell - 发送多行正文和多个附件

windows - 导入模块 : The specified module 'msonline' was not loaded because no valid module file was found in any module directory

powershell - 在后台运行exe

Powershell try catch invoke-sqlcmd

sql - 通过Powershell调用存储过程时如何检索OUTPUT语句

尽管在 TFM 中尝试了所有内容,但 PowerShell Select-String 仍不匹配任何内容

sql-server - 使用powershell在sql server中创建包含记录的表: what's best?

powershell - 如何创建Powershell自定义错误输出?

powershell - Powershell属性计数

.net - 为什么 [regex] match() 和 -match 不同?