Mit welchem ​​Powershell-Modul können Sie Ihren Posteingang in den Griff bekommen?

Mit welchem ​​Powershell-Modul können Sie Ihren Posteingang in den Griff bekommen?

Ich habe es satt, mit der Benutzeroberfläche von Outlook Posteingangsregeln zu erstellen, zu entfernen oder zu verwalten. Es dauert ewig und ist nervig.

Ich verstehe, dass es in Powershell Cmdlets gibt, die Ihnen dies sowohl auf der Server- als auch auf der Clientseite ermöglichen.

Ich habe keinen Zugriff auf die Serverseite, ich bin nur daran interessiert, meinen eigenen Posteingang mit diesen Regeln zu verwalten.

Der folgende Artikel scheint einige Cmdlets zu erwähnen, die hierfür großartig wären, aber ich kann sie nicht verwenden, weil ich nicht weiß, woher ich die Bibliotheken importieren soll:

https://www.codetwo.com/admins-blog/managing-outlook-rules-powershell/

Wie installiere ich die Cmdlets zunächst? Wo bekomme ich sie her und was benötige ich, um sie in ein Skript zu importieren?

Antwort1

Ich platziere dies hier, weil es für diesen Kommentarbereich zu lang ist.

Beim Zähmen Ihres Postfachs geht es darum, ob Sie nur mit Ihrem eigenständigen Client (Fat, Cloud oder beides – denken Sie daran, dass Sie Ihr Outlook.com-Konto direkt zu Ihrem Outlook-Fat-Client hinzufügen können) oder mit den Benutzern in Ihrem Unternehmen sprechen.

Sie verwenden keine Exchange-Cmdlets, um das lokale Outlook zu steuern. Um Exchange-Cmdlets zu verwenden, müssen Sie die Exchange-Verwaltungsshell auf Ihrem Computer installieren ...

Installieren der Exchange-Verwaltungstools

... oder verwenden Sie PowerShell Implicit Remoting, um diese Cmdlets per Proxy an Ihren Host zu senden. Implicit Remoting ist auch die Art und Weise, wie Sie Exchange-Cmdlets für O365 verwenden.Diese sind von Microsoft und in zahlreichen Blogs im gesamten Internet und in YouTube-Videos gut dokumentiert/ausführlich beschrieben.

Herstellen einer Verbindung mit Office 365 PowerShell

Herstellen einer Verbindung zu allen Office 365-Diensten in einem einzigen Windows PowerShell-Fenster

Verbindung zu allen Office 365-Diensten PowerShell herstellen (unterstützt auch MFA)

Sogar vorgefertigte Module für diesen Zweck.

Connect-O365 1.7.9

Herstellen einer Verbindung mit Office 365-Diensten mithilfe von PowerShell

PowerShell-Skript mit Hilfsfunktionen zum Herstellen einer Verbindung mit Office 365 oder Exchange On-Premises. Erleichtert die Verbindung mit verschiedenen Office 365-Diensten mit denselben Anmeldeinformationen (ohne MFA). Sie müssen sich nicht mehr verschiedene Verbindungsmethoden für jede Workload merken.

Verwalten der Outlook-Regeln von Benutzern über die Exchange-Verwaltungsshell (mit PowerShell)

Youtube - Powershell O365

Outlook Online verfügt über eine Rest-API, mit der Sie arbeiten können, ebenso wie Exchange, EWS

Übersicht über Office 365-Verwaltungs-APIs

Outlook-Client

Youtube-

Outlook REST-APIs bieten jedem Office 365- oder Outlook.com-Benutzer eine einfache Möglichkeit, auf E-Mail-, Kalender- und Kontaktdaten zuzugreifen. In diesem Video gehen wir auf einige der wichtigsten Funktionen ein, die in V2.0 der API eingeführt wurden: Webhooks, Fotos, Erinnerungen und Zeitzone.

Verwenden Sie PowerShell zum Data Mining Ihres Outlook-Posteingangs

