运行以下PowerShell代码时:
$Outlook = New-Object -ComObject Outlook.Application
$Stores = $Outlook.Session.Stores
$Accounts = $Outlook.Session.Accounts
$Accounts | Select-Object DisplayName, UserName, SmtpAddress, ExchangeMailboxServerName, ExchangeMailboxServerVersion
弹出安全警告:
根据Microsoft,有办法解决这个问题。例如,可以Create a COM Add-in for Outlook
而不是使用Outlook COM Object
解释here。自定义COM Add-in for Outlook
的另一个示例在StackOverflow上发布here,但是针对另一种语言发布。
使用Globals.ThisAddIn.Application
应该possible,不是吗?有人可以向我解释如何使用PowerShell完成此操作吗?如果我们可以避免这种弹出窗口会很好,因为它只会让用户感到困惑。
答案 0 :(得分:1)
在运行我的代码之前,通过将注册表编辑为本地管理员来找到workaround:
Function Remove-OutlookSecurityPromptHC {
[CmdLetBinding()]
Param()
if (Test-Path -Path 'HKLM:\SOFTWARE\Microsoft\Office\14.0\Outlook') {
Write-Verbose 'Found MS Outlook 2010'
if (-not (Test-Path -Path 'HKLM:\SOFTWARE\Microsoft\Office\14.0\Outlook\Security')) {
New-Item -Path 'HKLM:\SOFTWARE\Microsoft\Office\14.0\Outlook\Security' | Out-Null
}
Set-ItemProperty -Path 'HKLM:\SOFTWARE\Microsoft\Office\14.0\Outlook\Security' -Name ObjectModelGuard -Value 2
Set-ItemProperty -Path 'HKLM:\SOFTWARE\Microsoft\Office\14.0\Outlook\Security' -Name PromptOOMSend -Value 2
Set-ItemProperty -Path 'HKLM:\SOFTWARE\Microsoft\Office\14.0\Outlook\Security' -Name AdminSecurityMode -Value 3
Write-Verbose 'Outlook warning suppressed'
}
if (Test-Path -Path 'HKLM:\SOFTWARE\Microsoft\Office\12.0\Outlook') {
Write-Verbose 'Found MS Outlook 2007'
if (-not (Test-Path -Path 'HKLM:\SOFTWARE\Microsoft\Office\12.0\Outlook\Security')) {
New-Item -Path 'HKLM:\SOFTWARE\Microsoft\Office\12.0\Outlook\Security' | Out-Null
}
Set-ItemProperty -Path 'HKLM:\SOFTWARE\Microsoft\Office\12.0\Outlook\Security' -Name ObjectModelGuard -Value 2
Set-ItemProperty -Path 'HKLM:\SOFTWARE\Microsoft\Office\12.0\Outlook\Security' -Name PromptOOMSend -Value 2
Set-ItemProperty -Path 'HKLM:\SOFTWARE\Microsoft\Office\12.0\Outlook\Security' -Name AdminSecurityMode -Value 3
Write-Verbose 'Outlook warning suppressed'
}
}
Remove-OutlookSecurityPromptHC -Verbose
运行此代码后,可能需要重新启动/注销才能激活。
答案 1 :(得分:0)
您需要确保在计算机上安装了最新的防病毒产品(如果您可以控制客户端环境)或使用Redemption或Clickyes来解决安全提示。有关详细信息,请参阅http://www.outlookcode.com/article.aspx?id=52。