Mam obecnie problemy podczas wywoływania modułu importu z Powershell i byłbym wdzięczny za radę.Jak poprawnie ignorować błędy modułu importu w programie PowerShell
Zgodnie z wcześniejszymi pytaniami i odpowiedziami tutaj następujący błąd, gdy otrzymali podczas próby importowania moduł za pomocą PowerShell, mogą być ignorowane:
Plik pominięty, ponieważ był już obecny od „Microsoft.PowerShell”.
Problem polega na tym, że zostanie on złapany, jeśli polecenie import znajduje się w instrukcji try/catch.
Czytałem wiele postów dotyczących tego (np PowerShell on SCOM fails to import module) i jeden wspominając spróbować dodając „-ErrorAction SilentlyContinue” do polecenia Import-Module, ale niestety to nie robi różnicy.
Poniżej znajduje się kod, którego używam obecnie do testowania problemu, który powinien dać ci lepsze zrozumienie tego, co próbuję osiągnąć.
Czy ktoś zdołał skutecznie zignorować te ostrzeżenia podczas importowania modułu, a wcześniej był zapakowany w try/catch?
Dzięki za poświęcony czas,
Andrew
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: $_"
}
Czy pojawia się błąd można wymienić podczas ładowania modułu ad z kodem testu, bo NIE –
Hi Shay, tak, uruchomienie "Import-Module ActiveDirectory" samo w sobie da mi ten błąd. – AndrewB
Czy otrzymujesz "załadowany"? ActiveDirectory modułu importu; Write-Host "załadowany" –