断开Azure VM与Loganalytics工作区的连接

时间:2019-02-14 10:01:09

标签: azure powershell virtual-machine azure-log-analytics

我正在寻找将虚拟机与OMS工作区断开连接的Powershell方法。

我写了一个powershell脚本将VM移到另一个订阅。因此,我必须将此虚拟机从“源工作区”重新连接到“目标工作区”。

只需删除OMS扩展,即可将虚拟机显示为“未连接”到Azure门户“ Log Analytics工作区>工作区数据源>虚拟机”。

此cmdlet应该可以解决问题(the doc is not really clear),但我总是收到相同的消息

PUT

(CentosMove是我的VM名称)。

我们的ITSOMS工作区已经使用了数百年的VM,许多解决方案,NSG日志流分析等。

remove-AzureRmOperationalInsightsDataSource -Workspace $OmsWkspceITS -Name CentosMove
Confirm
Are you sure you want to remove data source 'CentosMove' in workspace 'itsoms'?
[Y] Yes [N] No [S] Suspend [?] Help (default is "Yes"): yes
WARNING: DataSource 'CentosMove' does not exist in workspace 'itsoms'.

我可以通过此cmdlet获得的唯一数据源就是这样的数据源

$OmsWkspceITS


Name              : itsoms
ResourceGroupName : rg_its_exploit
ResourceId        : /subscriptions/blablabla/resourcegroups/blabla/providers/microsoft.operationalinsights/workspaces/itsoms
Location          : westeurope
Tags              :
Sku               : standalone
CustomerId        : xx
PortalUrl         : https://weu.mms.microsoft.com/Accou...
ProvisioningState : Succeeded

我可能不是在看我认为正确的cmdlet ...

感谢您的帮助:)

1 个答案:

答案 0 :(得分:1)

要满足要求,请使用cmdlet Remove-AzureRmVMExtension Set-AzureRmVMExtension

要查看插图,请查看以下命令。

要断开Linux VM代理的连接,请执行以下操作:

Remove-AzureRmVMExtension -ResourceGroupName RESOURCEGROUPNAME -VMName VMNAME -Name ‘OmsAgentForLinux’

要断开Windows VM代理的连接,请执行以下操作:

Remove-AzureRmVMExtension -ResourceGroupName RESOURCEGROUPNAME -VMName VMNAME -Name ‘MicrosoftMonitoringAgent’

要将Linux VM代理连接到Log Analytics工作区:

$WorkspaceID = "xxxxxxxxxxxxxxxxxxxxxxxxx"
$WorkspaceKey = "xxxxxxxxxxxxxxxxxxxxxxxx"
Set-AzureRmVMExtension -ResourceGroupName RESOURCEGROUPNAME -VMName VMNAME -Name ‘OmsAgentForLinux’ -Publisher ‘Microsoft.EnterpriseCloud.Monitoring’ -ExtensionType ‘OmsAgentForLinux’ -TypeHandlerVersion ‘1.0’ -Location 'LOCATION' -SettingString "{‘workspaceId’: ‘$WorkspaceID’}" -ProtectedSettingString "{‘workspaceKey’: ‘$WorkspaceKey’}"

要将Windows VM代理连接到Log Analytics工作区:

$WorkspaceID = "xxxxxxxxxxxxxxxxxxxxxxxxx"
$WorkspaceKey = "xxxxxxxxxxxxxxxxxxxxxxxx"
Set-AzureRmVMExtension -ResourceGroupName RESOURCEGROUPNAME -VMName VMNAME -Name ‘MicrosoftMonitoringAgent’ -Publisher ‘Microsoft.EnterpriseCloud.Monitoring’ -ExtensionType ‘MicrosoftMonitoringAgent’ -TypeHandlerVersion ‘1.0’ -Location 'LOCATION' -SettingString "{‘workspaceId’: ‘$WorkspaceID’}" -ProtectedSettingString "{‘workspaceKey’: ‘$WorkspaceKey’}"

希望这会有所帮助!!干杯!! :)