似乎没有其他问题可以回答我的问题,所以我在这里发帖。我从.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”,因为在任何模块中都找不到有效的模块文件
。目录
你有什么想法我不能打电话给我的功能吗?
答案 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
)