Ta bort en virtuell nätverksgateway med PowerShell

Det finns ett par olika metoder som du kan använda när du vill ta bort en virtuell nätverksgateway för en VPN-gatewaykonfiguration.

  • Om du vill ta bort allt och börja om, som när det gäller en testmiljö, kan du ta bort resursgruppen. När du tar bort en resursgrupp tas alla resurser i gruppen bort. Den här metoden rekommenderas endast om du inte vill behålla någon av resurserna i resursgruppen. Du kan inte selektivt ta bort endast ett fåtal resurser med den här metoden.

  • Om du vill behålla några av resurserna i resursgruppen blir det lite mer komplicerat att ta bort en virtuell nätverksgateway. Innan du kan ta bort den virtuella nätverksgatewayen måste du först ta bort alla resurser som är beroende av gatewayen. Vilka steg du följer beror på vilken typ av anslutningar du har skapat och beroende resurser för varje anslutning.

Ta bort en VPN-gateway från plats till plats

Om du vill ta bort en virtuell nätverksgateway för en S2S-konfiguration måste du först ta bort varje resurs som gäller den virtuella nätverksgatewayen. Resurser måste tas bort i en viss ordning på grund av beroenden. I följande exempel måste vissa av värdena anges, medan andra värden är ett utdataresultat. Vi använder följande specifika värden i exemplen i demonstrationssyfte:

  • VNet-namn: VNet1
  • Resursgruppsnamn: TestRG1
  • Namn på virtuell nätverksgateway: VNet1GW
  1. Hämta den virtuella nätverksgateway som du vill ta bort.

    $GW=get-Azvirtualnetworkgateway -Name "VNet1GW" -ResourceGroupName "TestRG1"
    
  2. Kontrollera om den virtuella nätverksgatewayen har några anslutningar.

    get-Azvirtualnetworkgatewayconnection -ResourceGroupName "TestRG1" | where-object {$_.VirtualNetworkGateway1.Id -eq $GW.Id}
    $Conns=get-Azvirtualnetworkgatewayconnection -ResourceGroupName "TestRG1" | where-object {$_.VirtualNetworkGateway1.Id -eq $GW.Id}
    
  3. Ta bort alla anslutningar. Du kan uppmanas att bekräfta borttagningen av var och en av anslutningarna.

    $Conns | ForEach-Object {Remove-AzVirtualNetworkGatewayConnection -Name $_.name -ResourceGroupName $_.ResourceGroupName}
    
  4. Ta bort den virtuella nätverksgatewayen. Du kan uppmanas att bekräfta borttagningen av gatewayen. Om du har en P2S-konfiguration till det här virtuella nätverket utöver S2S-konfigurationen kopplar borttagningen av den virtuella nätverksgatewayen automatiskt bort alla P2S-klienter utan varning.

    Remove-AzVirtualNetworkGateway -Name "VNet1GW" -ResourceGroupName "TestRG1"
    

    Nu har din virtuella nätverksgateway tagits bort. Du kan använda nästa steg för att ta bort alla resurser som inte längre används.

  5. Om du vill ta bort de lokala nätverksgatewayerna hämtar du först listan över motsvarande lokala nätverksgatewayer.

    $LNG=Get-AzLocalNetworkGateway -ResourceGroupName "TestRG1" | where-object {$_.Id -In $Conns.LocalNetworkGateway2.Id}
    

    Ta sedan bort de lokala nätverksgatewayerna. Du kan uppmanas att bekräfta borttagningen av var och en av den lokala nätverksgatewayen.

    $LNG | ForEach-Object {Remove-AzLocalNetworkGateway -Name $_.Name -ResourceGroupName $_.ResourceGroupName}
    
  6. Om du vill ta bort offentliga IP-adressresurser hämtar du först IP-konfigurationerna för den virtuella nätverksgatewayen.

    $GWIpConfigs = $Gateway.IpConfigurations
    

    Hämta sedan listan över offentliga IP-adressresurser som används för den här virtuella nätverksgatewayen. Om den virtuella nätverksgatewayen var aktiv-aktiv visas två offentliga IP-adresser.

    $PubIP=Get-AzPublicIpAddress | where-object {$_.Id -In $GWIpConfigs.PublicIpAddress.Id}
    

    Ta bort offentliga IP-resurser.

    $PubIP | foreach-object {remove-AzpublicIpAddress -Name $_.Name -ResourceGroupName "TestRG1"}
    
  7. Ta bort gatewayundernätet och ange konfigurationen.

    $GWSub = Get-AzVirtualNetwork -ResourceGroupName "TestRG1" -Name "VNet1" | Remove-AzVirtualNetworkSubnetConfig -Name "GatewaySubnet"
    Set-AzVirtualNetwork -VirtualNetwork $GWSub
    

