Я пишу короткий скрипт, который сравнивает ОС, запущенную на нашей виртуальной машине, с тем, что мы вручную ввели в нашу CMDB. Ниже некоторые тестовый кодУдалить строку после ожидаемого значения
foreach ($r in $SQL) {
if ((Get-VMGuest $r.name).OSFullName -eq $r.OS) {
Write-Host "Match"
} else {
Write-Host "Not matching"
}
}
Вот пример вывода
VM Output = Microsoft Windows Server 2003 Standard (32-bit)
SQL Output = Microsoft Windows Server 2003, Standard Edition
VM Output = Microsoft Windows Server 2012 (64-bit)
SQL Output = Microsoft Windows Server 2012 Standard
С тем, как результат, выводимый я никогда не получить матч, даже если операционная система одинаковы.
Есть ли способ разорваться после Серверного года или другой способ обойти это?
Да Thats eacly то, что я пытаюсь сделать. Ваша функция работает нормально, но оператор if обычно не работает, NormalizeOS ($ r.OS)) не работает, нет ли скобок или что-то еще? – Notumlord
Хм, да, скобки были в неправильном месте, попробуйте. –