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-ID: 398185

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

Ausgedruckt am: 22.11.2024 um 10:11 Uhr

emeriks
Lösung emeriks 14.01.2019 aktualisiert um 09:57:39 Uhr
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.
Dani
Dani 14.01.2019 um 10:33:13 Uhr
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
erikro
erikro 14.01.2019 um 11:39:00 Uhr
Goto Top
Moin,

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

Liebe Grüße

Erik
arduino
arduino 15.01.2019 um 09:58:52 Uhr
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