dcdiag 테스트를 스크립트하여 오류가 발견되면 알려주십시오. PowerShell 에서이 작업을 수행 할 수 있다고 생각했습니다 …
$test = dcdiag 2>$err
현재 dcdiag에서 오류가 없으므로 직접 테스트 할 수는 없었지만 예외를 발생시키는 다른 PowerShell 스크립트를 작성하여 해당 스크립트를 사용 하여이 방법을 테스트 할 수 있기를 바랍니다. 위의 방법으로는 작동하지 않으므로 다음을 선택했습니다.
try {
$test = dcdiag
}
catch {
$err = $_.Exception.Message
}
테스트 사례에서 효과가 있었지만 이것이 dcdiag에서 표준 오류를 가져올 지 모르겠습니다.
dcdiag와 함께 사용하려는 경우 PowerShell에서 변수로 표준 오류 리디렉션을 가장 잘 수행하려면 어떻게해야합니까?
답변
try...catch
이 경우 도움이되지 않습니다.
당신은 할 수 있습니다 :
$test = dcdiag 2>&1
$err = $test | ?{$_.gettype().Name -eq "ErrorRecord"}
if($err){
# Error has occurred
}