【发布时间】:2017-11-27 09:39:30
【问题描述】:
我正在尝试通过 PowerShell 在 Hyper-V 中获取有关我们的 VM 的信息。
这是我目前得到的:
$Path = 'c:/VM.csv'
"Name,CPUs,Dynamischer Arbeitsspeicher,RAM Maximum (in MB),RAM Minimum (in MB), Size" > $Path
$line1 = Get-VM | %{($_.Name, $_.ProcessorCount, $_.DynamicMemoryEnabled, ($_.MemoryMaximum/1MB), ($_.MemoryMinimum/1MB)) -join ","}
$line2 = Get-VM –VMName * | Select-Object VMId | Get-VHD | %{$_.FileSize/1GB -join ","}
$out = $line1+","+ $line2
Write-Output $out | Out-File $Path -Append
Import-Csv -Path $Path | Out-GridView
问题是第二个对象 ($line2) 应该与 $line1 在同一列中。如您所见,当前有关 VM 大小的信息 ($line2) 以行的形式写入 $line1 的输出下方。顺序也错了。
知道我的代码有什么问题吗?
提前致谢。
【问题讨论】:
-
为什么不直接使用
export-csv? -
您将这些行作为字符串串接,但显然希望得到一个列表作为最终结果。尝试将最后 3 行替换为:
@($line1) + $line2
标签: powershell csv