parse_user_agent()
適用於:✅Microsoft網狀架構✅Azure 數據✅總管 Azure 監視器✅Microsoft Sentinel
解譯使用者代理程式字串,此字串會識別使用者的瀏覽器,並提供特定系統詳細數據給裝載使用者瀏覽之網站的伺服器。 結果會以 dynamic
傳回。
語法
parse_user_agent(
user-agent-string, look-for)
深入瞭解 語法慣例。
參數
姓名 | 類型 | 必要 | 描述 |
---|---|---|---|
user-agent-string | string |
✔️ | 要剖析的使用者代理程式字串。 |
look-for | 字串或動態 | ✔️ | 在user-agent-string 中搜尋的值。 可能的選項包括 「browser」、“os” 或 「device」。。 如果只需要單一剖析目標,就可以傳遞 string 參數。 如果需要兩個或三個 dynamic 目標,則可以以數位的形式傳遞它們。 |
傳回
型 dynamic
別的物件,包含所要求剖析目標的相關信息。
瀏覽器: Family、 MajorVersion、 MinorVersion、 Patch
OperatingSystem: Family、 MajorVersion、 MinorVersion、 Patch、 PatchMinor
裝置: 系列、 品牌、 型號
警告
函式實作是以輸入字串的 regex 檢查為基礎,針對大量預先定義的模式。 因此,預期的時間和CPU耗用量很高。 當函式用於查詢時,請確定它在多部計算機上以分散式方式執行。 如果經常使用此函式的查詢,您可能想要透過 更新原則預先建立結果,但您必須考慮在更新原則內使用此函式會增加擷取延遲。
範例
尋找參數作為字串
print useragent = "Mozilla/5.0 (Windows; U; en-US) AppleWebKit/531.9 (KHTML, like Gecko) AdobeAIR/2.5.1"
| extend x = parse_user_agent(useragent, "browser")
預期的結果為動態物件:
{
"Browser": {
"Family": "AdobeAIR",
"MajorVersion": "2",
"MinorVersion": "5",
"Patch": "1"
}
}
尋找參數作為動態陣列
print useragent = "Mozilla/5.0 (SymbianOS/9.2; U; Series60/3.1 NokiaN81-3/10.0.032 Profile/MIDP-2.0 Configuration/CLDC-1.1 ) AppleWebKit/413 (KHTML, like Gecko) Safari/4"
| extend x = parse_user_agent(useragent, dynamic(["browser","os","device"]))
預期的結果為動態物件:
{
"Browser": {
"Family": "Nokia OSS Browser",
"MajorVersion": "3",
"MinorVersion": "1",
"Patch": ""
},
"OperatingSystem": {
"Family": "Symbian OS",
"MajorVersion": "9",
"MinorVersion": "2",
"Patch": "",
"PatchMinor": ""
},
"Device": {
"Family": "Nokia N81",
"Brand": "Nokia",
"Model": "N81-3"
}
}