共用方式為


New-AzNetworkWatcherPacketCaptureV2

封包擷取 Cmdlet 的 V2 版本,可建立新的封包擷取資源,並在 VM、VMSS 或少數 VMSS 執行個體上啟動封包擷取工作階段。

語法

SetByResource (預設值)

New-AzNetworkWatcherPacketCaptureV2
    -NetworkWatcher <PSNetworkWatcher>
    -Name <String>
    -TargetId <String>
    [-StorageAccountId <String>]
    [-StoragePath <String>]
    [-LocalFilePath <String>]
    [-BytesToCapturePerPacket <Int32>]
    [-TotalBytesPerSession <UInt32>]
    [-TimeLimitInSecond <Int32>]
    [-Scope <PSPacketCaptureMachineScope>]
    [-TargetType <String>]
    [-Filter <PSPacketCaptureFilter[]>]
    [-ContinuousCapture <Boolean>]
    [-LocalPath <String>]
    [-CaptureSetting <PSPacketCaptureSettings>]
    [-AsJob]
    [-DefaultProfile <IAzureContextContainer>]
    [-WhatIf]
    [-Confirm]
    [<CommonParameters>]

SetByName

New-AzNetworkWatcherPacketCaptureV2
    -NetworkWatcherName <String>
    -ResourceGroupName <String>
    -Name <String>
    -TargetId <String>
    [-StorageAccountId <String>]
    [-StoragePath <String>]
    [-LocalFilePath <String>]
    [-BytesToCapturePerPacket <Int32>]
    [-TotalBytesPerSession <UInt32>]
    [-TimeLimitInSecond <Int32>]
    [-Scope <PSPacketCaptureMachineScope>]
    [-TargetType <String>]
    [-Filter <PSPacketCaptureFilter[]>]
    [-ContinuousCapture <Boolean>]
    [-LocalPath <String>]
    [-CaptureSetting <PSPacketCaptureSettings>]
    [-AsJob]
    [-DefaultProfile <IAzureContextContainer>]
    [-WhatIf]
    [-Confirm]
    [<CommonParameters>]

SetByLocation

New-AzNetworkWatcherPacketCaptureV2
    -Location <String>
    -Name <String>
    -TargetId <String>
    [-StorageAccountId <String>]
    [-StoragePath <String>]
    [-LocalFilePath <String>]
    [-BytesToCapturePerPacket <Int32>]
    [-TotalBytesPerSession <UInt32>]
    [-TimeLimitInSecond <Int32>]
    [-Scope <PSPacketCaptureMachineScope>]
    [-TargetType <String>]
    [-Filter <PSPacketCaptureFilter[]>]
    [-ContinuousCapture <Boolean>]
    [-LocalPath <String>]
    [-CaptureSetting <PSPacketCaptureSettings>]
    [-AsJob]
    [-DefaultProfile <IAzureContextContainer>]
    [-WhatIf]
    [-Confirm]
    [<CommonParameters>]

Description

New-AzNetworkWatcherPacketCaptureV2 Cmdlet 會建立新的封包擷取資源,並在 VM、VMSS 或少數 VMSS 實例上啟動封包擷取工作階段。 封包擷取會話的長度可以透過時間限制或大小限制來設定。 還可以配置為每個資料包捕獲的資料量。 過濾器可以應用於給定的封包捕獲會話,允許您自訂捕獲的封包類型。 過濾器可以限制本地和遠端IP地址和地址範圍、本地和遠端端口和端口範圍以及要捕獲的會話級別協定上的數據包。 篩選器是可組合的,而且可以套用多個篩選器,為您提供擷取的精細度。

範例

範例 1:在 VM 上建立封包擷取

$nw = Get-AzResource | Where {$_.ResourceType -eq "Microsoft.Network/networkWatchers" -and $_.Location -eq "WestCentralUS" }
$networkWatcher = Get-AzNetworkWatcher -Name $nw.Name -ResourceGroupName $nw.ResourceGroupName

$storageAccount = Get-AzStorageAccount -ResourceGroupName contosoResourceGroup -Name contosostorage123

