#azure #azure-active-directory #kql #azure-data-explorer
#azure #azure-active-directory #kql #azure-data-explorer
Вопрос:
Я очень новичок в kql, и я застрял на этом запросе. Я хочу, чтобы запрос отображал, какие пользователи выполняли входы в систему из разных состояний. Я создал этот запрос, но я не знаю, как подсчитать результаты в столбце «имена».
SigninLogs
| project tostring(LocationDetails.state), UserDisplayName
| extend p =pack( 'Locations', LocationDetails_state)
| summarize names = make_set(p) by UserDisplayName
Это генерирует столбец «имена» с такой строкой:
[{"Locations":"Arkansas"},{"Locations":"Iowa"},{"Locations":""}]
Вот простой запрос, который собирает все входы от пользователей и другой столбец с местоположениями.
SigninLogs
| where ResultType == "0"
| summarize by UserDisplayName, tostring(LocationDetails.state)
Есть ли способ объединить дубликаты столбца users, а затем отобразить каждое местоположение во втором? Если да, могу ли я подсчитать каждое местоположение, чтобы отфильтровать, где местоположение> 1?
Ответ №1:
Я хочу, чтобы запрос отображал, какие пользователи выполняли входы в систему из разных состояний
Предполагая, что я правильно понял ваш вопрос, это может сработать (с использованием array_length()
):
SigninLogs
| project State = tostring(LocationDetails.state), UserDisplayName
| summarize States = make_set(State) by UserDisplayName
| where array_length(States) > 1 // filter users who had sign-ins from *more than 1 state*
Комментарии:
1. Спасибо! это работает, я чувствовал, что пробовал это, но, думаю, нет