我目前在調用帶有Powershell的導入模塊時遇到問題,並希望得到一些建議。如何正確地忽略PowerShell中的導入模塊錯誤
據此間,同時試圖導入使用PowerShell的一個模塊接收時,以前的問題和答案,下面的錯誤,可以忽略不計:
跳過文件,因爲它已經從「Microsoft.PowerShell」存在。
問題是如果導入命令在try/catch語句內,它會被捕獲。
我讀過許多關於此的帖子(例如PowerShell on SCOM fails to import module),並且有人提到嘗試在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: $_"
}
難道你當你與你的測試代碼加載AD模塊你提到的錯誤,因爲我不 –
喜吉文,是的,自己運行「Import-Module ActiveDirectory」會給我這個錯誤。 – AndrewB
你會「裝」嗎?導入模塊ActiveDirectory;寫主機「加載」 –