# Get-OutlookInBox function
Function Get-OutlookInBox
{
  <#

   .Synopsis
    This function returns InBox items from default Outlook profile

   .Description
    This function returns InBox items from default Outlook profile. It
    uses the Outlook interop assembly to use the olFolderInBox enumeration.

    It creates a custom object consisting of Subject, ReceivedTime, Importance,
    SenderName for each InBox item.

    *** Important *** depending on the size of your InBox items this function
    may take several minutes to gather your InBox items. If you anticipate
    doing multiple analysis of the data, you should consider storing the
    results into a variable, and using that.

   .Example
    Get-OutlookInbox |
    where { $_.ReceivedTime -gt [datetime]”5/5/11″ -AND $_.ReceivedTime -lt `

    [datetime]”5/10/11″ } | sort importance

    Displays Subject, ReceivedTime, Importance, SenderName for all InBox items that
    are in InBox between 5/5/11 and 5/10/11 and sorts by importance of the email.

   .Example
    Get-OutlookInbox | Group-Object -Property SenderName | sort-Object Count

    Displays Count, SenderName and grouping information for all InBox items. The most
    frequently used contacts appear at bottom of list.

   .Example
    $InBox = Get-OutlookInbox

    Stores Outlook InBox items into the $InBox variable for further
    “offline” processing.

   .Example
    ($InBox | Measure-Object).count

    Displays the number of messages in InBox Items

   .Example
    $InBox | where { $_.subject -match ‘2011 Scripting Games’ } |
    sort ReceivedTime -Descending | select subject, ReceivedTime -last 5
    Uses $InBox variable (previously created) and searches subject field
    for the string ‘2011 Scripting Games’ it then sorts by the date InBox.
    This sort is descending which puts the oldest messages at bottom of list.
    The Select-Object cmdlet is then used to choose only the subject and ReceivedTime
    properties and then only the last five messages are displayed. These last
    five messages are the five oldest messages that meet the string.

   .Notes
    NAME:  Get-OutlookInbox
    AUTHOR: ed wilson, msft
    LASTEDIT: 05/13/2011 08:36:42
    KEYWORDS: Microsoft Outlook, Office
    HSG: HSG-05-26-2011

   .Link
     Http://www.ScriptingGuys.com/blog

 #Requires -Version 2.0

 #>

 Add-type -assembly “Microsoft.Office.Interop.Outlook” | out-null

 $olFolders = “Microsoft.Office.Interop.Outlook.olDefaultFolders” -as [type]

 $outlook = new-object -comobject outlook.application

 $namespace = $outlook.GetNameSpace(“MAPI”)

 $folder = $namespace.getDefaultFolder($olFolders::olFolderInBox)
 $folder.items |

 Select-Object -Property Subject, ReceivedTime, Importance, SenderName

} #end function Get-OutlookInbox

Dazu müssen Sie ein Administrator in O365 sein. Outlook in O365 ist nicht Exchange, genauso wie Outlook auf Ihrem Desktop nicht Exchange ist. Sie müssen Outlook COM verwenden (wie oben und im Folgenden angegeben), um am Outlook-Client zu arbeiten, dies ist nicht für Online gedacht.

PowerShell ruft Outlook-Adressen ab

Vorgehensweise: Senden von E-Mails aus Powershell mit Outlook

Bearbeiten von Outlook-Objekten mit Powershell

Antwort2

Soweit ich weiß, gibt es für Outlook kein Standard-PowerShell-Modul, Sie können jedoch die Outlook-API verwenden, die Zugriff auf den Microsoft.Office.Interop.OutlookNamespace gewährt. Ein kurzes Beispiel zum Erstellen einer neuen Regel lautet wie folgt:

Zuerst holen wir uns den Namespace:

Add-Type -assembly "Microsoft.Office.Interop.Outlook"
$Outlook = New-Object -comobject Outlook.Application
$namespace = $Outlook.GetNameSpace("MAPI")

Nun geben wir den Ursprungsordner (Posteingang) an, erstellen eine neue Regel und geben den Ordner an, in den kopiert werden soll (Benachrichtigungen).

$inbox = $namespace.GetDefaultFolder([Microsoft.Office.Interop.Outlook.OlDefaultFolders]::olFolderInbox)
$MyFolder1 =
  $namespace.Folders.Item('[email protected]').Folders.Item('NOTIFICATIONS')
$rules = $namespace.DefaultStore.GetRules()
$rule = $rules.create("My rule1: Receiving Notification",
  [Microsoft.Office.Interop.Outlook.OlRuleType]::olRuleReceive)

$rule_body = $rule.Conditions.Subject
$rule_body.Enabled = $true
$rule_body.Text = @('Completed Notification')
$action = $rule.Actions.CopyToFolder
$action.enabled = $true
  [Microsoft.Office.Interop.Outlook._MoveOrCopyRuleAction].InvokeMember(
    "Folder",
    [System.Reflection.BindingFlags]::SetProperty,
    $null,
    $action,
    $MyFolder1)
$rules.Save()

Weitere Beispiele und Informationen zur Verwendung des Outlook-Namespace in Powershell finden Sie hier: https://docs.microsoft.com/en-us/archive/msdn-magazine/2013/march/powershell-managing-an-outlook-mailbox-with-powershell

Darüber hinaus finden Sie hier alle Informationen zum Outlook-Objektmodell: https://docs.microsoft.com/nl-nl/office/vba/api/overview/Outlook/object-model

verwandte Informationen