小编And*_*ewB的帖子

如何正确忽略PowerShell中的Import-Module错误

我在使用Powershell调用Import-Module时遇到了问题,并且会对一些建议表示感谢.

根据之前的问题和答案,在尝试使用PowerShell导入模块时收到以下错误,可以忽略:

文件被跳过,因为它已经存在于"Microsoft.PowerShell"中.

问题是如果import命令在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: $_" 
}
Run Code Online (Sandbox Code Playgroud)

powershell import-module

7
推荐指数
1
解决办法
1万
查看次数

标签 统计

import-module ×1

powershell ×1