Windows PowerShell可加载OneNote COM对象,PowerShell Core无法实现
OneNote COM 对象在 PowerShell Core 中无法加载接口成员,Windows PowerShell 正常运行
在操作OneNote COM对象时遇到兼容性问题:
- PowerShell Core中执行
$onenote | Get-Member无法显示任何方法,说明COM对象接口加载失败 - 切换到Windows PowerShell执行相同操作,能完美加载完整的COM对象接口
已排查的细节:
- 两个PowerShell环境的
$PROFILE脚本均为空 - 已安装模块仅有细微差异,该差异无法解释COM对象的兼容性问题
目前必须使用PowerShell Core独有的功能,但当前状态下无法编写正常工作的脚本,需要解决该问题。
复现步骤
Add-Type -Path <因Office未自带,需指向Visual Studio Tools for Office分发的Microsoft.Office.Interop.OneNote程序集路径> $OneNote = New-Object -ComObject OneNote.Application $OneNote | Get-Member
环境与现象
- 运行环境:Office 2016
- Windows PowerShell:执行上述代码后,能获取到完整的OneNote COM对象成员
- PowerShell Core:能启动OneNote进程,但
$OneNote无任何接口成员;调用方法时会触发COM对象封送错误,提示“找不到指定方法”
恳请各位提供解决思路或相关见解,感谢!
内容的提问来源于stack exchange,提问作者user9329905
相关产品推荐
相关产品推荐

