@@ -2133,38 +2133,54 @@ function Test-GetAzureFirewallLearnedIpPrefixes {
2133
2133
Tests Invoke-AzureFirewallPacketCapture
2134
2134
#>
2135
2135
function Test-InvokeAzureFirewallPacketCapture {
2136
+ # Setup
2136
2137
$rgname = Get-ResourceGroupName
2137
2138
$azureFirewallName = Get-ResourceName
2138
2139
$resourceTypeParent = " Microsoft.Network/AzureFirewalls"
2139
2140
$location = Get-ProviderLocation $resourceTypeParent " eastus"
2140
2141
2141
2142
$vnetName = Get-ResourceName
2142
2143
$subnetName = " AzureFirewallSubnet"
2143
- $publicIpName = Get-ResourceName
2144
+ $mgmtSubnetName = " AzureFirewallManagementSubnet"
2145
+ $publicIp1Name = Get-ResourceName
2146
+ $mgmtPublicIpName = Get-ResourceName
2144
2147
2145
2148
try {
2146
-
2147
2149
# Create the resource group
2148
- $resourceGroup = New-AzResourceGroup - Name $rgname - Location $location
2150
+ $resourceGroup = New-AzResourceGroup - Name $rgname - Location $location - Tags @ { testtag = " testval " }
2149
2151
2150
- # Create public ip
2151
- $publicip = New-AzPublicIpAddress - ResourceGroupName $rgname - name $publicIpName - location $location - AllocationMethod Static - Sku Standard
2152
+ # Create the Virtual Network
2153
+ $subnet = New-AzVirtualNetworkSubnetConfig - Name $subnetName - AddressPrefix 10.0 .0.0 / 24
2154
+ $mgmtSubnet = New-AzVirtualNetworkSubnetConfig - Name $mgmtSubnetName - AddressPrefix 10.0 .100.0 / 24
2155
+ $vnet = New-AzVirtualNetwork - Name $vnetName - ResourceGroupName $rgname - Location $location - AddressPrefix 10.0 .0.0 / 16 - Subnet $subnet , $mgmtSubnet
2156
+
2157
+ # Get full subnet details
2158
+ $subnet = Get-AzVirtualNetworkSubnetConfig - VirtualNetwork $vnet - Name $subnetName
2159
+ $mgmtSubnet = Get-AzVirtualNetworkSubnetConfig - VirtualNetwork $vnet - Name $mgmtSubnetName
2152
2160
2153
- # Create AzureFirewall
2154
- $azureFirewall = New-AzFirewall - Name $azureFirewallName - ResourceGroupName $rgname - Location $location
2161
+ # Create public ips
2162
+ $publicip1 = New-AzPublicIpAddress - ResourceGroupName $rgname - name $publicIp1Name - location $location - AllocationMethod Static - Sku Standard
2163
+ $mgmtPublicIp = New-AzPublicIpAddress - ResourceGroupName $rgname - name $mgmtPublicIpName - location $location - AllocationMethod Static - Sku Standard
2155
2164
2156
- # Verify
2157
- $azFirewall = Get-AzFirewall - Name $azureFirewallName - ResourceGroupName $rgname
2165
+ # Create AzureFirewall with a management IP
2166
+ $azureFirewall = New-AzFirewall - Name $azureFirewallName - ResourceGroupName $rgname - Location $location - VirtualNetwork $vnet - PublicIpAddress $publicip1 - ManagementPublicIpAddress $mgmtPublicIp
2167
+
2168
+ # Get AzureFirewall
2169
+ $getAzureFirewall = Get-AzFirewall - name $azureFirewallName - ResourceGroupName $rgname
2170
+
2171
+ $sasurl = " https://powershellpacketcapture.blob.core.windows.net/testcapture?sp=wDummyURL"
2158
2172
2159
2173
# Create a filter rules
2160
2174
$filter1 = New-AzFirewallPacketCaptureRule - Source " 10.0.0.2" , " 192.123.12.1" - Destination " 172.32.1.2" - DestinationPort " 80" , " 443"
2161
2175
$filter2 = New-AzFirewallPacketCaptureRule - Source " 10.0.0.5" - Destination " 172.20.10.2" - DestinationPort " 80" , " 443"
2162
2176
2163
2177
# Create the firewall packet capture parameters
2164
- $Params = New-AzFirewallPacketCaptureParameter - DurationInSeconds 300 - NumberOfPackets 5000 - SASUrl " ValidSasUrl " - Filename " AzFwPacketCapture " - Flag " Syn" , " Ack" - Protocol " Any" - Filter $Filter1 , $Filter2
2178
+ $Params = New-AzFirewallPacketCaptureParameter - DurationInSeconds 30 - NumberOfPackets 500 - SASUrl $sasurl - Filename " AzFwPowershellPacketCapture " - Flag " Syn" , " Ack" - Protocol " Any" - Filter $Filter1 , $Filter2
2165
2179
2166
2180
# Invoke a firewall packet capture
2167
- Invoke-AzFirewallPacketCapture - AzureFirewall $azureFirewall - Parameter $Params
2181
+ $response = Invoke-AzFirewallPacketCapture - AzureFirewall $azureFirewall - Parameter $Params
2182
+ Assert-NotNull $response
2183
+ Assert-AreEqual " Microsoft.Azure.Management.Network.Models.AzureFirewallsPacketCaptureHeaders" $response.GetType ().fullname
2168
2184
}
2169
2185
finally {
2170
2186
# Cleanup
0 commit comments