2016-03-30 20 views
2

を許可:抑制Outlookのポップアップアクセス

$Outlook = New-Object -ComObject Outlook.Application 
$Stores = $Outlook.Session.Stores 
$Accounts = $Outlook.Session.Accounts 
$Accounts | Select-Object DisplayName, UserName, SmtpAddress, ExchangeMailboxServerName, ExchangeMailboxServerVersion 

セキュリティの警告ポップアップ:

enter image description here

Microsoftによれば、これを回避する方法があります。例えば、説明したようにOutlook COM Objectを使用する代わりにCreate a COM Add-in for Outlookを使用することができます。hereカスタムCOM Add-in for Outlookの別の例は、StackOverflowではhereと表示されていますが、別の言語で表示されています。

Globals.ThisAddIn.Applicationを使用すると、possible、いいえ? PowerShellでこれがどのように行われているのか、誰かに説明することはできますか?このポップアップを避けることができれば、ユーザーを混乱させるだけで大​​丈夫です。

答えて

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 

それがアクティブになる前に、再起動/ログオフが必要になることがありますこのコードを実行した後。

0

(クライアント環境を制御できる場合)最新のウイルス対策製品がインストールされていることを確認するか、RedemptionまたはClickyesを使用してセキュリティプロンプトを回避する必要があります。詳細はhttp://www.outlookcode.com/article.aspx?id=52を参照してください。

+0

このメッセージを表示させないPowershell only(サードパーティコードなし)オプションはありませんか? – DarkLite1

+0

残念ながら私の友人ではない、あなたが私に尋ねるならば、ちょっとジャンクなデザイン。 –