动态调用Export-ModuleMember

时间:2016-11-02 15:01:18

标签: powershell powershell-module

您能告诉我为什么以下代码不会导出任何函数:

# load all functions
$moduleRoot = Split-Path -Path $MyInvocation.MyCommand.Path
$functionFiles = "$moduleRoot\functions\*.ps1" | Resolve-Path
$functionFiles | ForEach-Object { . $_.ProviderPath }
$functionFiles | ForEach-Object { [io.path]::GetFileNameWithoutExtension($_) } | Export-ModuleMember

或者它之间的区别:

不工作:

$test = "Cmd1", "Cmd2"
Export-ModuleMember $test

工作:

Export-ModuleMember "Cmd1", "Cmd2"

更新

当调用" import-module MyCrazyModule"时,我可以看到导出的命令(get-module)。

但是,当调用" get-module -ListAvailable"时,导出的命令属性为空。 (该模块位于PSModulePath中)

更新2:证据

$ PSModulePath包含D:\ powershell

模块:" D:\ powershell \ MyCrazyModule \ MyCrazyModule.psm1"

$test = "Cmd1", "Cmd2"
Export-ModuleMember $test

没有可见的出口:

enter image description here

但内容

Export-ModuleMember "Cmd1", "Cmd2"

enter image description here

谢谢

0 个答案:

没有答案