我正在編寫一個簡短腳本,用於比較在我們的虛擬機上運行的操作系統與我們手動輸入到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
由於結果是輸出我從來沒有得到,即使操作系統是相同的比賽方式。
有沒有辦法在服務器年後或其他方式來解決這個問題?
是啊,多數民衆贊成eacly我想要完成的任務。你的函數運行正常,但if語句不會,NormalizeOS($ r.OS))部分不會工作,是否有一個括號丟失或什麼? – Notumlord
嗯,是的括號是在錯誤的地方,試試看。 –