2017-06-13 110 views
-1

我想运行以下命令来删除Azure中未使用的网络安全组,但该命令不断返回“BadRequest”?Azure - 无法删除网络安全组

> PS C:\> Remove-AzureRmNetworkSecurityGroup 
> -ResourceGroupName xxxxx-group -Name xxxxxxx-nsg -Force 
> 
> Remove-AzureRmNetworkSecurityGroup : Operation returned an invalid 
> status code 'BadRequest' StatusCode: 400 ReasonPhrase: Bad Request 
> OperationID : 'dd6a9c5f-2713-438b-8b4f-a0916db7e78b' At line:1 char:1 
> + Remove-AzureRmNetworkSecurityGroup -ResourceGroupName xxxx-test-gr ... 
> + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
>  + CategoryInfo   : CloseError: (:) [Remove-AzureRmNetworkSecurityGroup], NetworkCloudException 
>  + FullyQualifiedErrorId : Microsoft.Azure.Commands.Network.RemoveAzureNetworkSecurityGroupCommand 
+1

我建议你用'-debug'开关做相同的命令,并找出问题或在这里发布错误输出,所以我们可以帮助 – 4c74356b41

回答

0

看来你的NSG与一些网络接口或子网相关联。我们可以通过Azure Portal或PowerShell进行检查。
通过Azure的门户网站Resourcegroup-> NSG->概述 - >相关与enter image description here

通过PowerShell的: 我们可以使用这个命令Get-AzureRmEffectiveNetworkSecurityGroup列表NSG相关信息

PS C:\Users> Get-AzureRmNetworkInterface -ResourceGroupName vm | format-table name 

Name 
---- 
jasonvm815 
PS C:\Users> Get-AzureRmEffectiveNetworkSecurityGroup -NetworkInterfaceName jasonvm815 -ResourceGroupName vm 


NetworkSecurityGroup : { 
          "Id": "/subscriptions/xxxx7abb-xxxx-xxxx-xxxx-0361e29axxx/resourceGroups/vm/providers/Microsoft.Network/networkSecurityGroups/jasonvm-nsg" 
         } 
Association   : { 
          "NetworkInterface": { 
          "Id": "/subscriptions/xxxx7abb-xxxx-xxxx-xxxx-0361e29axxxx/resourceGroups/vm/providers/Microsoft.Network/networkInterfaces/jasonvm815" 
          } 
         } 
EffectiveSecurityRules : [ 
          { 
          "Name": "securityRules/default-allow-ssh", 
          "Protocol": "Tcp", 
          "SourcePortRange": "0-65535", 
          "DestinationPortRange": "22-22", 
          "SourceAddressPrefix": "0.0.0.0/0", 
          "DestinationAddressPrefix": "0.0.0.0/0", 
          "ExpandedSourceAddressPrefix": [], 
          "ExpandedDestinationAddressPrefix": [], 
          "Access": "Allow", 

使用PowerShell来解离NSG从NIC,我们可以按照这些步骤:

$nic = Get-AzureRmNetworkInterface -ResourceGroupName RG-NSG -Name TestNICWeb1 
$nic.NetworkSecurityGroup = $null 
Set-AzureRmNetworkInterface -NetworkInterface $nic 

使用PowerShell 从一个子网分离的核供应国集团,我们可以按照这些步骤:

$vnet = Get-AzureRmVirtualNetwork -ResourceGroupName RG-NSG -Name TestVNet 
$subnet = Get-AzureRmVirtualNetworkSubnetConfig -VirtualNetwork $vnet -Name FrontEnd 
$subnet.NetworkSecurityGroup = $null 
Set-AzureRmVirtualNetwork -VirtualNetwork $vnet 

在那之后,我们可以使用命令Remove-AzureRmNetworkSecurityGroup删除Azure NSG。
有关PowerShell管理NSG的更多信息,请参阅此link

+0

只需检查以查看提供的信息是否有帮助。如果您需要进一步的帮助,请告诉我。 –