Ошибка анализа данных JSON в KQL
Текст Json неправильно обрабатывается в KQL. Я также пробовал использовать parse_json, но это тоже не сработало. Я подтвердил, что AllProperties хранит верные данные.
DeviceInfo
| where RegistryDeviceTag == "Standard"
| extend AllProperties = todynamic(LoggedOnUsers)
| project DeviceName, Users = AllProperties["Username"]
Вывод дает мне правильное имя устройства, но не дает никаких данных в поле имени пользователя.
1 ответ
Решение
(на основе образца ввода, который вы предоставили в комментарии)
если массив «LoggedOnUsers» включает ровно одну запись, вы можете сделать это:
print input = '[{"UserName":"TheUserName","DomainName":"TheDomainName","Sid":"TheSID#"}]'
| project UserName = parse_json(input)[0].UserName
в противном случае вы можете использовать
mv-expand
или
mv-apply
:
print input = '[{"UserName":"TheUserName","DomainName":"TheDomainName","Sid":"TheSID#"}]'
| project parse_json(input)
| mv-apply input on (
project UserName = input.UserName
)