2016-08-30 123 views
0

試圖讓一個事件日誌上的echo命令的失敗使用PowerShell事件日誌事件產生故障時

echo $null > d:\test.write 
if ($?.Status -eq $False) { 
    Write-EventLog -LogName "Application" -Source "Drive Checker" -EntryType Error -Message "Touch file failed d:\test.write" -Category 1 -EventId 12 
} 

不知道什麼我失蹤,使這項工作..

回答

0

automatic variable$?是一個不具有屬性Status的布爾值,因此表達式$?.Status的計算結果爲$null,它不等於$false。簡單地檢查布爾值本身:

if (-not $?) { 
    Write-EventLog ... 
}