arduino
Goto Top

Office Vorlagen via Logon Script verteilen

Hallo Admin Gemeinde

Ich habe folgende Challenge face-smile

1. File C:\Test\Vorlage.dotm Modify Datum auslesen
2. Reg Key \HKEY_CURRENT_USER\SOFTWARE\ZRZ\Windows\WordTemplateModify auslesen (beinhaltet das letzt Modify Datum der Vorlage
3. letztes Modify Datum der Vorlage auslesen
4. Ist das Datum der Vorlage neuer als das Datum in der Registry, soll die Vorlage ersetzt werden plus der aktuelle Wert in die Registry geschrieben werden

Ziel der Sache ist ganz eigentlich ganz einfach: Vorlage via Logonscript verteilen. Jedoch haben wir User,welche noch Anpassungen machen, welche Auswirkungen auf die Normal.dotm haben und entsprechend dieses Modify Datum ändern. Deswegen auch der Weg über die Registry

Irgend etwas übersehe ich jedoch. Bis Schritt 3 funktioniert es, jedoch wird die Vorlage ersetzt, ob das Datum gleich ist oder nicht. Wer hat mir einen guten Tipp bzw. eine Lösung? face-smile

Set objFSO = CreateObject("Scripting.FileSystemObject")  
Set objWshShell = CreateObject("Wscript.Shell")  

strWordRegKey = "HKCU\Software\ZRZ\Windows\WordTemplateModify"  
strWordTemplate = "C:\Templates\Word-Vorlage.dotm"  
strWordTemplateLocal = objWshShell.ExpandEnvironmentStrings("%appdata%") & "\Microsoft\Templates\normal.dotm"  

objWordTemplate = objFSO.GetFile(strWordTemplate)

If objWshShell.RegRead(strWordRegKey) <> objWordTemplate.DateLastModified Then
	msgbox("replace File")  
	'objFSO.CopyFile strWordTemplate, strWordTemplateLocal, TRUE  
	objWshShell.RegWrite strWordRegKey, objWordTemplate.DateLastModified, "REG_SZ"  
End If

Vielen Dank

Gruss
arduino

Content-Key: 398185

Url: https://administrator.de/contentid/398185

Printed on: April 24, 2024 at 10:04 o'clock

Member: emeriks
Solution emeriks Jan 14, 2019 updated at 08:57:39 (UTC)
Goto Top
Hi,
objWshShell.RegRead(strWordRegKey)
liefert einen String und
objWordTemplate.DateLastModified
ein DateTime.
Da wird Dir VBscript beim einfachen Vergleichen immer "False" liefern.
versuche es mal so:
If Cdate(objWshShell.RegRead(strWordRegKey)) <> objWordTemplate.DateLastModified Then

E.
Member: Dani
Dani Jan 14, 2019 at 09:33:13 (UTC)
Goto Top
Moin,
warum lässt du die Vorlagen nicht automatisch beim Anmelden überschreiben? Ist meiner Meinung nach schneller als das Logonskript.
Das Resultat wäre das Selbe bloß ohne Logik und somit einfacher. face-smile


Gruß,
Dani
Member: erikro
erikro Jan 14, 2019 at 10:39:00 (UTC)
Goto Top
Moin,

warum nicht über die GPO Einstellungen->Windows-Einstellungen->Datei?

Liebe Grüße

Erik
Member: arduino
arduino Jan 15, 2019 at 08:58:52 (UTC)
Goto Top
Moin

@emeriks vielen Dank, das ist die Lösung. Soweit habe ich natürlich nicht gedacht...

@Dani und @erikro Schneller und einfacher wäre das sicher. Das Problem ist nur, dass die Vorlage nur überschrieben werden darf, wenn die auf dem Share (bzw. in meinem Beispiel unter C:\Templates) neuer ist, als die im Userprofil.
Zitat von @arduino:
Jedoch haben wir User,welche noch Anpassungen machen, welche Auswirkungen auf die Normal.dotm haben und entsprechend dieses Modify
Datum ändern. Deswegen auch der Weg über die Registry

noch einen schönen Tag allerseits und sonnige Grüsse aus den Schweizer Bergen
arduino