我认为这很容易,但我想确保它是可能的。
有没有一种简单的方法可以获取计算机上所有Hyper-V服务器/ VM的列表,并可能将其导出到CSV文件? (excel电子表格)。
Get-VM返回了相当多的信息,但是有什么办法可以拆分吗?也许将它们存储到数组中?
这是我第一次使用PowerShell,所以我主要想确保这是一个容易完成的任务。
问题是.....这台机器是不支持Hyper-V模块的Windows 2008 Server R2我相信(我认为只有Win 8可以).....所以我一直在进行远程处理....我可以使用Powershell远程进入它并运行此脚本吗?
我尝试使用Invoke-Command从命令行执行Get-VM,但它抱怨File-Path ....但我只是尝试从命令行执行Get-VM。
答案 0 :(得分: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之前用来过滤输入的语法。同样,听起来您需要更加基本地了解如何使用管道,了解使用对象的选项等等。