如何使用PowerShell获取Azure虚拟机活动日志?
要使用PowerShell获取Azure虚拟机活动日志,我们需要使用**Get-AzLog**命令。在运行AZ命令之前,请确保已使用**(ConnectAzAccount)**连接到Azure帐户以及订阅**(Set-AzContext)**。
我们有以下**TestVM**,我们需要检索活动日志并获取其资源ID。我们将使用以下方法获取资源ID:
PS C:\> $vm = Get-AzVM -VMName TestVM
PS C:\> $vm.Id
我们需要在**Get-AzLog**命令中使用此ID来检索活动日志。
PS C:\> Get-AzLog -ResourceId $vm.Id
它将提供该特定资源组的所有Azure事件,您可以看到许多属性。如果我们只需要检索在门户上显示的Azure活动日志中的属性,可以使用以下命令:
(Get-AzLog -ResourceId $vm.Id) | Select
@{N='VMName';E={$vm.Name}},ResourceGroupName,
@{N='Message';E={$_.OperationName.LocalizedValue}}, Level, Caller, EventTimestamp |
ft -AutoSize您可以使用特定级别过滤事件。例如,要仅过滤警告日志,可以使用:
(Get-AzLog -ResourceId $vm.Id) | where{$_.Level -eq "Warning"} | Select
@{N='VMName';E={$vm.Name}},ResourceGroupName,
@{N='Message';E={$_.OperationName.LocalizedValue}},Level, Caller, EventTimestamp您可以添加开始和结束时间,如下所示:
Get-AzLog -ResourceId $vm.Id -StartTime 2021-03-01 -EndTime
2021-05-25 -MaxRecord 20 | `
Select @{N='VMName';E={$vm.Name}},ResourceGroupName,
@{N='Message';E={$_.OperationName.LocalizedValue}},Level,
Caller, EventTimestamp
广告
数据结构
网络
关系数据库管理系统 (RDBMS)
操作系统
Java
iOS
HTML
CSS
Android
Python
C语言编程
C++
C#
MongoDB
MySQL
Javascript
PHP