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.
1 Answer 1
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.
you’ll be asked for an "Instance ID." Hit Enter
I learned a lot on this journey, this was frustrating. Posting so others will find the answer sooner than I did.