一直在尝试使用 powershell,但在构建自己的脚本方面仍然是新手。
尝试寻找一个 powershell 脚本来提取 Hyper-V 管理器下每个 Hyper-V 虚拟机的具体详细信息。
需要一个可以提取以下信息的脚本:
-虚拟机/计算机名称
-操作系统版本
-所有可用的 IDE 和 SCSI 虚拟磁盘及其位置和大小
-网络适配器详细信息,包括其 VLAN 信息
-总 CPU
-总内存/RAM
看到一些脚本和知识库显示在单独的报告中提取以下请求的信息,但想看看是否可以获取 1 个 CSV 下的所有详细信息。
这是一些可以工作的伪代码
$table = [System.Collections.ArrayList]::new()
foreach($VM in $VMs)
{
$newRow = New-Object -TypeName psobject
$newRow | Add-Member -NotePropertyName 'VM Name' -NotePropertyValue $VM.Name
#get OS version
$newRow | Add-Member -NotePropertyName 'OS Version' -NotePropertyValue $OS.version
#get OS version
$newRow | Add-Member -NotePropertyName 'OS Version' -NotePropertyValue $OS.version
$diskInfo = @(get disk info)
for($i = 0; i < $diskInfo.Count; $i++)
{
#add each disk info
$newRow | Add-Member -NotePropertyName "Disk $i Size" -NotePropertyValue $diskInfo[$i].Size
}
$networkAdapter = #get disk info
$newRow | Add-Member -NotePropertyName 'VLan Info' -NotePropertyValue $networkAdapter
$cpu = #get cpu info
$newRow | Add-Member -NotePropertyName 'CPU Info' -NotePropertyValue $cpu
$ram = #get ram info
$newRow | Add-Member -NotePropertyName 'RAM' -NotePropertyValue $ram
$table.Add($newRow) | Out-Null
}
$table | Format-List
$table | Export-Table -Path 'c:\temp\test.csv'