Size: a a a

Microsoft Azure Developers (Russian User Group)

2020 April 30

AV

Alexander V. in Microsoft Azure Developers (Russian User Group)
одинаковые
источник

as

alex suslin in Microsoft Azure Developers (Russian User Group)
может ли быть где-то пустая строка, а где-то NULL?
источник

MS

Max Serg in Microsoft Azure Developers (Russian User Group)
join kind=rightouter вроде должно помочь
источник

MS

Max Serg in Microsoft Azure Developers (Russian User Group)
только квери какой-то кривой кмк ))
источник

AV

Alexander V. in Microsoft Azure Developers (Russian User Group)
Max Serg
только квери какой-то кривой кмк ))
яж мдмщик) как умею
источник

GL

Gleb Lesnikov in Microsoft Azure Developers (Russian User Group)
Alexander V.
SigninLogs
| mv-expand DeviceDetail
| extend browser = DeviceDetail["browser"]
| extend deviceId = DeviceDetail["deviceId"]
| extend displayName = DeviceDetail["displayName"]
| extend isCompliant = DeviceDetail["isCompliant"]
| extend isManaged = DeviceDetail["isManaged"]
| extend operatingSystem = DeviceDetail["operatingSystem"]
| extend trustType = DeviceDetail["trustType"]
| project TimeGenerated, ConditionalAccessStatus,tostring(isCompliant) ,tostring(isManaged) ,tostring(operatingSystem) ,tostring(trustType), CorrelationId
DeviceDetail это dynamic у тебя?
источник

AV

Alexander V. in Microsoft Azure Developers (Russian User Group)
Gleb Lesnikov
DeviceDetail это dynamic у тебя?
да
источник

GL

Gleb Lesnikov in Microsoft Azure Developers (Russian User Group)
а зачем экспандишь?
источник

GL

Gleb Lesnikov in Microsoft Azure Developers (Russian User Group)
чтобы просто собрать в одну строчку?
источник

AV

Alexander V. in Microsoft Azure Developers (Russian User Group)
потому что иначе мешанина идет, а мне бы их как переменные
источник

AV

Alexander V. in Microsoft Azure Developers (Russian User Group)
источник

MS

Max Serg in Microsoft Azure Developers (Russian User Group)
в сентинеле есть такой пример
источник

MS

Max Serg in Microsoft Azure Developers (Russian User Group)
SigninLogs
|where AppDisplayName in ('*') or '*' in ('*')
|where UserDisplayName in ('*') or '*' in ('*')
| extend ErrorCode = tostring(Status.errorCode)
| extend FailureReason = Status.failureReason
| where ErrorCode in ("50058","50140", "51006", "50059", "65001", "52004", "50055", "50144","50072", "50074", "16000","16001", "16003", "50127", "50125", "50129","50143", "81010", "81014", "81012")
| where '*' == '*' or '*' == ErrorCode
| top 200 by TimeGenerated desc
| extend TimeFromNow = now() - TimeGenerated
| extend TimeAgo = strcat(case(TimeFromNow < 2m, strcat(toint(TimeFromNow / 1m), ' seconds'), TimeFromNow < 2h, strcat(toint(TimeFromNow / 1m), ' minutes'), TimeFromNow < 2d, strcat(toint(TimeFromNow / 1h), ' hours'), strcat(toint(TimeFromNow / 1d), ' days')), ' ago')
| project User = UserDisplayName, IPAddress, ['❌ Error Code'] = ErrorCode, ['Sign-in Time'] = TimeAgo, App = AppDisplayName, ['Error code'] = ErrorCode, ['Result type'] = ResultType, ['Result signature'] = ResultSignature, ['Result description'] = ResultDescription, ['Conditional access policies'] = ConditionalAccessPolicies, ['Conditional access status'] = ConditionalAccessStatus, ['Operating system'] = DeviceDetail.operatingSystem, Browser = DeviceDetail.browser, ['Country or region'] = LocationDetails.countryOrRegion, ['State'] = LocationDetails.state, ['City'] = LocationDetails.city, ['Time generated'] = TimeGenerated, Status, ['User principal name'] = UserPrincipalName
источник

GL

Gleb Lesnikov in Microsoft Azure Developers (Russian User Group)
SigninLogs
| evaluate bag_unpack(DeviceDetail)
| extend DeviceDetailAsString = strcat(operatingSystem," ",deviceId," ",browser)
источник

GL

Gleb Lesnikov in Microsoft Azure Developers (Russian User Group)
Alexander V.
потому что иначе мешанина идет, а мне бы их как переменные
можешь так попробовать)
источник

GL

Gleb Lesnikov in Microsoft Azure Developers (Russian User Group)
надеюсь досутпен бэг анпек в LA
источник

AV

Alexander V. in Microsoft Azure Developers (Russian User Group)
Max Serg
SigninLogs
|where AppDisplayName in ('*') or '*' in ('*')
|where UserDisplayName in ('*') or '*' in ('*')
| extend ErrorCode = tostring(Status.errorCode)
| extend FailureReason = Status.failureReason
| where ErrorCode in ("50058","50140", "51006", "50059", "65001", "52004", "50055", "50144","50072", "50074", "16000","16001", "16003", "50127", "50125", "50129","50143", "81010", "81014", "81012")
| where '*' == '*' or '*' == ErrorCode
| top 200 by TimeGenerated desc
| extend TimeFromNow = now() - TimeGenerated
| extend TimeAgo = strcat(case(TimeFromNow < 2m, strcat(toint(TimeFromNow / 1m), ' seconds'), TimeFromNow < 2h, strcat(toint(TimeFromNow / 1m), ' minutes'), TimeFromNow < 2d, strcat(toint(TimeFromNow / 1h), ' hours'), strcat(toint(TimeFromNow / 1d), ' days')), ' ago')
| project User = UserDisplayName, IPAddress, ['❌ Error Code'] = ErrorCode, ['Sign-in Time'] = TimeAgo, App = AppDisplayName, ['Error code'] = ErrorCode, ['Result type'] = ResultType, ['Result signature'] = ResultSignature, ['Result description'] = ResultDescription, ['Conditional access policies'] = ConditionalAccessPolicies, ['Conditional access status'] = ConditionalAccessStatus, ['Operating system'] = DeviceDetail.operatingSystem, Browser = DeviceDetail.browser, ['Country or region'] = LocationDetails.countryOrRegion, ['State'] = LocationDetails.state, ['City'] = LocationDetails.city, ['Time generated'] = TimeGenerated, Status, ['User principal name'] = UserPrincipalName
хм, сентинел тот же лог аналитикс. ща попробую
источник

AV

Alexander V. in Microsoft Azure Developers (Russian User Group)
Gleb Lesnikov
SigninLogs
| evaluate bag_unpack(DeviceDetail)
| extend DeviceDetailAsString = strcat(operatingSystem," ",deviceId," ",browser)
и это
источник

MS

Max Serg in Microsoft Azure Developers (Russian User Group)
ага
источник

GL

Gleb Lesnikov in Microsoft Azure Developers (Russian User Group)
mv-expand тебе не нужен тут
источник