Chciałbym napisać skrypt testu dcdiag, aby ostrzec mnie, jeśli wykryje jakieś błędy. Pomyślałem, że mogę to zrobić w PowerShell przez ...
$test = dcdiag 2>$err
W tej chwili nie mam żadnych błędów z dcdiag, więc nie mogłem przetestować tego bezpośrednio, ale napisałem inny skrypt PowerShell, aby zgłosić wyjątek, mając nadzieję, że mogę przetestować tę metodę za pomocą tego skryptu. Nie działało to przy użyciu powyższej metody, więc wybrałem:
try {
$test = dcdiag
}
catch {
$err = $_.Exception.Message
}
Działa to w moim przypadku testowym, ale nie wiem, czy to wykryje standardowy błąd z dcdiag.
Jak najlepiej osiągnąć standardowe przekierowanie błędu do zmiennej w PowerShell, biorąc pod uwagę, że chciałbym używać jej z programem dcdiag?
powershell
Niebieski
źródło
źródło
$test
będzie miał oba, dlatego odfiltrowuję błąd do$err
.