終了しないエラーをキャッチして処理したいのですが、-ErrorAction SilentlyContiune を使用しています。終了しないエラーをキャッチするには、 -ErrorAction Stop を使用する必要があることを知っています。この方法の問題は、try スクリプト ブロック内のコードを実際に停止させたくないことです。続行したいのですが、終了しないエラーを処理します。こちらも無音でお願いしたいです。これは可能ですか?多分私はこれについて間違った方法で行っています。
私が対処したい非終了エラーの例は、Get-Childitem からのキーワード フォルダーへのアクセス拒否エラーです。これがサンプルです。
$getPST = Get-ChildItem C:\ -Recurse -File -Filter "*.PST"
$pstSize = @()
Foreach ($pst in $getPST)
{
If((Get-Acl $pst.FullName).Owner -like "*$ENV:USERNAME")
{
$pstSum = $pst | Measure-Object -Property Length -Sum
$size = "{0:N2}" -f ($pstSum.Sum / 1Kb)
$pstSize += $size
}
}
$totalSize = "{0:N2}" -f (($pstSize | Measure-Object -Sum).Sum / 1Kb)