$filter1 = New-AzPacketCaptureFilterConfig -Protocol TCP -RemoteIPAddress "1.1.1.1-255.255.255" -LocalIPAddress "10.0.0.3" -LocalPort "1-65535" -RemotePort "20;80;443"
$filter2 = New-AzPacketCaptureFilterConfig -Protocol UDP
New-AzNetworkWatcherPacketCaptureV2 -NetworkWatcher $networkWatcher -TargetId $vm.Id -TargetType "azurevm" -Name "PacketCaptureTest" -StorageAccountId $storageAccount.id -TimeLimitInSecond 60 -Filter $filter1, $filter2
Name                    : PacketCaptureTest
Id                      : /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/NetworkWatcherRG/providers/Microsoft.Network/networkWatchers/NetworkWatcher_eastus/packetCaptures/PacketCaptureTest
Etag                    : W/"0b3c52cb-aa63-4647-93d3-3221c13ccdd2"
ProvisioningState       : Succeeded
Target                  : /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contosoResourceGroup/providers/Microsoft.Compute/virtualMachines/SampleVM
TargetType              : AzureVM
BytesToCapturePerPacket : 0
TotalBytesPerSession    : 1073741824
TimeLimitInSeconds      : 18000
StorageLocation         : {
                            "StorageId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contosoResourceGroup/providers/Microsoft.Storage/storageAccounts/contosostorage123",
                            "StoragePath": "https://contosostorage123.blob.core.windows.net/network-watcher-logs/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/contosoResourceGroup/providers/microsoft.compute/virtualmachines/SampleVM/2022/07/21/packetcapture_09_20_07_166.cap"
                          }
Filters                 : [
                            {
                              "Protocol": "TCP",
                              "RemoteIPAddress": "1.1.1.1-255.255.255",
                              "LocalIPAddress": "10.0.0.3",
                              "LocalPort": "1-65535",
                              "RemotePort": "20;80;443"
                            },
                            {
                              "Protocol": "UDP",
                              "RemoteIPAddress": "",
                              "LocalIPAddress": "",
                              "LocalPort": "",
                              "RemotePort": ""
                            }
                          ]
Scope                   : {
                            "Include": [],
                            "Exclude": []
                          }

在此示例中,我們建立一個名為「PacketCaptureTest」的資料包捕獲,其中包含多個過濾器和時間限制。 工作階段完成之後,它會儲存至指定的儲存體帳戶。 附註: Azure 網路監看員延伸模組必須安裝在目標虛擬機器上,才能建立封包擷取。

範例 2:在 VMSS 上建立封包擷取

$nw = Get-AzResource | Where {$_.ResourceType -eq "Microsoft.Network/networkWatchers" -and $_.Location -eq "WestCentralUS" }
$networkWatcher = Get-AzNetworkWatcher -Name $nw.Name -ResourceGroupName $nw.ResourceGroupName

$storageAccount = Get-AzStorageAccount -ResourceGroupName contosoResourceGroup -Name contosostorage123

$filter1 = New-AzPacketCaptureFilterConfig -Protocol TCP -RemoteIPAddress "1.1.1.1-255.255.255" -LocalIPAddress "10.0.0.3" -LocalPort "1-65535" -RemotePort "20;80;443"
$filter2 = New-AzPacketCaptureFilterConfig -Protocol UDP
New-AzNetworkWatcherPacketCaptureV2 -NetworkWatcher $networkWatcher -TargetId $vmss.Id -TargetType "azurevmss" -Name "PacketCaptureTest" -StorageAccountId $storageAccount.id -TimeLimitInSecond 60 -Filter $filter1, $filter2
Name                    : PacketCaptureTest
Id                      : /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/NetworkWatcherRG/providers/Microsoft.Network/networkWatchers/NetworkWatcher_eastus/packetCaptures/PacketCaptureTest
Etag                    : W/"0b3c52cb-aa63-4647-93d3-3221c13ccdd2"
ProvisioningState       : Succeeded
Target                  : /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contosoResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/SampleVMSS
TargetType              : AzureVMSS
BytesToCapturePerPacket : 0
TotalBytesPerSession    : 1073741824
TimeLimitInSeconds      : 60
StorageLocation         : {
                            "StorageId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contosoResourceGroup/providers/Microsoft.Storage/storageAccounts/contosostorage123",
                            "StoragePath": "https://contosostorage123.blob.core.windows.net/network-watcher-logs/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/contosoResourceGroup/providers/microsoft.compute/virtualmachinescalesets/SampleVMSS/2022/07/21/packetcapture_09_20_07_166.cap"
                          }
Filters                 : [
                            {
                              "Protocol": "TCP",
                              "RemoteIPAddress": "1.1.1.1-255.255.255",
                              "LocalIPAddress": "10.0.0.3",
                              "LocalPort": "1-65535",
                              "RemotePort": "20;80;443"
                            },
                            {
                              "Protocol": "UDP",
                              "RemoteIPAddress": "",
                              "LocalIPAddress": "",
                              "LocalPort": "",
                              "RemotePort": ""
                            }
                          ]
