#powershell #shell #wireshark #tshark
Вопрос:
Когда я запускаю следующую команду в своем сценарии, я ожидаю, что packet_dump.pcap будет создан после того, как я остановлю сценарий, но ничего не создается.
Start-Job -Name $tsharkJobName -ScriptBlock { amp; $tsharkPath --interface $interfaceNo -w "packet_dump.pcap" } | Out-Null
Когда я запускаю строку ниже:
Receive-Job $tsharkJobName -Force
Это сообщение об ошибке, которое я получаю (где $interfaceNo равно 5, что является идентификатором для Wi-Fi):
Capturing on 'Wi-Fi'
CategoryInfo : NotSpecified: (Capturing on 'Wi-Fi':String) [], RemoteException
FullyQualifiedErrorId : NativeCommandError
PSComputerName : localhost
У меня это тоже есть в конце сценария:
finally {
Stop-Job $tsharkJobName
Remove-Job $tsharkJobName -Force
}
Ответ №1:
$args = "--interface " $interfaceNo " -w packet_dump.pcap"
Start-Process $tsharkPath -ArgumentList $args -NoNewWindow
и
finally {
Stop-Process -Name "tshark"
}
Решает эту проблему.