В настоящее время у меня возникают проблемы при вызове Import-Module с помощью Powershell, и я был бы признателен за некоторые советы.
Согласно предыдущим вопросам и ответам здесь, следующую ошибку, полученную при попытке импортировать модуль с помощью PowerShell, можно игнорировать:
Файл пропущен, поскольку он уже присутствовал в «Microsoft.PowerShell».
Проблема в том, что он будет перехвачен, если команда импорта находится внутри оператора try/catch.
Я читал несколько сообщений об этом (пример PowerShell на SCOM не удалось импортировать модуль), и в одном из них упоминалось о попытке добавить «-ErrorAction SilentlyContinue» в команду Import-Module, но, к сожалению, это не имеет значения.
Ниже приведен код, который я сейчас использую для проверки проблемы, который должен помочь вам лучше понять, чего я пытаюсь достичь.
Кому-нибудь удавалось успешно игнорировать эти предупреждения при импорте модуля, когда ранее он был завернут в 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: $_"
}