Scope                   : {
                            "Include": [],
                            "Exclude": []
                          }

在此示例中,我們建立一個名為「PacketCaptureTest」的資料包捕獲,其中包含多個過濾器和時間限制。 工作階段完成之後,它會儲存至指定的儲存體帳戶。 附註: Azure 網路監看員延伸模組必須安裝在目標虛擬機器擴展集上,以及所有遵守最新 vmss 模型的個別執行個體上,才能建立封包擷取。

範例 3:在少數 VMSS 執行個體上建立封包擷取

$nw = Get-AzResource | Where {$_.ResourceType -eq "Microsoft.Network/networkWatchers" -and $_.Location -eq "WestCentralUS" }
$networkWatcher = Get-AzNetworkWatcher -Name $nw.Name -ResourceGroupName $nw.ResourceGroupName

$storageAccount = Get-AzStorageAccount -ResourceGroupName contosoResourceGroup -Name contosostorage123

$filter1 = New-AzPacketCaptureFilterConfig -Protocol TCP -RemoteIPAddress "1.1.1.1-255.255.255" -LocalIPAddress "10.0.0.3" -LocalPort "1-65535" -RemotePort "20;80;443"
$filter2 = New-AzPacketCaptureFilterConfig -Protocol UDP

$instance1 = $vmssInstance1.Name
$instance2 = $vmssInstance2.Name
$scope = New-AzPacketCaptureScopeConfig -Include $instance1, $instance2

New-AzNetworkWatcherPacketCaptureV2 -NetworkWatcher $networkWatcher -TargetId $vmss.Id -TargetType "azurevmss" -Scope $scope -Name "PacketCaptureTest" -StorageAccountId $storageAccount.id -TimeLimitInSecond 60 -Filter $filter1, $filter2
Name                    : PacketCaptureTest
Id                      : /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/NetworkWatcherRG/providers/Microsoft.Network/networkWatchers/NetworkWatcher_eastus/packetCaptures/PacketCaptureTest
Etag                    : W/"0b3c52cb-aa63-4647-93d3-3221c13ccdd2"
ProvisioningState       : Succeeded
Target                  : /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contosoResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/SampleVMSS
TargetType              : AzureVMSS
BytesToCapturePerPacket : 0
TotalBytesPerSession    : 1073741824
TimeLimitInSeconds      : 18000
StorageLocation         : {
                            "StorageId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contosoResourceGroup/providers/Microsoft.Storage/storageAccounts/contosostorage123",
                            "StoragePath": "https://contosostorage123.blob.core.windows.net/network-watcher-logs/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/contosoResourceGroup/providers/microsoft.compute/virtualmachinescalesets/SampleVMSS/2022/07/21/packetcapture_09_20_07_166.cap"
                          }
Filters                 : [
                            {
                              "Protocol": "TCP",
                              "RemoteIPAddress": "1.1.1.1-255.255.255",
                              "LocalIPAddress": "10.0.0.3",
                              "LocalPort": "1-65535",
                              "RemotePort": "20;80;443"
                            },
                            {
                              "Protocol": "UDP",
                              "RemoteIPAddress": "",
                              "LocalIPAddress": "",
                              "LocalPort": "",
                              "RemotePort": ""
                            }
                          ]
Scope                   : {
                            "Include": [
                              "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contosoResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/SampleVMSS/virtualMachines/0",
                              "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contosoResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/SampleVMSS/virtualMachines/1"
                            ],
                            "Exclude": []
                          }

在此示例中,我們建立一個名為「PacketCaptureTest」的資料包捕獲,其中包含多個過濾器和時間限制。 工作階段完成之後,它會儲存至指定的儲存體帳戶。 附註: Azure 網路監看員延伸模組必須安裝在目標虛擬機器擴展集上,以及遵循最新 vmss 模型的包含範圍中的個別執行個體上,才能建立封包擷取。

範例4:在VMSS上建立具有連續捕獲及其設定的資料包捕獲

$nw = Get-AzResource | Where {$_.ResourceType -eq "Microsoft.Network/networkWatchers" -and $_.Location -eq "WestCentralUS" }
$networkWatcher = Get-AzNetworkWatcher -Name $nw.Name -ResourceGroupName $nw.ResourceGroupName

$capSettings = New-AzPacketCaptureSettingsConfig -FileCount 2 -FileSizeInBytes 102400 -SessionTimeLimitInSeconds 60

