使用 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-Type
在 PS7 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'"
}
我已经使用了很长时间的脚本来使用 PowerShell 5 访问 Outlook。它利用了这个:
Add-type -assembly "Microsoft.Office.Interop.Outlook"
我似乎找不到 PowerShell 7 (.NET Core) 的等效项。任何人都知道我可以在它的地方使用什么?我有一个用 7 编写的脚本,我想利用 Outlook。谢谢
据我了解,Add-Type
在 PS7 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'"
}