azure 应用程序版本=>或类似

uidvcgyl  于 2023-11-21  发布在  其他
关注(0)|答案(1)|浏览(112)

我必须检查我想标记为兼容的应用程序版本,如果版本=> 116.x.x.x
这是我的查询
AppInventory_CL|其中AppName_s在(“Microsoft Edge”)中或“”在(“Microsoft Edge”)中|按ManagedDeviceID_g、AppName_s、AppPublisher_s汇总arg_max(TimeGenerated,)|项目ComputerName_s、AppName_s、AppVersion_s| extend Versione = iif(AppVersion_s >= '116.0.0.0',' OK ',' KO ')
但我犯了个错误
无法比较string和string类型的值。请尝试添加显式强制转换
有什么需要帮忙的吗?
谢谢
这是我的查询
AppInventory_CL|其中AppName_s在(“Microsoft Edge”)中或“”在(“Microsoft Edge”)中|按ManagedDeviceID_g、AppName_s、AppPublisher_s汇总arg_max(TimeGenerated,)|项目ComputerName_s、AppName_s、AppVersion_s| extend Versione = iif(AppVersion_s >= '116.0.0.0',' OK ',' KO ')
但我犯了个错误
无法比较string和string类型的值。请尝试添加显式强制转换

db2dz4w8

db2dz4w81#

你不能在字符串上使用数学上的东西,版本号也不总是能立即转换为“正确”的数字。你可能想用split的方法来增加版本号,并做一些数字检查。

AppInventory_CL 
| where AppName_s in ('Microsoft Edge') or '*' in ('Microsoft Edge') 
| summarize arg_max(TimeGenerated, *) by ManagedDeviceID_g, AppName_s, AppPublisher_s 
| project ComputerName_s, AppName_s, AppVersion_s 
| extend AppVersion_s_Dyn = split(AppVersion_s, '.') //Split the version
| extend Versione = iif(toint(AppVersion_s_Dyn[0]) >= 116 and toint(AppVersion_s_Dyn[-1]) > 0, 'OK', 'KO') //Check on the individual elements
//| summarize count() by Versione //Generate what we want on the pie chart
//| render piechart //Show the piechart

字符串

相关问题