New-AzNetworkWatcherPacketCaptureV2 -NetworkWatcher $networkWatcher -Name "PacketCaptureTest" -TargetId "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contosoResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/SampleVMSS" -BytesToCapturePerPacket 1 -ContinuousCapture $false -CaptureSetting $capSettings -LocalPath "/var/captures/test1.cap"
Name                    : PacketCaptureTest
Id                      : /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/NetworkWatcherRG/providers/Microsoft.Network/networkWatchers/NetworkWatcher_eastus/packetCaptures/PacketCaptureTest
Etag                    : W/"00000000-0000-0000-0000-000000000000"
ProvisioningState       : Succeeded
Target                  : /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contosoResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/SampleVMSS
TargetType              : AzureVMSS
BytesToCapturePerPacket : 1
StorageLocation         : {
                            "StoragePath": "",
                            "LocalPath": "/var/captures/test1.cap"
                          }
ContinuousCapture       : true
CaptureSettings         : {
                            "fileCount":"2",
                            "fileSizeInBytes":"102400",
                            "sessionTimeLimitInSeconds":"60"
                          }
Filters                 : []
Scope                   : {}

在此範例中,我們建立名為「PacketCaptureTest」的資料包捕獲,連續捕獲為true以及捕獲設定。 工作階段完成之後,它會儲存至指定的儲存體帳戶。 附註: Azure 網路監看員延伸模組必須安裝在目標虛擬機器擴展集上,以及所有遵守最新 vmss 模型的個別執行個體上,才能建立封包擷取。

參數

-AsJob

在背景執行 Cmdlet

參數屬性

類型:SwitchParameter
預設值:None
支援萬用字元:False
不要顯示:False

參數集

(All)
Position:Named
必要:False
來自管線的值:False
來自管線按屬性名稱的值:False
來自剩餘引數的值:False

-BytesToCapturePerPacket

每個封包要擷取的位元組數。

參數屬性

類型:

Nullable<T>[Int32]

預設值:None
支援萬用字元:False
不要顯示:False

參數集

(All)
Position:Named
必要:False
來自管線的值:False
來自管線按屬性名稱的值:True
來自剩餘引數的值:False

-CaptureSetting

擷取設定會保存 'FileCount'、'FileSizeInBytes'、'SessionTimeLimitInSeconds' 值。 這些設定只有在提供 'ContinuousCapture' 時才適用。

參數屬性

類型:PSPacketCaptureSettings
預設值:None
支援萬用字元:False
不要顯示:False

參數集

(All)
Position:Named
必要:False
來自管線的值:False
來自管線按屬性名稱的值:False
來自剩餘引數的值:False

-Confirm

在執行 Cmdlet 之前,提示您進行確認。

參數屬性

類型:SwitchParameter
預設值:None
支援萬用字元:False
不要顯示:False
別名:參閱

參數集

(All)
Position:Named
必要:False
來自管線的值:False
來自管線按屬性名稱的值:False
來自剩餘引數的值:False

-ContinuousCapture

這個連續擷取是可為 Null 的布爾值,可以保存 'null'、'true' 或 'false' 值。 如果未傳遞此參數,則會將其視為 『null』,預設值為 『null』。

參數屬性

類型:

Nullable<T>[Boolean]

預設值:None
支援萬用字元:False
不要顯示:False

參數集

(All)
Position:Named
必要:False
來自管線的值:False
來自管線按屬性名稱的值:True
來自剩餘引數的值:False

-DefaultProfile

用於與 Azure 通訊的認證、帳戶、租用戶和訂用帳戶。

參數屬性

類型:IAzureContextContainer
預設值:None
支援萬用字元:False
不要顯示:False
別名:AzContext, AzureRmContext, AzureCredential

參數集

(All)
Position:Named
必要:False
來自管線的值:False
來自管線按屬性名稱的值:False
來自剩餘引數的值:False

-Filter

資料包捕獲會話的過濾器。

參數屬性

類型:

PSPacketCaptureFilter[]

預設值:None
支援萬用字元:False
不要顯示:False

參數集

(All)
Position:Named
必要:False
來自管線的值:False
來自管線按屬性名稱的值:False
來自剩餘引數的值:False

-LocalFilePath

本機檔案路徑。

參數屬性

類型:String
預設值:None
支援萬用字元:False
不要顯示:False

參數集

(All)
Position:Named
必要:False
來自管線的值:False
來自管線按屬性名稱的值:True
來自剩餘引數的值:False

-LocalPath

如果提供 'ContinuousCapture',則此路徑有效,如果未提供儲存體識別碼,則為必要路徑,否則是選擇性的。 必須包含擷取檔案的名稱(*.cap)。

參數屬性

類型:String
預設值:None
支援萬用字元:False
不要顯示:False

