You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过Azure PowerShell获取Log Analytics工作区中的VM详情

获取Log Analytics工作区关联的虚拟机信息

方法1:通过Connected Machine资源查询

如果你的虚拟机是通过Azure Monitor Agent或Log Analytics Agent连接到工作区的,可通过以下命令筛选关联的VM:

# 获取目标Log Analytics工作区的资源ID
$workspaceId = (Get-AzOperationalInsightsWorkspace -Name "你的工作区名称" -ResourceGroupName "你的资源组名称").ResourceId

# 查询所有关联到该工作区的虚拟机
Get-AzConnectedMachine | Where-Object { $_.Properties.WorkspaceResourceIds -contains $workspaceId }

该命令会返回VM的名称、资源组、操作系统类型、代理状态等核心详情。

方法2:通过工作区数据源查询

直接查询工作区中注册的Azure虚拟机数据源:

$workspace = Get-AzOperationalInsightsWorkspace -Name "你的工作区名称" -ResourceGroupName "你的资源组名称"

Get-AzOperationalInsightsDataSource -Workspace $workspace | Where-Object { $_.Kind -eq "AzureVirtualMachine" }

此方法返回工作区已注册的Azure VM基础信息。

补充:通过心跳日志获取VM运行状态

若需要VM的运行状态等更细节数据,可查询工作区的Heartbeat表:

$query = @"
Heartbeat
| where TimeGenerated > ago(24h)
| distinct Computer, OSVersion, ResourceId, ComputerEnvironment
"@

$workspace = Get-AzOperationalInsightsWorkspace -Name "你的工作区名称" -ResourceGroupName "你的资源组名称"
Invoke-AzOperationalInsightsQuery -WorkspaceId $workspace.CustomerId -Query $query

该查询返回过去24小时内向工作区发送心跳的VM信息,包含计算机名、OS版本、资源ID等。

前置依赖

确保已安装并登录Azure PowerShell相关模块:

Install-Module -Name Az.OperationalInsights -Force
Install-Module -Name Az.ConnectedMachine -Force

内容的提问来源于stack exchange,提问作者monika reddy

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.03 15:25:26