I was doing a PowerShell training, that said use the PowerShell help to run a "Networking troubleshooting pack"
I found, ran and read
Get-Help Get-TroubleshootingPack -full
Get-Help Invoke-TroubleshootingPack -full
Get-Help about_Remote_Troubleshooting -full
Thinking I had it mostly figured out I ran
PS C:\> Get-TroubleshootingPack -Path 'C:\Windows\diagnostics\system\Networking' | Invoke-TroubleshootingPack
And that gives me
Starting network diagnostics...
Instance ID
Not to be specified outside of MSDT application.
:
So I enter the Instance
MSSQLSERVER
And that gets me this error
Invoke-TroubleshootingPack : An error occurred when running a PowerShell script. (Exception from HRESULT:
0x803C0101)
At line:1 char:76
+ Get-TroubleshootingPack -Path "C:\Windows\diagnostics\system\Networking" | Invok …
+ ~~~~~
+ CategoryInfo : InvalidArgument: (Microsoft.Windows.Diagnosis.DiagPack:DiagPack) [Invoke-Trou
bleshootingPack], COMException
+ FullyQualifiedErrorId : PackageDiagnoseFailed,Microsoft.Windows.Diagnosis.Commands.InvokeTroubleshoot
ingPack
I try several options for the Instance ID: Server Name, IP, 0, 1. They all give the same error
Then I go looking for a way to identify the Instance ID, I find the two questions below but they don't give me anything to get around the error.
I search some more and found This Blog which is giving step by step to do everything I already figured out. It shows the place to enter the Instance ID. But gives no clue what the value should be. More searching just, leads to more frustration.
Best Answer
You don't need to enter a 'Instance ID' for PowerShell Invoke-TroubleshootingPack
Just hit enter, when prompted for the Instance ID, without a value.
After I figured it out, I went back and looked at the training directions and found the following hiding in the middle of the paragraph.
I learned a lot on this journey, this was frustrating. Posting so others will find the answer sooner than I did.