千家信息网

如何用powershell脚本查看用户的操作记录

发表于:2026-11-01 作者:千家信息网编辑
千家信息网最后更新 2026年11月01日,本文以azure为例,为大家分析用powershell脚本查看用户的操作记录的方法。阅读完整文相信大家对powershell脚本的使用方法有了一定的认识。下边来看下代码的内容,其实是很简单的param
千家信息网最后更新 2026年11月01日如何用powershell脚本查看用户的操作记录

本文以azure为例,为大家分析用powershell脚本查看用户的操作记录的方法。阅读完整文相信大家对powershell脚本的使用方法有了一定的认识。

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

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。

看完这篇文章,你们学会用powershell脚本查看用户的操作记录了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注行业资讯频道,感谢各位的阅读。

脚本 用户 内容 方法 更多 查询 代码 作用 使用方法 参数 后台 技能 文件 桌面 篇文章 行业 资讯 资讯频道 频道 分析 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 互联网科技园 哈尔滨大商圈互联网科技有限公司 互联网科技公司经营范围 西安纸贵互联网科技有限公司 互联网巨头科技公司 互联网科技集团 互联网科技股票 新浪科技互联网 上海万想互联网科技 央行互联网金融科技公司 北京华百购互联网科技有限公司 互联网和黑科技的看法 中国航天科技大学国际工业互联网 速维有品互联网信息科技(苏州)有限公司 互联网科技创新的路径 徐州市互联网科技有限公司 山东有哪些互联网科技公司 工业互联网科技成果转化 恒生科技互联网指数十大成分股 武汉亿视互联网科技有限公司 中智农互联网科技 科技金融是不是互联网金融 深圳恒合互联网络科技有限公司 科技与互联网哪个更好 互联网科技有哪些公司 互联网科技如何创业 沐思想互联网科技有限公司 北京市互联网新科技 梅州GM互联网络科技有限公司 易企秀互联网科技是做什么的
0