我一直在尝试为powershell编写一个cmd-let,它将允许我运行它,并将多个模块一次性导入到我正在运行的任何脚本中。我以为我让它工作了,但现在它似乎停止了。我只想知道这是否可能,看起来是可能的。
为导入而运行的命令:
Import-Module .\Tools\Import-Tools.ps1
$Tools = Import-Tools -ToolsDirectory \$PathToToolsDirectory
$Tools
导入的函数:
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
}
如有任何帮助或建议,将不胜感激。
发布于 2012-08-11 19:14:16
您可以使用Import-Module
cmdlet导入多个模块:
# 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
发布于 2018-08-31 06:28:23
下面的代码适用于我:
foreach ($module in Get-Childitem $modulesFolder -Name -Filter "*.psm1")
{
Import-Module $modulesFolder\$module
}
https://stackoverflow.com/questions/11907330
复制相似问题