現在、PowerShell スクリプトで例外のログ記録に問題があります。ファイルを C:\Windows\System32 にコピーしようとしていますが、エラーが発生した場合にログ ファイルにエラー行を追加したいと考えています。私はこれまでにこの2つの方法を試しました。
例 1:
$LogPath = "C:\Test.txt
$scriptPath = split-path -parent $MyInvocation.MyCommand.Definition
Copy-Item $scriptPath\Devcon.exe C:\Windows\System32 -ErrorAction SilentlyContinue -ErrorVariable $Errors
Foreach($error in $Errors)
{
add-content -Path $LogPath -Value $($error.Exception) -Force
}
例 2:
$LogPath = "C:\Test.txt
$scriptPath = split-path -parent $MyInvocation.MyCommand.Definition
Try{
Copy-Item $scriptPath\Devcon.exe C:\Windows\System32
}
Catch [System.Exception]
{
add-content -Path $LogPath -Value "There was an error why trying to copy the file." -Force
add-content -Path $LogPath -Value $Error -Force
}
ログ ファイルに項目を追加できるので、ファイルのアクセス許可の問題ではないことがわかります。私は何が欠けていますか?