我正在尝试将Antimalware扩展添加到虚拟机以进行保护,但是当我尝试在Azure门户中添加扩展时,我收到以下错误:
无法向虚拟机添加扩展程序。虚拟机请求无效指定的源映像是用户映像。图像必须是平台图像。
我已经安装了VMAgent。
作为额外信息,我尝试使用powershell命令通过使用以下命令安装扩展并获取相应的响应:
$ vm = Get-AzureVM -ServiceName" MyServiceName" -Name" MyVMName"
VERBOSE:... - 已完成的操作:获取部署*
Set-AzureVMExtension -Publisher Microsoft.Azure.Security -ExtensionName IaaSAntimalware -Version 1. * -VM $ vm.VM
警告:资源扩展引用列表为null或为空
AvailabilitySetName: ConfigurationSet:{Microsoft.WindowsAzure.Commands.ServiceManagement.Model.NetworkConfigurationSet} DataVirtualHardDisks:{" MyVMName"} 标签 : OSVirtualHardDisk:Microsoft.WindowsAzure.Commands.ServiceManagement.Model.OSVirtualHardDisk RoleName:" MyVMName" RoleSize:大 RoleType:PersistentVMRole WinRMCertificate: X509证书: NoExportPrivateKey:错 NoRDPEndpoint:错误 NoSSHEndpoint:错误 DefaultWinRmCertificateThumbprint:F4CF28C735C5E557C7B47742E4F16A08959272F1 ProvisionGuestAgent: ResourceExtensionReferences:{IaaSAntimalware} DataVirtualHardDisksToBeDeleted:
更新 - AzureVM -Name" MyServiceName" -ServiceName" MyVMName" -VM $ vm.VM
VERBOSE:11:15:10 - 完成操作:获取部署 VERBOSE:11:15:10 - 开始操作:更新 - AzureVM VERBOSE:11:15:42 - 完成操作:更新-AnanVM
OperationDescription OperationId OperationStatus -------------------- ----------- --------------- 更新-AceanVM 387b77a2-c8fc-233a-913d-cd364c855429成功
运行命令后,我检查并在VM上安装VMAgent,但没有扩展名。
有没有人有任何想法?
谢谢!
答案 0 :(得分:0)
原因可能是你的第一线 $ vm = Get-AzureVM -ServiceName“MyServiceName” - 名称“MyVMName”
试试这个:
答案 1 :(得分:0)
根据我的经验,此警告是由于Azure Guest代理未部署在VM上,未在VM上运行或过时。如果VM没有健康(且当前)的客户代理,您将无法部署扩展。
您可以使用以下方式检查来宾代理状态:
$vm.GuestAgentStatus
你正在寻找“准备好”的“状态”;其他任何东西,扩展可能会失败。然后扩展Klaad的代码......
# Azure Cloud Service and Azure VM Name
$service= Read-Host -Prompt 'Azure Cloud Service:'
$name = Read-Host -Prompt 'Azure VM:'
# Get the Cloud Service and Azure VM
$vm = Get-AzureVM –ServiceName $service –Name $name
# Check for health of the agent
If ($vm.GuestAgentStatus.Status -ne "Ready") {
Write-Error "The VM agent appears to not be installed or is in an unhealthy state."
}
Else {
# Add Microsoft Antimalware Agent to the Azure VM
Set-AzureVMExtension -Publisher Microsoft.Azure.Security -ExtensionName IaaSAntimalware -Version 1.* -VM $vm.VM
# Update the Azure VM and install the Antimalware Agent
Update-AzureVM -Name $name -ServiceName $service -VM $vm.VM
}
要检查代理是否存在,您可以在服务器上查找以下三个进程:
WaAppAgent.exe
WindowsAzureGuestAgent.exe
WindowsAzureTelemetryService.exe
您可以从here下载代理(编辑时的当前版本为2.6.1198.718)。
安装需要两个步骤(来源:Zach Millis):
代码:
# Azure Cloud Service and Azure VM Name
$service= Read-Host -Prompt 'Azure Cloud Service:'
$name = Read-Host -Prompt 'Azure VM:'
# Get the Cloud Service and Azure VM
$vm = Get-AzureVM –ServiceName $service –Name $name
# Provision the guest agent so Azure knows about it
$vm.VM.ProvisionGuestAgent = $TRUE
# Update the Azure VM and install the Antimalware Agent
$vm | Update-AzureVM
# Refresh the connection to the VM to get the new status
$vm = Get-AzureVM –ServiceName $service –Name $name
# Check status - should now be "Ready"
$vm.GuestAgentStatus
应该是它。