Entdecken Sie die AIP-Label-Inspektion in Outlook über VBA
In modernen Geschäftsumgebungen ist die Möglichkeit, programmgesteuert auf E-Mail-Eigenschaften zuzugreifen, von entscheidender Bedeutung für die Aufrechterhaltung der Datensicherheit und Compliance. In Kombination mit Visual Basic for Applications (VBA) ermöglicht Microsoft Outlook eine umfassende Anpassung und Automatisierung. Eine besondere Herausforderung entsteht, wenn Benutzer die an eingehende E-Mails angehängten Azure Information Protection (AIP)-Kennzeichnungen überprüfen müssen, um Sicherheitsrichtlinien durchzusetzen oder bestimmte Arbeitsabläufe auszulösen.
Outlook VBA unterstützt jedoch nicht nativ den Zugriff auf die Eigenschaft „SensitivityLabel“, die in Excel VBA und dem neueren JavaScript-basierten Add-In-Modell problemlos verfügbar ist. Diese Einschränkung macht alternative Methoden erforderlich, um AIP-Label-Informationen abzurufen, ohne E-Mail-Header direkt zu analysieren, was umständlich und fehleranfällig sein kann.
Befehl | Beschreibung |
---|---|
Application.ActiveExplorer.Selection.Item(1) | Wählt das erste Element in der aktuellen Auswahl in Outlook aus. Wird normalerweise in VBA verwendet, um mit der aktuell ausgewählten E-Mail zu arbeiten. |
PropertyAccessor.GetProperty() | Ruft mithilfe des MAPI-Eigenschaftstags eine bestimmte Eigenschaft aus einem Outlook-Mailelement ab. Wird hier verwendet, um auf E-Mail-Header zuzugreifen. |
Office.onReady() | Initialisiert eine Funktion, wenn das Office-Add-In geladen und bereit ist, und stellt so sicher, dass die Hostanwendung zum Ausführen von Office.js-Skripts bereit ist. |
loadCustomPropertiesAsync() | Lädt mithilfe von Office.js asynchron benutzerdefinierte Eigenschaften, die einem E-Mail-Element in Outlook zugeordnet sind. Schlüssel für den Zugriff auf nicht standardmäßige E-Mail-Daten wie AIP-Labels in Add-Ins. |
console.log() | Gibt Informationen an die Webkonsole aus, die zum Debuggen von JavaScript-Anwendungen nützlich sind. Hier wird das abgerufene Etikett protokolliert. |
Chr(10) | Gibt das Zeichen zurück, das dem ASCII-Code 10 entspricht. Dabei handelt es sich um das Zeilenvorschubzeichen (LF), das hier zum Suchen von Zeilenumbrüchen in E-Mail-Headern verwendet wird. |
Eingehende Analyse der Skriptfunktionalität für den AIP-Label-Abruf
Die bereitgestellten Skripte bieten eine praktische Lösung für den Zugriff auf Azure Information Protection (AIP)-Labels in E-Mails, eine Funktion, die nicht direkt über Outlook VBA zugänglich ist, aber für Compliance- und Sicherheitsmaßnahmen von entscheidender Bedeutung ist. Das erste Skript verwendet VBA in Outlook und nutzt dort die Application.ActiveExplorer.Selection.Item Befehl zum Auswählen einer E-Mail, die derzeit vom Benutzer markiert ist. Dieses Skript verwendet die PropertyAccessor.GetProperty Methode mit einem vordefinierten MAPI-Eigenschaftstag, um alle E-Mail-Header abzurufen, in denen vertrauliche Etiketteninformationen gespeichert sein könnten.
Das zweite Skript hebt die Verwendung des Office.js-Frameworks hervor, um die Funktionalität in modernen Outlook-Umgebungen zu verbessern. Hier das Office.onReady Die Funktion stellt sicher, dass das Skript erst ausgeführt wird, wenn die Office-Hostanwendung vollständig geladen ist, und gewährleistet so Kompatibilität und Zuverlässigkeit. Es verwendet dann die loadCustomPropertiesAsync Methode zum asynchronen Abrufen benutzerdefinierter Eigenschaften, möglicherweise einschließlich AIP-Labels, die an eine E-Mail angehängt sind. Diese Methode ist besonders nützlich in Umgebungen, in denen eine verbesserte Datenverarbeitung erforderlich ist, ohne dass die Benutzererfahrung bei synchronen Aufrufen beeinträchtigt wird.
Skripterstellung für den AIP-Label-Abruf in Outlook
Verwendung von VBA für die Extraktion von E-Mail-Metadaten
Dim oMail As Outlook.MailItem
Dim oHeaders As Outlook.PropertyAccessor
Const PR_TRANSPORT_MESSAGE_HEADERS As String = "http://schemas.microsoft.com/mapi/proptag/0x007D001E"
Dim labelHeader As String
Dim headerValue As String
Sub RetrieveAIPLabel()
Set oMail = Application.ActiveExplorer.Selection.Item(1)
Set oHeaders = oMail.PropertyAccessor
headerValue = oHeaders.GetProperty(PR_TRANSPORT_MESSAGE_HEADERS)
labelHeader = ExtractLabel(headerValue)
MsgBox "The AIP Label ID is: " & labelHeader
End Sub
Function ExtractLabel(headers As String) As String
Dim startPos As Integer
Dim endPos As Integer
startPos = InStr(headers, "MSIP_Label_")
If startPos > 0 Then
headers = Mid(headers, startPos)
endPos = InStr(headers, Chr(10)) 'Assuming line break marks the end
ExtractLabel = Trim(Mid(headers, 1, endPos - 1))
Else
ExtractLabel = "No label found"
End If
End Function
Erstellen eines JavaScript-Add-Ins für die Etikettenprüfung
Verwendung der Office JS-API für eine verbesserte E-Mail-Verarbeitung
Office.onReady((info) => {
if (info.host === Office.HostType.Outlook) {
retrieveLabel();
}
});
function retrieveLabel() {
Office.context.mailbox.item.loadCustomPropertiesAsync((result) => {
if (result.status === Office.AsyncResultStatus.Succeeded) {
var customProps = result.value;
var label = customProps.get("MSIP_Label");
if (label) {
console.log("AIP Label: " + label);
} else {
console.log("No AIP Label found.");
}
} else {
console.error("Failed to load custom properties: " + result.error.message);
}
});
}
Verbesserung der Sicherheit durch E-Mail-Metadatenanalyse
E-Mail-Metadaten in Unternehmensumgebungen können eine entscheidende Rolle bei der Aufrechterhaltung der Sicherheit und der Einhaltung von Vorschriften spielen. Der Zugriff auf diese Daten, insbesondere in Bezug auf vertrauliche Informationsetiketten wie AIP, kann IT-Abteilungen in die Lage versetzen, Sicherheitsmaßnahmen effektiv zu automatisieren und anzupassen. Dieser Zugriff ist von entscheidender Bedeutung, um Datenlecks zu verhindern und sicherzustellen, dass vertrauliche Informationen während ihres gesamten Lebenszyklus korrekt kategorisiert und geschützt werden.
In Umgebungen, in denen Legacy-Systeme wie Outlook VBA verwendet werden, erfordert der Zugriff auf solche Metadaten kreative Lösungen, da neuere Eigenschaften wie z. B. nicht direkt unterstützt werden SensitivityLabel. Diese Lücke erfordert häufig den Einsatz zusätzlicher Programmierung oder Tools von Drittanbietern, um die Funktionalität zwischen älteren und neueren Technologien in Unternehmensumgebungen zu überbrücken.
Häufig gestellte Fragen zur E-Mail-Label-Verwaltung in Outlook
- Was ist ein AIP-Label?
- Azure Information Protection (AIP)-Labels werden verwendet, um Dokumente und E-Mails durch Anwenden von Labels zu klassifizieren und zu schützen.
- Kann Outlook VBA direkt auf AIP-Labels zugreifen?
- Nein, Outlook VBA unterstützt das nicht direkt SensitivityLabel Eigenschaft, die für den Zugriff auf AIP-Labels verwendet wird. Alternative Methoden wie das Parsen von Headern sind erforderlich.
- Was bedeutet das PropertyAccessor.GetProperty Befehl tun?
- Dieser Befehl ruft mithilfe seines MAPI-Eigenschaftstags eine bestimmte Eigenschaft von einem Objekt ab, beispielsweise einer E-Mail in Outlook.
- Gibt es eine JavaScript-basierte Lösung für moderne Outlook-Versionen?
- Ja, das moderne JavaScript-basierte Add-In-Modell für Outlook ermöglicht den Zugriff auf diese Eigenschaften über die Office.js-Bibliothek.
- Wie kann in Outlook asynchron auf die benutzerdefinierten Eigenschaften einer E-Mail zugegriffen werden?
- Verwendung der loadCustomPropertiesAsync Methode in Office.js, die benutzerdefinierte Eigenschaften abruft, ohne die Benutzeroberfläche zu blockieren.
Abschließende Gedanken zur Verbesserung der E-Mail-Sicherheit in Outlook
Obwohl die direkte Verwaltung von AIP-Labels in älteren Outlook-Versionen mithilfe von VBA komplex ist, bieten die besprochenen Strategien effektive Problemumgehungen. Durch die Nutzung von Outlook VBA für die Header-Analyse und Office.js für die Handhabung benutzerdefinierter Eigenschaften in modernen Umgebungen können Unternehmen sicherstellen, dass ihre E-Mail-Sicherheitsprotokolle robust und an sich ändernde Compliance-Anforderungen anpassbar bleiben. Dieser duale Ansatz unterstreicht den Bedarf an Flexibilität bei der Verwaltung der E-Mail-Sicherheit in verschiedenen technologischen Ökosystemen.