參數集

(All)
Position:Named
必要:False
來自管線的值:False
來自管線按屬性名稱的值:True
來自剩餘引數的值:False

-Location

網路監看員的位置。

參數屬性

類型:String
預設值:None
支援萬用字元:False
不要顯示:False

參數集

SetByLocation
Position:Named
必要:True
來自管線的值:False
來自管線按屬性名稱的值:False
來自剩餘引數的值:False

-Name

封包擷取名稱。

參數屬性

類型:String
預設值:None
支援萬用字元:False
不要顯示:False
別名:PacketCaptureName

參數集

(All)
Position:Named
必要:True
來自管線的值:False
來自管線按屬性名稱的值:True
來自剩餘引數的值:False

-NetworkWatcher

網路監看員資源。

參數屬性

類型:PSNetworkWatcher
預設值:None
支援萬用字元:False
不要顯示:False

參數集

SetByResource
Position:Named
必要:True
來自管線的值:True
來自管線按屬性名稱的值:False
來自剩餘引數的值:False

-NetworkWatcherName

網路監看員的名稱。

參數屬性

類型:String
預設值:None
支援萬用字元:False
不要顯示:False

參數集

SetByName
Position:Named
必要:True
來自管線的值:True
來自管線按屬性名稱的值:False
來自剩餘引數的值:False

-ResourceGroupName

網路監看員資源群組的名稱。

參數屬性

類型:String
預設值:None
支援萬用字元:False
不要顯示:False

參數集

SetByName
Position:Named
必要:True
來自管線的值:False
來自管線按屬性名稱的值:True
來自剩餘引數的值:False

-Scope

要包含或排除的 VMSS 執行個體範圍。

參數屬性

類型:PSPacketCaptureMachineScope
預設值:None
支援萬用字元:False
不要顯示:False

參數集

(All)
Position:Named
必要:False
來自管線的值:False
來自管線按屬性名稱的值:False
來自剩餘引數的值:False

-StorageAccountId

儲存體帳戶識別碼。

參數屬性

類型:String
預設值:None
支援萬用字元:False
不要顯示:False

參數集

(All)
Position:Named
必要:False
來自管線的值:False
來自管線按屬性名稱的值:True
來自剩餘引數的值:False

-StoragePath

記憶體路徑。

參數屬性

類型:String
預設值:None
支援萬用字元:False
不要顯示:False

參數集

(All)
Position:Named
必要:False
來自管線的值:False
來自管線按屬性名稱的值:True
來自剩餘引數的值:False

-TargetId

目標虛擬機器識別碼或虛擬機器擴展集識別碼

參數屬性

類型:String
預設值:None
支援萬用字元:False
不要顯示:False

參數集

(All)
Position:Named
必要:True
來自管線的值:False
來自管線按屬性名稱的值:True
來自剩餘引數的值:False

-TargetType

資源的目標類型。

參數屬性

類型:String
預設值:None
支援萬用字元:False
不要顯示:False

參數集

(All)
Position:Named
必要:False
來自管線的值:False
來自管線按屬性名稱的值:False
來自剩餘引數的值:False

-TimeLimitInSecond

時間限制(以秒為單位)。

參數屬性

類型:

Nullable<T>[Int32]

預設值:None
支援萬用字元:False
不要顯示:False

參數集

(All)
Position:Named
必要:False
來自管線的值:False
來自管線按屬性名稱的值:True
來自剩餘引數的值:False

-TotalBytesPerSession

每個工作階段的位元組總數。

參數屬性

類型:

Nullable<T>[UInt32]

預設值:None
支援萬用字元:False
不要顯示:False

參數集

(All)
Position:Named
必要:False
來自管線的值:False
來自管線按屬性名稱的值:True
來自剩餘引數的值:False

-WhatIf

顯示 Cmdlet 執行時會發生什麼事。 指令未執行。

參數屬性

類型:SwitchParameter
預設值:None
支援萬用字元:False
不要顯示:False
別名:威斯康星州

參數集

(All)
Position:Named
必要:False
來自管線的值:False
來自管線按屬性名稱的值:False
來自剩餘引數的值:False

CommonParameters

此 Cmdlet 支援常見參數:-Debug、-ErrorAction、-ErrorVariable、-InformationAction、-InformationVariable、-OutBuffer、-OutVariable、-PipelineVariable、-ProgressAction、-Verbose、-WarningAction 和 -WarningVariable。 如需詳細資訊,請參閱 about_CommonParameters

輸入

PSNetworkWatcher

String

Nullable<T>

輸出

PSPacketCaptureResult