Ta bort en VPN-gateway för VNet-till-VNet

Om du vill ta bort en virtuell nätverksgateway för en V2V-konfiguration måste du först ta bort varje resurs som gäller den virtuella nätverksgatewayen. Resurser måste tas bort i en viss ordning på grund av beroenden. I följande exempel måste vissa av värdena anges, medan andra värden är ett utdataresultat. Vi använder följande specifika värden i exemplen i demonstrationssyfte:

  • VNet-namn: VNet1
  • Resursgruppsnamn: TestRG1
  • Namn på virtuell nätverksgateway: VNet1GW
  1. Hämta den virtuella nätverksgateway som du vill ta bort.

    $GW=get-Azvirtualnetworkgateway -Name "VNet1GW" -ResourceGroupName "TestRG1"
    
  2. Kontrollera om den virtuella nätverksgatewayen har några anslutningar.

    get-Azvirtualnetworkgatewayconnection -ResourceGroupName "TestRG1" | where-object {$_.VirtualNetworkGateway1.Id -eq $GW.Id}
    
  3. Det kan finnas andra anslutningar till den virtuella nätverksgatewayen som ingår i en annan resursgrupp. Sök efter ytterligare anslutningar i varje ytterligare resursgrupp. I det här exemplet söker vi efter anslutningar från RG2. Kör detta för varje resursgrupp som du har som kan ha en anslutning till den virtuella nätverksgatewayen.

    get-Azvirtualnetworkgatewayconnection -ResourceGroupName "RG2" | where-object {$_.VirtualNetworkGateway2.Id -eq $GW.Id}
    
  4. Hämta listan över anslutningar i båda riktningarna. Eftersom det här är en VNet-till-VNet-konfiguration behöver du listan över anslutningar i båda riktningarna.

    $ConnsL=get-Azvirtualnetworkgatewayconnection -ResourceGroupName "TestRG1" | where-object {$_.VirtualNetworkGateway1.Id -eq $GW.Id}
    
  5. I det här exemplet söker vi efter anslutningar från RG2. Kör detta för varje resursgrupp som du har som kan ha en anslutning till den virtuella nätverksgatewayen.

     $ConnsR=get-Azvirtualnetworkgatewayconnection -ResourceGroupName "<NameOfResourceGroup2>" | where-object {$_.VirtualNetworkGateway2.Id -eq $GW.Id}
    
  6. Ta bort alla anslutningar. Du kan uppmanas att bekräfta borttagningen av var och en av anslutningarna.

    $ConnsL | ForEach-Object {Remove-AzVirtualNetworkGatewayConnection -Name $_.name -ResourceGroupName $_.ResourceGroupName}
    $ConnsR | ForEach-Object {Remove-AzVirtualNetworkGatewayConnection -Name $_.name -ResourceGroupName $_.ResourceGroupName}
    
  7. Ta bort den virtuella nätverksgatewayen. Du kan uppmanas att bekräfta borttagningen av den virtuella nätverksgatewayen. Om du har P2S-konfigurationer till dina virtuella nätverk utöver V2V-konfigurationen kommer borttagning av virtuella nätverksgatewayer automatiskt att koppla från alla P2S-klienter utan varning.

    Remove-AzVirtualNetworkGateway -Name "VNet1GW" -ResourceGroupName "TestRG1"
    

    Nu har din virtuella nätverksgateway tagits bort. Du kan använda nästa steg för att ta bort alla resurser som inte längre används.

  8. Om du vill ta bort de offentliga IP-adressresurserna hämtar du IP-konfigurationerna för den virtuella nätverksgatewayen.

    $GWIpConfigs = $Gateway.IpConfigurations
    
  9. Hämta sedan listan över offentliga IP-adressresurser som används för den här virtuella nätverksgatewayen. Om den virtuella nätverksgatewayen var aktiv-aktiv visas två offentliga IP-adresser.

    $PubIP=Get-AzPublicIpAddress | where-object {$_.Id -In $GWIpConfigs.PublicIpAddress.Id}
    
  10. Ta bort offentliga IP-resurser. Du kan uppmanas att bekräfta borttagningen av den offentliga IP-adressen.

    $PubIP | foreach-object {remove-AzpublicIpAddress -Name $_.Name -ResourceGroupName "<NameOfResourceGroup1>"}
    
  11. Ta bort gatewayundernätet och ange konfigurationen.

    $GWSub = Get-AzVirtualNetwork -ResourceGroupName "TestRG1" -Name "VNet1" | Remove-AzVirtualNetworkSubnetConfig -Name "GatewaySubnet"
    Set-AzVirtualNetwork -VirtualNetwork $GWSub
    

