From 3e905911c731859bcb3036505b0e5491b903f8cd Mon Sep 17 00:00:00 2001 From: Catalin-Emil Fetoiu Date: Fri, 12 Jan 2024 13:38:29 -0800 Subject: [PATCH 1/3] updates --- diagnostics/collect-networking-logs.ps1 | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/diagnostics/collect-networking-logs.ps1 b/diagnostics/collect-networking-logs.ps1 index 56b29009..ef18ce20 100644 --- a/diagnostics/collect-networking-logs.ps1 +++ b/diagnostics/collect-networking-logs.ps1 @@ -30,7 +30,9 @@ if (Test-Path $wslconfig) if ($RestartWslReproMode) { # The WSL HNS network is created once per boot. Resetting it to collect network creation logs. + # Note: The below commands apply only for WSL in NAT mode Get-HnsNetwork | Where-Object {$_.Name -eq 'WSL'} | Remove-HnsNetwork + Get-HnsNetwork | Where-Object {$_.Name -eq 'WSL (Hyper-V firewall)'} | Remove-HnsNetwork # Stop WSL. net.exe stop WslService @@ -222,6 +224,14 @@ try } catch {} +try +{ + # Collect HNS events from past 24 hours + $events = Get-WinEvent -ProviderName Microsoft-Windows-Host-Network-Service | Where-Object { $_.TimeCreated -ge ((Get-Date) - (New-TimeSpan -Day 1)) } + ($events | ForEach-Object { '{0},{1},{2},{3}' -f $_.TimeCreated, $_.Id, $_.LevelDisplayName, $_.Message }) -join [environment]::NewLine | Out-File -FilePath "$folder/hns_events.log" -Append +} +catch {} + Remove-Item $logProfile Remove-Item $networkingBashScript From 887abdf5a48f36fec2b0ce61bbf004baa54c83bc Mon Sep 17 00:00:00 2001 From: Catalin-Emil Fetoiu Date: Fri, 12 Jan 2024 14:15:41 -0800 Subject: [PATCH 2/3] fix comment --- diagnostics/collect-networking-logs.ps1 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/diagnostics/collect-networking-logs.ps1 b/diagnostics/collect-networking-logs.ps1 index ef18ce20..711ed21f 100644 --- a/diagnostics/collect-networking-logs.ps1 +++ b/diagnostics/collect-networking-logs.ps1 @@ -30,7 +30,7 @@ if (Test-Path $wslconfig) if ($RestartWslReproMode) { # The WSL HNS network is created once per boot. Resetting it to collect network creation logs. - # Note: The below commands apply only for WSL in NAT mode + # Note: The below HNS commands apply only to WSL in NAT mode Get-HnsNetwork | Where-Object {$_.Name -eq 'WSL'} | Remove-HnsNetwork Get-HnsNetwork | Where-Object {$_.Name -eq 'WSL (Hyper-V firewall)'} | Remove-HnsNetwork From 8c6dd56249510bfef0d840ae3f25c3b06ccfd2a2 Mon Sep 17 00:00:00 2001 From: Catalin-Emil Fetoiu Date: Fri, 12 Jan 2024 15:16:50 -0800 Subject: [PATCH 3/3] merge commands --- diagnostics/collect-networking-logs.ps1 | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/diagnostics/collect-networking-logs.ps1 b/diagnostics/collect-networking-logs.ps1 index 711ed21f..fd126f0d 100644 --- a/diagnostics/collect-networking-logs.ps1 +++ b/diagnostics/collect-networking-logs.ps1 @@ -30,9 +30,8 @@ if (Test-Path $wslconfig) if ($RestartWslReproMode) { # The WSL HNS network is created once per boot. Resetting it to collect network creation logs. - # Note: The below HNS commands apply only to WSL in NAT mode - Get-HnsNetwork | Where-Object {$_.Name -eq 'WSL'} | Remove-HnsNetwork - Get-HnsNetwork | Where-Object {$_.Name -eq 'WSL (Hyper-V firewall)'} | Remove-HnsNetwork + # Note: The below HNS command applies only to WSL in NAT mode + Get-HnsNetwork | Where-Object {$_.Name -eq 'WSL' -Or $_.Name -eq 'WSL (Hyper-V firewall)'} | Remove-HnsNetwork # Stop WSL. net.exe stop WslService