오류가 발생하면 Powershell 스크립트를 어떻게 편집합니까?

오류가 발생하면 Powershell 스크립트를 어떻게 편집합니까?

이 스크립트를 수정했습니다(https://gallery.technet.microsoft.com/scriptcenter/Create-HTML-Uptime-and-68e6acc0) 여러 서버에 접속하지만 시스템 중 하나만 다운되더라도 보고서를 생성하지 않습니다. 오류가 계속 발생하고 마지막에 보고서를 생성하려면 스크립트를 어떻게 수정합니까? 오류는 다음과 같습니다

Get-WmiObject : The RPC server is unavailable. (Exception from HRESULT: 0x800706BA)
At C:\Users\user\Desktop\CheckDiskSpaceDomain\GetDiskDriveSpaceDomain.ps1:19 char:25
+      $os = Get-WmiObject <<<<  -class win32_OperatingSystem -cn $s
    + CategoryInfo          : InvalidOperation: (:) [Get-WmiObject], COMException
    + FullyQualifiedErrorId : GetWMICOMException,Microsoft.PowerShell.Commands.GetWmiObjectCommand

You cannot call a method on a null-valued expression.
At C:\Users\user\Desktop\CheckDiskSpaceDomain\GetDiskDriveSpaceDomain.ps1:21 char:51
+        uptime = (get-date) - $os.converttodatetime <<<< ($os.lastbootuptime)}
    + CategoryInfo          : InvalidOperation: (converttodatetime:String) [], RuntimeException
    + FullyQualifiedErrorId : InvokeMethodOnNull

답변1

get-wmiObject를 실행할 때 문제가 있는 것 같습니다. 호출 후 그냥 작성하세요.

-ErrorAction "Resume"

$OS는 실제로 null 값인 것처럼 보이므로 $s가 null인지 확인하고 수행할 작업을 결정하는 다음과 같은 작업을 수행할 수 있습니다.

if ($OS -ne $null){ 
    $uptime = (get-date) - $os.converttodatetime 
    }
else {
    write-host " OS is null" 
     } 

오류 처리에 대한 자세한 내용은 다음을 참조하세요.

http://blogs.msdn.com/b/kebab/archive/2013/06/09/an-introduction-to-error-handling-in-powershell.aspx

답변2

-erroraction을 자동으로 사용해 보세요.계속

관련 정보