Я пытаюсь использовать 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?