0

我认为这很容易,但想确保它是可能的。

有没有一种简单的方法可以获取机器上所有 Hyper-V 服务器/VM 的列表,并将其导出到 CSV 文件?(Excel电子表格)。

Get-VM 返回相当多的信息,但有什么方法可以拆分吗?也许将它们存储到一个数组中?

这是我第一次使用 powershell,所以我主要想确保这是一项容易完成的任务。

问题是.....这台机器是 Windows 2008 Server R2,我相信它不支持 Hyper-V 模块(我认为只有 Win 8 支持)......所以我一直在远程处理它...... .so我可以使用Powershell远程进入它并运行这个脚本吗?

我尝试使用 Invoke-Command 从命令行执行 Get-VM,但它抱怨 File-Path ....但我只是想从命令行执行 Get-VM。

4

1 回答 1

0

在我看来,您需要先采取一些较小的步骤。在这种情况下,我会避免使用 PowerShell 远程处理。如果您在 PowerShell 会话中安装并加载了模块,您应该能够指向远程主机来运行 Get-VM,而无需做任何疯狂的事情。

至于过滤 CSV 的输出,您应该使用 Select(选择对象的某些属性并忽略其他属性)和 Where-Object(根据对象的属性过滤显示的对象。

Get-VM -ComputerName HyperVHost.constoso.local | Where-Object {$_.OS -match "2008"} | Select Name, Host | ExportTo-CSV C:\csv.csv

上面的例子是虚构的,但它是我在将输入放入 CSV 之前用来过滤输入的语法。同样,听起来您需要对如何使用管道有更基本的了解,了解使用对象时必须使用哪些选项等。

于 2013-03-08T15:32:02.640 回答