我正在尝试使用 Powershell 从多个虚拟服务器获取 SCSI 硬件并获取每个特定服务器的操作系统。我已经设法通过我的代码获得了我想找到的特定 SCSI 硬件,但是我无法弄清楚如何正确获取每个服务器的操作系统。此外,我正在尝试将我找到的所有数据发送到 csv 日志文件中,但是我不确定如何让 powershell 脚本创建多个列。
这是我的代码(几乎可以工作,但出了点问题):
$log = "C:\Users\me\Documents\Scripts\ScsiLog.csv"
Get-VM | Foreach-Object {
$vm = $_
Get-ScsiController -VM $vm | Where-Object { $_.Type -eq "VirtualBusLogic" } | Foreach-Object {
get-VMGuest -VM $vm } | Foreach-Object{
Write-output $vm.Guest.VmName >> $log
}
}
当我运行此代码时,我没有收到任何错误,但是每当我运行它时,我只会得到服务器的名称而不是操作系统的名称。此外,我不确定我需要做什么才能使操作系统出现在与我正在创建的 csv 日志中的服务器名称不同的列中。
我需要更改代码以获取每个虚拟机的操作系统版本并将其输出到 csv 日志文件的不同列中?