我可以使用 ARM 模板 (https://docs.microsoft.com/en-us/azure/azure-monitor/agents/resource-manager-agent) 将 Azure VM 连接到日志分析工作区,但我想一次将一个订阅和不同资源组中的多个 VM 连接到日志分析工作区. 有什么办法可以解决这个问题吗?
答案 0 :(得分:0)
如果您想在 Azure 中的日志分析工作区的订阅中添加一堆 VM,我们可以使用 PowerShell 命令 Set-AzVMExtension
来实现它。
例如
# all windows VMs in the subscription (which you set via Set-AzContext)
$PublicSettings = @{ "workspaceId" = "" }
$ProtectedSettings = @{ "workspaceKey" = "" }
# Using -Status switch to get the status too
Get-AzVM -Status | Where-Object{ $_.Powerstate -eq "VM running" -and $_.StorageProfile.OsDisk.OsType -eq "Windows" } | ForEach-Object {
$VMName = $_.Name
$ResourceGroupName = $_.ResourceGroupName
$Location = $_.Location
Write-Host "Processing $VMName"
Set-AzVMExtension -ExtensionName "MicrosoftMonitoringAgent" `
-ResourceGroupName "$ResourceGroupName" `
-VMName "$VMName" `
-Publisher "Microsoft.EnterpriseCloud.Monitoring" `
-ExtensionType "MicrosoftMonitoringAgent" `
-TypeHandlerVersion 1.0 `
-Settings $PublicSettings `
-ProtectedSettings $ProtectedSettings `
-Location "$Location"
}