Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

Feiertage in Outlook falsch

Frage Microsoft Outlook & Mail

Mitglied: melmax

melmax (Level 1) - Jetzt verbinden

20.11.2014, aktualisiert 24.11.2014, 9003 Aufrufe, 10 Kommentare, 1 Danke

Hallo zusammen,

ich bin gerade von einem User darauf aufmerksam gemacht worden dass die Pfingstfeiertage 2015 in Outlook falsch sind.
Nach einigen Google Abfragen weiß ich zwar wie ich das Problem lösen kann (mit Feiertage löschen und .hol File tauschen...), irgendwie macht das aber bei 900 Clients keinen Spass.
Da steiken auch meine Azubis

Hat einer von euch hier schon eine Enterprise-taugliche Lösung oder hab ich mal wieder ein MS Hotfix übersehen?

Vielen Dank für euren Input,

Melmax
Mitglied: colinardo
LÖSUNG 20.11.2014, aktualisiert 24.11.2014
Hallo Melmax,
ließe sich mit einem Powershell-Script machen, hier mal schnell skizziert:
(Das korrigierte HOL-File kannst du ja auf ein Netzlaufwerk legen / Pfad Zeile 11)
01.
function Remove-OutlookHolidays(){ 
02.
    $objOL = New-Object -ComObject "Outlook.Application" 
03.
    $calendar = $objOL.GetNamespace("MAPI").GetDefaultFolder(9) 
04.
    $holidays = $calendar.Items.Restrict("@SQL=""http://schemas.microsoft.com/mapi/string/{00020329-0000-0000-C000-000000000046}/Keywords"" = 'Feiertag'") 
05.
    while($holidays.Count -gt 0){ 
06.
        $holidays.Remove(1) 
07.
08.
09.
 
10.
function Add-OutlookHolidays(){ 
11.
    $holFile = "\\Server\Share\OUTLOOK_FIX.HOL" 
12.
    $objOL = New-Object -ComObject "Outlook.Application" 
13.
    $calendar = $objOL.GetNamespace("MAPI").GetDefaultFolder(9) 
14.
    $holidays = [regex]::Match((gc $holfile | out-string),'(?sm)^\[Deutschland\].*?$(.*?)^\[').Groups[1].Value.Trim().Split("`n") 
15.
    $holidays | %{ 
16.
        $line = $_.Split(",") 
17.
        $app = $calendar.Items.Add(1) 
18.
        $app.AllDayEvent = $true  
19.
        $app.Start = get-date $line[1] 
20.
        $app.Subject = $line[0] 
21.
        $app.ReminderSet = $false 
22.
        $app.Categories = "Feiertag" 
23.
        $app.Location = "Deutschland" 
24.
        $app.Save() 
25.
26.
27.
write-host "Entferne Outlook-Feiertage ..." 
28.
Remove-OutlookHolidays 
29.
write-host "Füge Outlook-Feiertage hinzu...Bitte warten..." 
30.
Add-OutlookHolidays
Grüße Uwe
Bitte warten ..
Mitglied: melmax
24.11.2014 um 13:43 Uhr
Hallo Uwe,

vielen Dank, Script wird bereits getestet.

Grüße Melmax
Bitte warten ..
Mitglied: FrauMue
26.01.2015 um 17:38 Uhr
Hallo Uwe,

vielen Dank. Ich beschäftige mich jetzt zum ersten Mal mit PowerShell. Mir ist nicht klar was z.B. in Zeile 4 gemacht wird. In die Variable $holidays schreibst du die Feiertage aus dem Kalender...? Was macht @sql und der link?

Würde gerne nur die beiden falschen tage ersetzten, wenn sie denn existieren - komme aber mit meinen beschränkten Kenntnissen nicht weiter.

Danke im Voraus!

Grüße
Bitte warten ..
Mitglied: colinardo
26.01.2015, aktualisiert um 17:54 Uhr
Hallo FrauMue,
Zitat von FrauMue:
vielen Dank. Ich beschäftige mich jetzt zum ersten Mal mit PowerShell. Mir ist nicht klar was z.B. in Zeile 4 gemacht wird.
In die Variable $holidays schreibst du die Feiertage aus dem Kalender...?
Ja damit werden auf effektive Weise alle Feiertage gefiltert um nicht alle Termine mit einer Schleife durchitterieren zu müssen.
Siehe: Items.Restrict Method (Outlook)
Was macht @sql und der link?
Das sind PropTags die intern von Outlook Verwendung finden. Diese kann man sich z.B. mit MFCMAPI anzeigen lassen.

c2bd7719325ae280103b58b1c26a5d63 - Klicke auf das Bild, um es zu vergrößern

Würde gerne nur die beiden falschen tage ersetzten, wenn sie denn existieren - komme aber mit meinen beschränkten
Kenntnissen nicht weiter.
Das Script entfernt alle Feiertage. Dann holst du dir das korrigierte HOL-File mit den korrigierten Feiertagen und lässt es mit der Import-Funktion wieder alle importieren. Feddich.

Grüße Uwe

/Eine Einführung in Powershell können wir hier leider nicht jedem geben...siehe dazu://

Powershell Grundlagen- und Praxisvermittlung:
Bitte warten ..
Mitglied: colinardo
26.01.2015, aktualisiert um 18:47 Uhr
Zitat von FrauMue:
Würde gerne nur die beiden falschen tage ersetzten, wenn sie denn existieren - komme aber mit meinen beschränkten
Kenntnissen nicht weiter.
Sorry hatte ich glatt überlesen, für den Fall reicht folgendes Script:
Korrigiert Pfingstfeiertage 2015 (Pfingstsonntag und Pfingstmontag) im Standardkalender von Outlook.
  • Pfingstsonntag vom 28.05.2015 auf 24.05.2015
  • Pfingstmontag vom 29.05.2015 auf 25.05.2015
01.
$objOL = New-Object -ComObject "Outlook.Application" 
02.
$calendar = $objOL.GetNamespace("MAPI").GetDefaultFolder(9) 
03.
$calendar.Items.Restrict("[Subject] = 'Pfingstsonntag' AND [Start] = '" + (get-date '28.05.2015' -Format 'g') + "'") | %{$_.Start = get-date '24.05.2015';$_.Save()} 
04.
$calendar.Items.Restrict("[Subject] = 'Pfingstmontag' AND [Start] = '" + (get-date '29.05.2015' -Format 'g') + "'") | %{$_.Start = get-date '25.05.2015'; $_.Save()}
Falls der Beitrag gefällt, seid so nett und unterstützt mich durch eine kleine Spende / If you like my contribution please support me and donate

Grüße Uwe
Bitte warten ..
Mitglied: HarryK
19.03.2015 um 14:25 Uhr
Hallo Uwe,

vorab, das Powershell Script funktioniert einwandfrei.

Das Script wird bei uns per GPO beim Logon eines Users ausgeführt.

Auf Windows 7 + Clients kein Problem, gibt es jedoch für Windows XP Clients auch eine Lösung?

Danke!
Bitte warten ..
Mitglied: colinardo
19.03.2015, aktualisiert um 14:32 Uhr
Hallo HarryK,
das läßt sich auch einfach als VBS umschreiben, oder du installierst die PS 2.0 auf den XP Rechnern.

Grüße Uwe
Bitte warten ..
Mitglied: HarryK
19.03.2015 um 14:41 Uhr
Ja, wenn man Ahnung von VB hat, ist es bestimmt einfach . Installation von PS auf den Rechnern will ich eig. vermeiden.

Ich schau mir trotzdem einmal die VBS Variante an.
Bitte warten ..
Mitglied: colinardo
19.03.2015, aktualisiert um 15:28 Uhr
So hier noch das Script als VBS umgeschrieben:
01.
Set objOL = CreateObject("Outlook.Application") 
02.
Set cal = objOL.GetNamespace("MAPI").GetDefaultFolder(9) 
03.
Set items = cal.items.Restrict("[Subject] = 'Pfingstsonntag' AND [Start] = '" & FormatDateTime("28.05.2015", vbShortDate) & " 00:00'") 
04.
Set itm = items.GetFirst() 
05.
If Not itm Is Nothing Then 
06.
    itm.start = CDate("24.05.2015") 
07.
    itm.Save 
08.
End If 
09.
Set items = cal.items.Restrict("[Subject] = 'Pfingstmontag' AND [Start] = '" & FormatDateTime("29.05.2015", vbShortDate) & " 00:00'") 
10.
Set itm = items.GetFirst() 
11.
If Not itm Is Nothing Then 
12.
    itm.start = CDate("25.05.2015") 
13.
    itm.Save 
14.
End If
Ist ja Ende Mai sowieso obsolet

Grüße Uwe

Installation von PS auf den Rechnern will ich eig. vermeiden.
Lieber die Kisten migrieren ... ist schon längst überfällig...
Bitte warten ..
Mitglied: HarryK
19.03.2015 um 15:51 Uhr
Top Uwe, hat super funktioniert!
Bitte warten ..
Neuester Wissensbeitrag
Internet

Unbemerkt - Telekom Netzumschaltung! - BNG - Broadband Network Gateway

(3)

Erfahrungsbericht von ashnod zum Thema Internet ...

Ähnliche Inhalte
Exchange Server
gelöst Neuer Exchange 2016 Probleme mit Outlook 2016 Autodiscoverdomäne falsch (6)

Frage von hronny zum Thema Exchange Server ...

Outlook & Mail
Outlook 2016 und Autodiscover (1)

Frage von a.grothe zum Thema Outlook & Mail ...

Outlook & Mail
Outlook 2016 - Briefpapier Bilder werden nicht angezeigt (6)

Frage von Markowitsch zum Thema Outlook & Mail ...

Heiß diskutierte Inhalte
Switche und Hubs
Trunk für 2xCisco Switch. Wo liegt der Fehler? (17)

Frage von JayyyH zum Thema Switche und Hubs ...

Windows Server
Outlook Verbindungsversuch mit Exchange (15)

Frage von xbast1x zum Thema Windows Server ...

DSL, VDSL
DSL-Signal bewerten (14)

Frage von SarekHL zum Thema DSL, VDSL ...