Bedingte Formatierung im Outlook Kalender zentral vorgeben
Moin! sag i und das am Abend. So sind's, die Nordlichter!
Hat jemand eine Idee, wo bei Outlook 2016 / Exchange 2016 die Informationen zu bedingten Kalenderformatierungen gespeichert werden? Oder besser noch: weiß jemand, wie man die zentral vorgeben kann? Etwa per GPO oder PS? Oder meinetwegen auch in einer Datei, die ich dann per GPO in jedes Profil kopiere?
Hintergrund ist ein Kunde, der genau das wünscht: Termin mit Meier soll rot, Termin mit Müller grün und Termin mit Schulze soll blau werden. Da sich so etwas aber gelegentlich ändert, weil mal neue Meiers und Müllers dazukommen, ist es natürlich müßig, das bei jedem User immer wieder manuell zu machen, zumal es firmenweit gleich sein soll. Wäre bei 10 Usern nicht so das Ding, aber das sind ein paar mehr.
Die Infos, die die Suchmaschine meiner Wahl mir bisher so geliefert hat, sind leider wenig ergiebig: Outlook 2010 funktioniert noch etwas anders als 2016 und wie und wo ich das in Outlook manuell einstelle, weiß ich auch. Sobald ich aber "zentral", "GPO", "Gruppenrichtlinie" oder "Powershell" mit in die Suche einbeziehe, bekomme ich wieder haufenweise Antworten mit fehlenden Suchwörtern. Hat vielleicht jemand bessere Suchwörter für mich?
Euch in jedem Fall einen fluffigen Feierabend und Danke für's Hirn zerbrechen
Jörg
Hat jemand eine Idee, wo bei Outlook 2016 / Exchange 2016 die Informationen zu bedingten Kalenderformatierungen gespeichert werden? Oder besser noch: weiß jemand, wie man die zentral vorgeben kann? Etwa per GPO oder PS? Oder meinetwegen auch in einer Datei, die ich dann per GPO in jedes Profil kopiere?
Hintergrund ist ein Kunde, der genau das wünscht: Termin mit Meier soll rot, Termin mit Müller grün und Termin mit Schulze soll blau werden. Da sich so etwas aber gelegentlich ändert, weil mal neue Meiers und Müllers dazukommen, ist es natürlich müßig, das bei jedem User immer wieder manuell zu machen, zumal es firmenweit gleich sein soll. Wäre bei 10 Usern nicht so das Ding, aber das sind ein paar mehr.
Die Infos, die die Suchmaschine meiner Wahl mir bisher so geliefert hat, sind leider wenig ergiebig: Outlook 2010 funktioniert noch etwas anders als 2016 und wie und wo ich das in Outlook manuell einstelle, weiß ich auch. Sobald ich aber "zentral", "GPO", "Gruppenrichtlinie" oder "Powershell" mit in die Suche einbeziehe, bekomme ich wieder haufenweise Antworten mit fehlenden Suchwörtern. Hat vielleicht jemand bessere Suchwörter für mich?
Euch in jedem Fall einen fluffigen Feierabend und Danke für's Hirn zerbrechen
Jörg
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 361603
Url: https://administrator.de/contentid/361603
Ausgedruckt am: 22.11.2024 um 20:11 Uhr
9 Kommentare
Neuester Kommentar
Hallo Jörg,
eine Zentrale Möglichkeit gibt es hier leider nicht so ohne weiteres, da die Bedingte Formatierung in der lokalen PST/OST gespeichert werden.
Heiß für dich selbst wenn du es lokal am Client einrichten würdest und aus irgendeinem Grund die PST/OST defekt ist und die sie neu aufbauen lassen müsstest wären auch die Informationen zur Bedingten Formatierung weg und müssten neu erstellt werden.
VG
Criemo
eine Zentrale Möglichkeit gibt es hier leider nicht so ohne weiteres, da die Bedingte Formatierung in der lokalen PST/OST gespeichert werden.
Heiß für dich selbst wenn du es lokal am Client einrichten würdest und aus irgendeinem Grund die PST/OST defekt ist und die sie neu aufbauen lassen müsstest wären auch die Informationen zur Bedingten Formatierung weg und müssten neu erstellt werden.
VG
Criemo
Servus Jörg,
die Regeln werden in den Ansichten des Clients gespeichert also im Client-Profil. Jeder Kalender kann eigene Ansichten und damit Einstellungen haben. Diese Einstellungen kannst du hier nur durch ein Skript am Client umstellen. Das geht auch problemlos mit Powershell.
Hier mal ein Skript das vordefinierte Bedingungen am Client in der aktuellen Standardansicht des Default Kalenders des Users einträgt. Bei nicht Vorhandensein der Regel wird sie angelegt, ist sie vorhanden werden nur die Eigenschaften aktualisiert.
Die Regeln werden in der Hashtable $settings abgelegt, könnten aber auch problemlos aus einer CSV /XML oder sonstigen Datenquelle eingelesen werden.
Die Filter-Syntax musst du dir aus den Regeln holen die du dir schon angelegt hast (per VBA oder Powershell)
Achtung wichtiger Hinweis: Je nach Outlook-Version kann es vorkommen das der Bedingungsdialog der modifizierten/angelegten Regeln nicht die tatsächlichen aktuellen Einstellungen widerspiegelt. Das ist ein Bug von Outlook aber das verhindert nicht das die Regel korrekt angewendet wird, denn im Hintergrund ist die korrekte Regel hinterlegt und gespeichert.
Noch ein Hinweis für die Filter-Property in der $settings Hashtable. Dort müssen Anführungszeichen mit Backtick escpaped werden, natürlich nur wenn du es direkt im Skript eintragen willst, wenn es über CSV/XML eingelesen werden soll ist das kein Problem.
Grüße Uwe
die Regeln werden in den Ansichten des Clients gespeichert also im Client-Profil. Jeder Kalender kann eigene Ansichten und damit Einstellungen haben. Diese Einstellungen kannst du hier nur durch ein Skript am Client umstellen. Das geht auch problemlos mit Powershell.
Hier mal ein Skript das vordefinierte Bedingungen am Client in der aktuellen Standardansicht des Default Kalenders des Users einträgt. Bei nicht Vorhandensein der Regel wird sie angelegt, ist sie vorhanden werden nur die Eigenschaften aktualisiert.
Die Regeln werden in der Hashtable $settings abgelegt, könnten aber auch problemlos aus einer CSV /XML oder sonstigen Datenquelle eingelesen werden.
Die Filter-Syntax musst du dir aus den Regeln holen die du dir schon angelegt hast (per VBA oder Powershell)
# mögliche Farben
$colors = @{
olCategoryColorBlack=15
olCategoryColorBlue=8
olCategoryColorDarkBlue=23
olCategoryColorDarkGray=14
olCategoryColorDarkGreen=20
olCategoryColorDarkMaroon=25
olCategoryColorDarkOlive=22
olCategoryColorDarkPeach=18
olCategoryColorDarkPurple=24
olCategoryColorDarkRed=16
olCategoryColorDarkSteel=12
olCategoryColorDarkTeal=21
olCategoryColorDarkYellow=19
olCategoryColorGray=13
olCategoryColorGreen=5
olCategoryColorMaroon=10
olCategoryColorNone=0
olCategoryColorOlive=7
olCategoryColorOrange=2
olCategoryColorPeach=3
olCategoryColorPurple=9
olCategoryColorRed=1
olCategoryColorSteel=11
olCategoryColorTeal=6
olCategoryColorYellow=4
}
# Regeln die erstellt/modifiziert werden sollen
$settings = @{
"Testregel" = @{
Color=$colors.olCategoryColorBlack
Filter="`"http://schemas.microsoft.com/mapi/proptag/0x0037001f`" LIKE '%Testsubject%'"
}
"Testregel 2" = @{
Color=$colors.olCategoryColorRed
Filter="`"http://schemas.microsoft.com/mapi/proptag/0x0037001f`" LIKE '%Testsubject2%'"
}
}
# get outlook com-object
[void][reflection.assembly]::LoadWithPartialName("microsoft.visualbasic")
$objOL = [microsoft.visualbasic.interaction]::GetObject($null,"Outlook.Application")
if (!$objOL){$objOL = New-Object -Com Outlook.Application}
$objOL.GetNamespace("MAPI").GetDefaultFolder(9).Views | ?{$_.Name -match '^(Kalender|Calendar)$'} | %{
$rules = $_.AutoFormatRules
$rulenames = $rules | ?{!$_.Standard} | select -Expand Name
$settings.GetEnumerator() | %{
if ($_.Name -in $rulenames){
write-host "Changing Rule '$($_.Name)'" -F Green
$key = $_.Name
$rule = $rules | ?{$_.Name -eq $key}
$rule.Filter = $_.Value.Filter
$rule.Font.ExtendedColor = $_.Value.Color
$rule.Enabled = $true
}else{
write-host "Adding Rule $($_.Name)" -F Green
$rule = $rules.Add($_.Name)
$rule.Filter = $_.Value.Filter
$rule.Font.ExtendedColor = $_.Value.Color
$rule.Enabled = $true
}
}
$_.AutoFormatRules.Save()
$_.Save()
}
$objOL.Quit()
[void][System.Runtime.InteropServices.Marshal]::ReleaseComObject($objOL)
Noch ein Hinweis für die Filter-Property in der $settings Hashtable. Dort müssen Anführungszeichen mit Backtick escpaped werden, natürlich nur wenn du es direkt im Skript eintragen willst, wenn es über CSV/XML eingelesen werden soll ist das kein Problem.
Grüße Uwe
Hallo!
Erstmal vielen Dank für die Bereitstellung des Skripts. Ich stehe vor einer ähnlichen Situation und bin auf ein Problem gestoßen.
Ich habe das Skript ausgeführt, das Skript erstellt auch brav die zwei Testregeln. Die konnte ich unter "Bedingte Formatierungen" in Outlook sehen.
Allerdings nimmt er die Bedingung nicht mit. Ich habe am Skript nichts verändert außer "Testsubject" in "Test" geändert...Anschließend eine Termin Einladung mit dem Betreff "Test" geschickt und dann bin ich auf das Problem gestoßen...
Auch wenn der Thread sehr alt ist, hat vielleicht jemand eine Idee?
Danke und Gruß!
Erstmal vielen Dank für die Bereitstellung des Skripts. Ich stehe vor einer ähnlichen Situation und bin auf ein Problem gestoßen.
Ich habe das Skript ausgeführt, das Skript erstellt auch brav die zwei Testregeln. Die konnte ich unter "Bedingte Formatierungen" in Outlook sehen.
Allerdings nimmt er die Bedingung nicht mit. Ich habe am Skript nichts verändert außer "Testsubject" in "Test" geändert...Anschließend eine Termin Einladung mit dem Betreff "Test" geschickt und dann bin ich auf das Problem gestoßen...
Auch wenn der Thread sehr alt ist, hat vielleicht jemand eine Idee?
Danke und Gruß!
Servus.
Folgenden Hinweis von mir oben lesen
Grüße Uwe
Zitat von @Dave57:
Ich habe das Skript ausgeführt, das Skript erstellt auch brav die zwei Testregeln. Die konnte ich unter "Bedingte Formatierungen" in Outlook sehen.
Allerdings nimmt er die Bedingung nicht mit. Ich habe am Skript nichts verändert außer "Testsubject" in "Test" geändert...Anschließend eine Termin Einladung mit dem Betreff "Test" geschickt und dann bin ich auf das Problem gestoßen...
Ich habe das Skript ausgeführt, das Skript erstellt auch brav die zwei Testregeln. Die konnte ich unter "Bedingte Formatierungen" in Outlook sehen.
Allerdings nimmt er die Bedingung nicht mit. Ich habe am Skript nichts verändert außer "Testsubject" in "Test" geändert...Anschließend eine Termin Einladung mit dem Betreff "Test" geschickt und dann bin ich auf das Problem gestoßen...
Folgenden Hinweis von mir oben lesen
Achtung wichtiger Hinweis: Je nach Outlook-Version kann es vorkommen das der Bedingungsdialog der modifizierten/angelegten Regeln nicht die tatsächlichen aktuellen Einstellungen widerspiegelt. Das ist ein Bug von Outlook aber das verhindert nicht das die Regel korrekt angewendet wird, denn im Hintergrund ist die korrekte Regel hinterlegt und gespeichert.
Grüße Uwe
Vielen Dank für die schnelle Antwort!
Okay, das hatte ich nicht bedacht. Dann kann ich dies nicht als Gegenprüfung verwenden.
Ich habe wie gesagt mit den Testregeln in deinem Skript bearbeitet und nur den Betreff geändert. Leider färben sich trotzdem alle Termine mit der Farbe der Testregel2, also rot
Gruß
Okay, das hatte ich nicht bedacht. Dann kann ich dies nicht als Gegenprüfung verwenden.
Ich habe wie gesagt mit den Testregeln in deinem Skript bearbeitet und nur den Betreff geändert. Leider färben sich trotzdem alle Termine mit der Farbe der Testregel2, also rot
Gruß
Zu wenig Info zur Umgebung, klappt hier testweise einwandfrei Outlook 2019 Pro.
Weitere Diskussion diesbezüglich bitte => PN . Damit der Thread auch im Sinne des TO nicht zugemüllt wird. DANKE!
Weitere Diskussion diesbezüglich bitte => PN . Damit der Thread auch im Sinne des TO nicht zugemüllt wird. DANKE!