現在、Powershell で Import-Module を呼び出しているときに問題が発生しています。アドバイスをいただければ幸いです。
ここでの以前の質問と回答によると、PowerShell を使用してモジュールをインポートしようとしたときに次のエラーが表示された場合、無視できます。
"Microsoft.PowerShell" から既に存在していたため、ファイルはスキップされました。
問題は、インポート コマンドが try / catch ステートメント内にある場合にキャッチされることです。
私はこれに関する多くの投稿を読みました ( SCOM の PowerShell がモジュールのインポートに失敗する例) と、Import-Module コマンドに "-ErrorAction SilentlyContinue" を追加してみるように言及した人もいましたが、残念ながらこれは違いはありません。
以下は、問題をテストするために現在使用しているコードです。これにより、私が達成しようとしていることをよりよく理解できるはずです。
前に try / catch でラップされている間に、モジュールのインポートに関するこれらの警告をうまく無視できた人はいますか?
御時間ありがとうございます、
アンドリュー
function load_module($name)
{
if (-not(Get-Module -Name $name))
{
if (Get-Module -ListAvailable | Where-Object { $_.name -eq $name })
{
Import-Module $name
return $true
}
else
{
return $false
}
}
else
{
return $true
}
}
$moduleName = "ActiveDirectory"
try
{
if (load_module $moduleName)
{
Write-Host "Loaded $moduleName"
}
else
{
Write-Host "Failed to load $moduleName"
}
}
catch
{
Write-Host "Exception caught: $_"
}