使用 PowerShell 7 编写 Outlook 脚本

script Outlook with PowerShell 7

我已经使用了很长时间的脚本来使用 PowerShell 5 访问 Outlook。它利用了这个:

Add-type -assembly "Microsoft.Office.Interop.Outlook"

我似乎找不到 PowerShell 7 (.NET Core) 的等效项。任何人都知道我可以在它的地方使用什么?我有一个用 7 编写的脚本,我想利用 Outlook。谢谢

据我了解,Add-TypePS7 can add only .NET Core assemblies by name alone 中,因此您必须找到该文件的路径并使用 -LiteralPath。您可以从查看以下路径之一开始:

C:\WINDOWS\assembly\GAC_MSIL\Microsoft.Office.Interop.Outlook\
C:\Program Files (x86)\Microsoft Office\root\Office16\ADDINS\

您可以通过以下方式查找最新版本:

$SearchPath = 'C:\WINDOWS\assembly\GAC_MSIL\Microsoft.Office.Interop.Outlook'
$SearchFilter = 'Microsoft.Office.Interop.Outlook.dll'
$PathToAssembly = Get-ChildItem -LiteralPath $SearchPath -Filter $SearchFilter -Recurse |
    Select-Object -ExpandProperty FullName -Last 1

并添加程序集:

if ($PathToAssembly) {
    Add-Type -LiteralPath $PathToAssembly
}
else {
    throw "Could not find '$SearchFilter'"
}