“导入模块 MSMQ”在 PowerShell @ Windows 11 Home/Pro 上失败

问题描述 投票:0回答:1

我有一个在 Windows 10 上创建 MSMQ 队列的脚本,一切正常。然而在 Windows 11 上(具体来说是专业版和家庭版),它失败了。

由于找不到

New-MsmqQueue
而开始失败:

The term 'New-MsmqQueue' is not recognized as the name of a cmdlet, function, script file, 
or operable program.

我尝试

Import-Module MSMQ
并且它几乎(几乎,据我们所知,产生了巨大的差异)解决了一个问题。

我说几乎因为

Import-Module MSMQ
也失败了:

The module manifest cannot contain both the 'ModuleToProcess' and 'RootModule' members. 
Change the module manifest file to remove one of these members at
'C:\Windows\system32\WindowsPowerShell\v1.0\Modules\MSMQ\MSMQ.psd1', 
and then try again.

我查看了上述文件,是的,事实上,它包含

ModuleToProcess
RootModule
但首先我不应该编辑系统文件,其次......我无法编辑它们。

我创建了该模块的副本并“实验性”修改了它(通过删除

RootModule
),它似乎工作正常,但这不是解决方案。

注意:我在“全新”安装上运行此程序(

Win11_22H2_EnglishInternational_x64v2.iso

注意:我尝试了 (Windows) PowerShell 5 和新的 (Core) PowerShell 7。

注意:MsMQ Windows 功能已完全安装(所有框均已勾选)

有人看过这个吗?我是不是错过了什么?

编辑:Windows 10 没有此问题,并且没有

RootModule
.psd1
文件。正如
RootModule
引用
MSMQ.psm1
我检查了它,它似乎正在处理 Intel/ARM 差异,我认为这不是 Windows 10 中的情况。

windows powershell msmq system-administration
1个回答
0
投票

这是 Windows 11 中的已知问题,将在更新中解决。

同时作为解决方法:

备份并以管理员身份打开 MSMQ.psd1 (C:\Windows\system32\WindowsPowerShell 1.0\Modules\MSMQ)。

将 MSMQ.psd1 中的 ModuleToProcess 更改为 NestedModules

保存

导入模块 MSMQ

© www.soinside.com 2019 - 2024. All rights reserved.