Ta bort en punkt-till-plats-VPN-gateway

Om du vill ta bort en virtuell nätverksgateway för en P2S-konfiguration måste du först ta bort varje resurs som gäller den virtuella nätverksgatewayen. Resurser måste tas bort i en viss ordning på grund av beroenden. När du arbetar med exemplen nedan måste vissa av värdena anges, medan andra värden är ett utdataresultat. Vi använder följande specifika värden i exemplen i demonstrationssyfte:

  • VNet-namn: VNet1
  • Resursgruppsnamn: TestRG1
  • Namn på virtuell nätverksgateway: VNet1GW

Anteckning

När du tar bort VPN-gatewayen kopplas alla anslutna klienter bort från det virtuella nätverket utan förvarning.

  1. Hämta den virtuella nätverksgateway som du vill ta bort.

    GW=get-Azvirtualnetworkgateway -Name "VNet1GW" -ResourceGroupName "TestRG1"
    
  2. Ta bort den virtuella nätverksgatewayen. Du kan uppmanas att bekräfta borttagningen av den virtuella nätverksgatewayen.

    Remove-AzVirtualNetworkGateway -Name "VNet1GW" -ResourceGroupName "TestRG1"
    

    Nu har din virtuella nätverksgateway tagits bort. Du kan använda nästa steg för att ta bort alla resurser som inte längre används.

  3. Om du vill ta bort offentliga IP-adressresurser hämtar du först IP-konfigurationerna för den virtuella nätverksgatewayen.

    $GWIpConfigs = $Gateway.IpConfigurations
    

    Hämta sedan listan över offentliga IP-adresser som används för den här virtuella nätverksgatewayen. Om den virtuella nätverksgatewayen var aktiv-aktiv visas två offentliga IP-adresser.

    $PubIP=Get-AzPublicIpAddress | where-object {$_.Id -In $GWIpConfigs.PublicIpAddress.Id}
    
  4. Ta bort offentliga IP-adresser. Du kan uppmanas att bekräfta borttagningen av den offentliga IP-adressen.

    $PubIP | foreach-object {remove-AzpublicIpAddress -Name $_.Name -ResourceGroupName "<NameOfResourceGroup1>"}
    
  5. Ta bort gatewayundernätet och ange konfigurationen.

    $GWSub = Get-AzVirtualNetwork -ResourceGroupName "TestRG1" -Name "VNet1" | Remove-AzVirtualNetworkSubnetConfig -Name "GatewaySubnet"
    Set-AzVirtualNetwork -VirtualNetwork $GWSub
    

Ta bort en VPN-gateway genom att ta bort resursgruppen

Om du inte bryr dig om att behålla någon av dina resurser i resursgruppen och bara vill börja om kan du ta bort en hel resursgrupp. Det här är ett snabbt sätt att ta bort allt.

  1. Hämta en lista över alla resursgrupper i din prenumeration.

    Get-AzResourceGroup
    
  2. Leta upp den resursgrupp som du vill ta bort.

    Leta upp den resursgrupp som du vill ta bort och visa listan över resurser i den resursgruppen. I exemplet är namnet på resursgruppen TestRG1. Ändra exemplet för att hämta en lista över alla resurser.

    Find-AzResource -ResourceGroupNameContains TestRG1
    
  3. Kontrollera resurserna i listan.

    När listan returneras granskar du den för att kontrollera att du vill ta bort alla resurser i resursgruppen och själva resursgruppen. Om du vill behålla några av resurserna i resursgruppen använder du stegen i de tidigare avsnitten i den här artikeln för att ta bort din gateway.

  4. Ta bort resursgruppen och resurserna. Om du vill ta bort resursgruppen och alla resurser i resursgruppen ändrar du exemplet och kör.

    Remove-AzResourceGroup -Name TestRG1
    
  5. Kontrollera statusen. Det tar lite tid för Azure att ta bort alla resurser. Du kan kontrollera statusen för resursgruppen med hjälp av den här cmdleten.

    Get-AzResourceGroup -ResourceGroupName TestRG1
    

    Resultatet som returneras visar "Lyckades".

    ResourceGroupName : TestRG1
    Location          : eastus
    ProvisioningState : Succeeded
    

Nästa steg

Information om vanliga frågor och svar finns i Vanliga frågor och svar om Azure VPN Gateway.