如何使用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

更新於:2021年8月31日

2K+瀏覽量

開啟您的職業生涯

完成課程獲得認證

開始學習
廣告
© . All rights reserved.