我已經和現有的PowerShell腳本(不是我寫的!),其目的是使用傳入的參數(SCOM警報ID)來然後在警報中設置其他信息,例如$ alert.CustomField1 = $ alert.PrincipleName等等需要一個PowerShell腳本使用參數來操作/從另一個CSV文件中的字段讀取
我正在尋找添加功能,這個腳本能夠添加額外的'自定義'信息存儲在一個單獨的文本/ CSV文件。文本/ CSV文件的標題行
ServerName,ServiceOwner,Application Tier
所以文件中的行會
MYSERVER.CONTOSO.COM,Joe Bloggs, Tier 1
將會有一個唯一的行爲我們的環境(超過600行)每個服務器。
所以我需要的是用做傳入的警示標識。我可以使用$alert.PrincipleName
查找文本文件中的相應行和存儲在現場2和3,即ServiceOwner
和ApplicationTier
其他詳細信息的拉動。
,這個道理對廣大警報,但如果服務器名稱爲特定值(例如MYSTSERVER.CONTOSO.COM
)然後,而不是使用$alert.PrincipleName
以匹配文本文件服務器名稱,我需要匹配的另一個警報財產$alert.MonitoringObjectDisplayName
。但是,該字段中的服務器名稱是格式中較大字符串的一部分,例如, User Services Watcher for Pool [MYTARGETSERVER.CONTOSO.COM]
- 所以我需要從字符串的方括號中提取severname,然後與文本文件進行匹配。
希望我已經解釋了我想要做清楚 - 如果不是我樂意爲您提供進一步的澄清,也可以張貼現有的PS腳本我試圖修改如果多數民衆贊成任何幫助。
嗨安斯加爾,剛剛返回從一個短暫的假期,因此後期的答覆工作!感謝上面的代碼片段 - 我遵循它,但有點依賴於服務器名稱在文件中的值分配有點困惑。如果我給powershell,我特別試圖改變,你可能會協助修改它,以提供我所需的功能?希望你可以幫忙 - 下面的PowerShell,我試着添加一些不工作的位 - 我把我的評論作爲##與原始腳本註釋分開。任何幫助非常感謝! – user2567758
實際上不能發佈完整的PowerShell - 它不是很長,但超過了允許的字符。我可以向您發送腳本或其他任何可以在此論壇上發佈的方式嗎? – user2567758
嗨安斯加 - 我不能修剪足夠,所以我已經把整個PowerShell粘貼到Pastebin(不是很大!),如你在這裏建議http://pastebin.com/TmVuBT9x如果你需要我澄清任何事情,請讓我知道我很想讓這個腳本工作。任何幫助表示讚賞! – user2567758