2016-03-30 1 views
2

Wenn Sie den folgenden Powershell-Code ausgeführt wird:Suppress Outlook Popup-Zugriff erlauben

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

eine Sicherheitswarnung pops-up:

enter image description here

Nach Microsoft gibt es Möglichkeiten, dies zu umgehen. Zum Beispiel kann man Create a COM Add-in for Outlook anstelle der Outlook COM Object wie erläutert here. Ein weiteres Beispiel für eine benutzerdefinierte COM Add-in for Outlook ist here auf StackOverflow aber für eine andere Sprache veröffentlicht.

Mit Globals.ThisAddIn.Application sollte dies possible, Nein machen? Kann mir jemand erklären, wie das mit PowerShell gemacht wird? Es wäre großartig, wenn wir dieses Pop-up vermeiden könnten, da es die Benutzer nur verwirren wird.

Antwort

1

Gefunden ein workaround durch die Registrierung als lokale Administratoren der Bearbeitung vor meinem Code ausgeführt wird:

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 

Nach dem Ausführen von Code ein Neustart/Abmelde ist erforderlich, bevor er aktiv wird.

0

Sie müssen entweder sicherstellen, dass ein aktuelles Antivirus-Produkt auf dem Computer installiert ist (wenn Sie die Clientumgebung steuern können) oder Redemption oder Clickyes verwenden, um die Sicherheitsaufforderungen zu umgehen. Weitere Informationen finden Sie unter http://www.outlookcode.com/article.aspx?id=52.

+0

Es gibt keine Powershell nur (ohne 3rd Party Code) Option, um diese Nachricht zu unterdrücken? – DarkLite1

+0

Leider nicht mein Freund, ein bisschen Janky Design, wenn Sie mich fragen. –