无法加载 PowerShell 脚本模块

Unable to load PowerShell Script Module

我正在尝试加载 PowerShell 脚本模块。以下是我正在执行的步骤

我在文件夹 "C:\windows\system32\WindowsPowerShell\v1.0\Modules**PSModuleTest**"

下创建了 2 个文件

PSModuleTest.psd1

@{
ModuleVersion = '1.0'
GUID = '7e8f93e6-5bde-4043-918e-322066c5340e'
Author = 'ravi'
CompanyName = 'Unknown'
Copyright = '(c) 2016 Ravi. All rights reserved.'
FunctionsToExport = '*'
CmdletsToExport = '*'
VariablesToExport = '*'
AliasesToExport = '*'
}

PSModuleTest.psm1

function ModuleTestFunction
{
    Write-Host "Hello world!!!"
}

将以上两个文件放置在正确的文件夹下后,我测试了模块路径是否包含在 $env:PSModulePath 中,并且它在那里。我还通过输入 $host 命令验证了我使用的不是旧版本的 PowerShell。

当我执行 Get-Module 命令时,令人惊讶的是我没有看到我的新模块已加载。所以我尝试通过输入以下命令来加载模块,但没有成功。

Import-Module -Name PSModuleTest -Force -Verbose

有关所有命令的输出的详细信息,请参见下图。

从上面的屏幕截图可以看出,导入后 PSModuleTest 没有导出命令。

只要有可用的清单,就需要在模块清单文件中声明 PSModuleTest.psm1。例如

# Script module or binary module file associated with this manifest.
RootModule = 'PSModuleTest.psm1'

如果您使用 New-ModuleManifest 创建它,这通常是清单中的第一个字段。

您的模块在被显式加载或自动加载之前不会在会话中可见。它只能在相对容易发现命令(或缓存模块中的命令)的情况下自动加载。

此命令将显示模块,包括未加载的模块:

Get-Module -ListAvailable