Вы можете использовать командлет PowerShell Get-TroubleshootingPack, чтобы провести процесс создания файла ответов для последующего использования с командлетом Invoke-TroubleshootingPack для автоматизации.
Шаги: создание и запуск вручную
1. PowerShell (создать файл ответов)
$aFile = "C:\Folder\Path\AudioAnswerFile.xml"
Get-TroubleshootingPack -Path "C:\Windows\diagnostics\system\Networking" -AnswerFile $aFile
Варианты выбора при создании файла ответов
Важно: я выбрал только то, что, по моему мнению, нужно было выбрать, но проведу дополнительное тестирование и уделю больше времени и обдумывания каждому ответу на тот случай, если вы увидите что-то применимое в вашем случае.
Содержимое файла ответов
Примечание: * Теперь, когда у вас есть файл ответов, вы можете использовать его для указания на задания, которые вы можете автоматизировать или создавать ярлыки для запуска в виде пакета, о чем я расскажу более подробно ниже.
<?xml version="1.0" encoding="UTF-8"?>
<Answers Version="1.0">
<Interaction ID="IT_EntryPoint">
<Value>HTTP</Value>
</Interaction>
<Interaction ID="IT_WebChoice">
<Value>Internet</Value>
</Interaction>
<Interaction ID="IT_Protocol">
<Value>6</Value>
</Interaction>
<Interaction ID="IT_DefaultConnectivityInitialChoice">
<Value>HTTPorUNC</Value>
</Interaction>
</Answers>
2. PowerShell (запустить процесс диагностики)
Примечание. Значение переменной $aFile
должно указывать на файл ответов, который вы только что создали в # 1 выше.Значение переменной $dFolder
должно быть папкой для проверки результатов диагностики после ее запуска.
$aFile = "C:\Folder\Path\AudioAnswerFile.xml"
$dFolder = "C:\Folder\Path\Diag"
$var = Get-TroubleshootingPack -Path "C:\Windows\diagnostics\system\Networking"
Invoke-TroubleshootingPack -Pack $v -AnswerFile $aFile -Unattended -Result $dFolder
Результаты
Теперь откройте файлы результатов этой команды, которую вы вызвали с файлом ответов, перейдя в папку, указанную в значении переменной $dFolder
и у вас появятся файлы, которые вы сможете проанализировать.
Файлы папок результатов
675B09EE-5DE8-4AF5-B10D-07DB894902D2.Diagnose.0.etl
DebugReport.xml
NetworkConfiguration.cab
ResultReport.xml
results.xsl

Поместите все это в пакетный файл
Примечание. Это предполагает, что файл ответов уже настроен и находится в удобочитаемом месте для использования командлетом Invoke-TroubleshootingPack
, так что это то, что вы создаете с помощью шага №1 выше.Кроме этого, вам нужно только установить значения AnswerFile=
и DiagFolder=
в качестве допустимых местоположений, в которые вы можете писать.
@ECHO OFF
SET "AnswerFile=C:\Folder\Path\AudioAnswerFile.xml"
SET "DiagFolder=C:\Folder\Path\Diag"
CALL :PowerShell
CD /D "%PowerShellDir%"
Powershell -ExecutionPolicy Bypass -Command "& '%PSScript%'"
:PowerShell
SET PowerShellDir=C:\Windows\System32\WindowsPowerShell\v1.0
SET PSScript=%temp%\~tmpNtwkDiagTrblsht.ps1
IF EXIST "%PSScript%" DEL /Q /F "%PSScript%"
ECHO $aFile = "%AnswerFile%">"%PSScript%"
ECHO $dFolder = "%DiagFolder%">>"%PSScript%"
ECHO $var = Get-TroubleshootingPack -Path "C:\Windows\diagnostics\system\Networking">>"%PSScript%"
ECHO Invoke-TroubleshootingPack -Pack $var -AnswerFile $aFile -Unattended -Result $dFolder>>"%PSScript%"
GOTO :EOF
Дальнейшая проверка
После запуска этого процесса вы должны увидеть в средстве просмотра событий Windows системного журнала и код события 4100
из источника «Diagostics-Neworking» с сообщением "Уровень информации", указывающим
« Система диагностики сети завершила этап диагностики, но не обнаружила проблем с сетью ».

Дополнительные ресурсы