在模块''中找到''命令,但无法加载模块

时间:2018-01-24 19:19:29

标签: sql-server powershell module

似乎没有其他问题可以回答我的问题,所以我在这里发帖。我从.psm1文件导出函数。我的结构是这个

Modules (folder)
    CompanyName (folder)
        SQL (folder)
            SQL.psm1

Get-Module -Listavailable的结果返回包含我的命令的文件。 (很明显我的路径是正确的,否则这个调用不会返回我在SQL.psm1中导出的函数)

ModuleType Version    Name                                ExportedCommands
---------- -------    ----                                ----------------
Script     0.0        SQL                                 {Import-BCPFile, Export-BCPFile}

但是,尝试运行该函数时出错, Import-BCPFile:在“SQL”模块中找到了“Import-BCPFile”命令,但无法加载该模块。对于 更多信息,运行'Import-Module SQL'。

我运行Import-Module SQL并收到其他错误, 导入模块:未加载指定的模块“SQL”,因为在任何模块中都找不到有效的模块文件 。目录

你有什么想法我不能打电话给我的功能吗?

1 个答案:

答案 0 :(得分:1)

如果你像我一样被困,请尝试像这样导入模块,

Import-Module "C:\Program Files\WindowsPowerShell\Modules\Company\SQL"

导入模块将返回模块中的任何语法错误。我最终错过了参数列表中的逗号。修复此问题后,我可以在PowerShell窗口中运行Import-BCPFile !!

[CmdletBinding()]
Param(
    [Parameter(Mandatory=$True)]
    [string]$BCPFile,
    [Parameter(Mandatory=$True)]
    [string]$Database,
    [Parameter(Mandatory=$True)]
    [string]$TableToImport,
    [Parameter(Mandatory=$True)]
    [string]$SQLServer = "." # <-- missing a comma!

    [switch]$Truncate = $False
)