千家信息网

怎么查询Azure用户操作记录

发表于:2025-01-31 作者:千家信息网编辑
千家信息网最后更新 2025年01月31日,这篇文章给大家分享的是有关怎么查询Azure用户操作记录的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。下边来看下代码的内容,其实是很简单的param ( [param
千家信息网最后更新 2025年01月31日怎么查询Azure用户操作记录

这篇文章给大家分享的是有关怎么查询Azure用户操作记录的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。

下边来看下代码的内容,其实是很简单的

param (    [parameter(Mandatory = $false)]    [Int]$MaxRecords = 100000,    [parameter(Mandatory = $true)]    [string]$User    )function Write-DateTimeMessage {    param (        [parameter(Mandatory = $false)]        [switch]$Warning,        [parameter(Mandatory = $true)]        [string]$Message,        [parameter(Mandatory = $false)]        [string]$ForegroundColor            )            if ($Warning) {        Write-Warning ($(Get-Date -UFormat '%Y/%m/%d %H:%M:%S') + " * " + $Message)    }    else {        if ($ForegroundColor) {            Write-Host ($(Get-Date -UFormat '%Y/%m/%d %H:%M:%S') + " * " + $Message) -ForegroundColor $ForegroundColor        }        else {            Write-Host ($(Get-Date -UFormat '%Y/%m/%d %H:%M:%S') + " * " + $Message)        }    }    }                  [pscustomobject[]]$UserObjects = $null$Subscriptions = Get-AzureRmSubscriptionforeach ($subscription in $Subscriptions) {        " "    "Querying Subscription:"    $SubscriptionID = $Subscription.Id    $SubscriptionName = $Subscription.Name    Select-AzureRmSubscription -SubscriptionId $SubscriptionID -InformationAction SilentlyContinue        Write-DateTimeMessage -Message "Retrieving logs, please wait..."    $logs = Get-AzureRmLog -ResourceProvider Microsoft.Compute -StartTime (Get-Date).AddDays(-90) -Maxrecord $MaxRecords    foreach ($log in $logs) {        if ($log.caller -eq $User) {            $UserObject = New-Object -TypeName psobject            $UserObject | Add-Member -MemberType NoteProperty -Name SubscriptionName -Value $SubscriptionName            $UserObject | Add-Member -MemberType NoteProperty -Name SubscriptionID -Value $SubscriptionID            $UserObject | Add-Member -MemberType NoteProperty -Name ResourceGroup -Value $log.ResourceGroupName            $UserObject | Add-Member -MemberType NoteProperty -Name Caller -Value $log.caller            $UserObject | Add-Member -MemberType NoteProperty -Name Operation -Value $log.OperationName.Value            $UserObject | Add-Member -MemberType NoteProperty -Name ResourceId -Value $log.ResourceId            $UserObject | Add-Member -MemberType NoteProperty -Name Time -Value $log.EventTimestamp            $UserObjects += $UserObject        }    }}$OutputPath = Join-Path -Path ([Environment]::GetFolderPath("Desktop")) -ChildPath ("AzureUserAction-" + $(Get-Date -Format "yyyyMMdd-HHmmss") + ".csv")if ($null -ne $UserObjects) {        $UserObjects | Export-Csv -NoTypeInformation -LiteralPath $OutputPath    Write-DateTimeMessage -Message "Please check $OutputPath" -Warning}else {    Write-DateTimeMessage  "Didn't get information, please check" -warning    }

我们来尝试着运行一下脚本Get-AzureUserActionLog.ps1 -User "xxx@xxx.partner.onmschina.cn", -User的作用是我们可以根据这个参数筛选出来特定的用户

脚本执行完成后,可以在桌面上看到一个csv文件,里边会记录查询出来log

最后,还是要提醒一点,因为Azure后台的限制,这只能查询到最近90天之内的log

感谢各位的阅读!关于"怎么查询Azure用户操作记录"这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!

0