Сбор buslogic аппаратные средства SCSI и операционная система виртуальной машины

На мой комментарий я не полагаю, что существует эквивалент "packages.debian.org" центральный архив пакета (с веб-интерфейсом) в CentOS.

Это - что-то, что я думаю, действительно отсутствует!

1
задан 18 October 2013 в 23:09
2 ответа

Вы были на правильном пути до той последней строчки, где все идет не так. Имейте в виду, что $ _ динамически изменяет значение, тогда как $ vm сохраняет то же значение, что и в строке 3. Кроме того, вы не пользуетесь преимуществами конвейерной обработки, например этот: Get-VM | Get-ScsiController делает то же самое, что и следующее:

Get-VM | Foreach-Object {
$vm = $_
Get-ScsiController -VM $vm 
}

Я думаю, что лучший способ получить отчет - это создать массив со всеми неотфильтрованными данными , а затем экспортировать его в csv и выполните фильтрацию / группировку / и т. д. в Excel или что-то еще. Это было бы просто с помощью приведенного выше примера, за исключением того, что «Имя ОС» не является свойством объекта контроллера SCSI, поэтому вам нужно пройти цикл и получить его. Но что тогда делать с результатом? Нет очевидного места для его хранения. Я решил сохранить его как дополнительное свойство объекта контроллера SCSI:

$rows = @()
$log = "C:\Users\me\Documents\Scripts\ScsiLog.csv"
Get-VM | Get-ScsiController | ForEach-Object {
$row = $_
$os = (Get-VMGuest -vm $row.parent).OSFullName
$row | Add-Member -type NoteProperty -Name OS -Value $os
$rows += $row
}
$rows | select Type, Parent, OS | Export-CSV $log
1
ответ дан 4 December 2019 в 00:34

Во-первых, похоже, что вы наивно создали ужасный вложенный цикл, просто вырезав и вставив и заменив. Подумайте о потоке кода. Зачем нужен третий оператор foreach?

Для вывода: вам действительно нужно начать изучение Powershell, или, скорее, научиться изучать Powershell. Google и сайт MS очень помогут , как и встроенная справочная система. Вставьте все в это (вместо добавления в середине цикла)

Export-CSV $log

Если вы этого не знаете, вы можете набрать get-help * csv * и найти его.

0
ответ дан 4 December 2019 в 00:34

Теги

Похожие вопросы