首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >用于导入多个模块的cmd-let powershell

用于导入多个模块的cmd-let powershell
EN

Stack Overflow用户
提问于 2012-08-11 02:34:05
回答 2查看 6.4K关注 0票数 2

我一直在尝试为powershell编写一个cmd-let,它将允许我运行它,并将多个模块一次性导入到我正在运行的任何脚本中。我以为我让它工作了,但现在它似乎停止了。我只想知道这是否可能,看起来是可能的。

为导入而运行的命令:

代码语言:javascript
复制
Import-Module .\Tools\Import-Tools.ps1 
$Tools = Import-Tools -ToolsDirectory \$PathToToolsDirectory
$Tools 

导入的函数:

代码语言:javascript
复制
Function Import-Tools
{
    param 
    (
        [Parameter(Mandatory=$true)]
        [string]$ToolsDirectory
    ) 

    # Make sure the path is absolute (Borrowed from Michael Wanke)
    if (!(Split-Path $ToolsDirectory -IsAbsolute))
    {
        $ToolsDirectory = Join-Path $pwd $ToolsDirectory
    }


    #Verifies that the tools directory exists.
    while ((Test-Path -Path $ToolsDirectory) -eq $False)
    {
        $ToolsDirectory = Read-Host "Incorrect tool path entered. Please enter one now or exit"
    }

    #Create $Tools variable containing multiple lines for import.
    foreach ($Tool in Get-Childitem $ToolsDirectory -Name -Filter "*.ps1")
    {
        [string] $Tools= $Tools + "`r`nImport-Module $ToolsDirectory\$Tool"
    }

        Write-Output $Tools
        return $Tools

}

如有任何帮助或建议,将不胜感激。

EN

回答 2

Stack Overflow用户

发布于 2012-08-11 19:14:16

您可以使用Import-Module cmdlet导入多个模块:

代码语言:javascript
复制
# import multiple modules by using the name of the module
Import-Module -Name WebAdministration, ActiveDirectory

# import multiple modules by using a path
Import-Module -Name c:\moduleA.psm1, c:\moduleB.psm1
票数 3
EN

Stack Overflow用户

发布于 2018-08-31 06:28:23

下面的代码适用于我:

代码语言:javascript
复制
foreach ($module in Get-Childitem $modulesFolder -Name -Filter "*.psm1")
{
    Import-Module $modulesFolder\$module
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11907330

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档