Windows Server 2012 R2 Gruppenrichtline Verteilung Batch-Script bei Anmeldung (Excel Addin)
Morjen morjen,
ich soll die Verteilung eines Addins für Excel über die Domäne per Gruppenrichtlinie erstellen und anstoßen.
Beim Anmelden der User soll das Batch-Script ausgeführt werden. Leider funktioniert es nicht.
Ich habe mir dazu eine Testumgebung aufgebaut mit einem Windows Server 2012 R2 mit DHCP und ADDS.
Desweiteren habe ich noch 4 Clients zum testen, 2 mit Office 2013, einen mit Office 2003 und einen ohne Office.
Auf dem virtuellen Server nutze ich die Freigabe SHARE um das Batch-Script zu testen.
Hat alles gut funktioniert beim Skripten, aber jetzt bei der Verteilung über die Gruppenrichtlinien wird das Script nicht angestoßen.
Ich hab die Gruppenrichtlinie wie folgt erstellt:
Gruppenrichtlinienverwaltung > OU "PCs" (hier sind die virtuellen Clients eingetragen) > Gruppenrichtlinienobjekt erstellen > Name vergeben > Rechtsklick bearbeiten > Benutzerkonfiguration > Windows-Einstellungen > Skripts (Anmelden) > Anmelden > Script aus der Freigabe SHARE hinzugefügt.
Dann habe ich ein gpupdate /force gemacht und die Clients angeschaltet und angemeldet.
Sollte die GPO lieber bei den Usern erstellen?
Hier noch das Script:
Wo ist der Fehler?
Habt ihr einen Rat?
Falls der Thread eher in Batch & Shell-Entwicklung gehört, dann bitte verschieben.
Grüße
ich soll die Verteilung eines Addins für Excel über die Domäne per Gruppenrichtlinie erstellen und anstoßen.
Beim Anmelden der User soll das Batch-Script ausgeführt werden. Leider funktioniert es nicht.
Ich habe mir dazu eine Testumgebung aufgebaut mit einem Windows Server 2012 R2 mit DHCP und ADDS.
Desweiteren habe ich noch 4 Clients zum testen, 2 mit Office 2013, einen mit Office 2003 und einen ohne Office.
Auf dem virtuellen Server nutze ich die Freigabe SHARE um das Batch-Script zu testen.
Hat alles gut funktioniert beim Skripten, aber jetzt bei der Verteilung über die Gruppenrichtlinien wird das Script nicht angestoßen.
Ich hab die Gruppenrichtlinie wie folgt erstellt:
Gruppenrichtlinienverwaltung > OU "PCs" (hier sind die virtuellen Clients eingetragen) > Gruppenrichtlinienobjekt erstellen > Name vergeben > Rechtsklick bearbeiten > Benutzerkonfiguration > Windows-Einstellungen > Skripts (Anmelden) > Anmelden > Script aus der Freigabe SHARE hinzugefügt.
Dann habe ich ein gpupdate /force gemacht und die Clients angeschaltet und angemeldet.
Sollte die GPO lieber bei den Usern erstellen?
Hier noch das Script:
@echo off
:: Kopieren des Excel-Addins "set_calculation_to_automatic_at_start.xlam"
:: und Implementierung über die Windows-Registry in Excel
:: Der Freigabename "share" des Scripts muss verändert werden,
:: wenn "share" nicht als Freigabe auf dem Server besteht.
:: Variable dazu: sourcepath (Zeile 30)
:: Es werden der Zeit nur Computer mit MSOffice 2013 unterstützt!!
:: letztes Update: 31.08.2018
:: Autor:
::vars
SET d=%date%
SET sorteddate=%d:~-4%-%d:~3,2%-%d:~0,2%
::Erstellen des Log Ordners, wenn nicht vorhanden
if not exist %~dp0\logs_excel_addin mkdir %~dp0\logs_excel_addin
::Prüfen der ZULETZT installierten Office Version
reg query HKEY_CLASSES_ROOT\Excel.Application\CurVer
if %ERRORLEVEL% == 1 goto nooffice
for /f "tokens=3 delims=." %%a in ('reg query "HKEY_CLASSES_ROOT\Excel.Application\CurVer"') do set officever=%%a
if %officever%==11 GOTO office2003
if %officever%==12 GOTO office2007
if %officever%==14 GOTO office2010
if %officever%==15 GOTO office2013
:office2013
::Einstellungen (Falls benötigt)
SET sourcepath=%Logonserver%\share\
SET installpath=%appdata%\Microsoft\AddIns
SET filename=set_calculation_to_automatic_at_start.xlam
::Kopieren wenn Addin-Datei nicht vorhanden
if exist %installpath%\%filename% GOTO checkreg
xcopy %sourcepath%\%filename% %installpath%\*.*
::Prüfen ob Registry-Eintrag vorhanden ist
:checkreg
for /f "tokens=2* delims= " %%A in ('reg query "HKCU\Software\Microsoft\Office\15.0\Excel\Options" /v OPENauto 2^>NUL ^| find "%installpath%\%filename%"') do set Blub=%%B
if not defined blub (
goto setreg
)
echo Registry-Eintrag fuer Addin vorhanden.
exit
::Erstellen des Registry-Eintrags
:setreg
set regkeypath=HKCU\Software\Microsoft\Office\15.0\Excel\Options
reg add %regkeypath% /V "OPENauto" /t REG_SZ /d "%installpath%\%filename%"
echo Registry-Eintrag fuer Addin erstellt.
::Log feedback
echo %sorteddate% = Das Addin wurde oder ist erfolgreich auf %computername% installiert > %~dp0\logs\xcreated_%sorteddate%_%computername%_o2013.log
::Ende nach Kopiervorgang und setzen des Registry-Eintrag
exit
:nooffice
echo %sorteddate% = Kein Office installiert auf %computername%. Kopiervorgang des Addins abgerochen. > %~dp0\logs_excel_addin\failed_%sorteddate%_%computername%_keinOffice.log
GOTO exit
:office2003
echo %sorteddate% = Office 2003(%officever%.0) auf %computername%. Kopiervorgang des Addins abgerochen. > %~dp0\logs_excel_addin\failed_%sorteddate%_%computername%_o2003.log
GOTO exit
:office2007
echo %sorteddate% = Office 2007(%officever%.0) auf %computername%. Kopiervorgang des Addins abgerochen. > %~dp0\logs_excel_addin\failed_%sorteddate%_%computername%_o2007.log
GOTO exit
:office2010
echo %sorteddate% = Office 2010(%officever%.0) auf %computername%. Kopiervorgang des Addins abgerochen. > %~dp0\logs_excel_addin\failed_%sorteddate%_%computername%_o2010.log
GOTO exit
:exit
exit
Wo ist der Fehler?
Habt ihr einen Rat?
Falls der Thread eher in Batch & Shell-Entwicklung gehört, dann bitte verschieben.
Grüße
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 385117
Url: https://administrator.de/contentid/385117
Ausgedruckt am: 15.11.2024 um 07:11 Uhr
7 Kommentare
Neuester Kommentar
Benutzerkonfiguration > Windows-Einstellungen
Sollte die GPO lieber bei den Usern erstellen?
Öhm, ja denn sonst wirkt sie ja überhaupt nicht , sind ja nur Computer-Objekte in der OU in der du sie anwendest. Die würde in der Art dort nur wirken, wenn der Loopback-Verarbeitungsmodus in dieser GPO aktiviert wäre.Sollte die GPO lieber bei den Usern erstellen?
Sowas sollte aber generell über Computer-Start-Skripts abgefackelt werden, da sonst dem Skript die eventuell nötigen Installations-Rechte fehlen, weil Anmelde-Skripts nur im Benutzerkontext laufen.
Gruß Werner
Hallo,
Gruß,
Peter
Zitat von @akadawa:
Beim Anmelden der User soll das Batch-Script ausgeführt werden. Leider funktioniert es nicht.
Wenn es Fehler hagelt, solltest du uns die Fehler auch mal mitteilen. Hilft ungemein.Beim Anmelden der User soll das Batch-Script ausgeführt werden. Leider funktioniert es nicht.
Hat alles gut funktioniert beim Skripten, aber jetzt bei der Verteilung über die Gruppenrichtlinien wird das Script nicht angestoßen.
Mit welchen rechten greift denn dein Skript? Es gibt Startup, Logon, Logoff und shtdown Skripte. Aber es wird nicht zwnagsweise und zwingend überall der gleiche Benutzer ... Es gibt das Lokale System Konto, den lokalen Benutzer, den Domänen Benutze usw. Wer ist es bei dir?Habt ihr einen Rat?
Ja, prüfe zuerst bevor du ein Log abspeicherst ob der Pfad dorthin überhaupt existiert. Es soll Rechner geben die kein Office und dessen Pfade kennen.Falls der Thread eher in Batch & Shell-Entwicklung gehört, dann bitte verschieben.
Musst du schon selbst verschieben wenn du der Meinung bist das Batch & Shell-entwicklung besser sei.Gruß,
Peter
Wie WernerRennen sagte, es muss auf die User-OU verlinkt werden. Aber nicht als Startskript, denn es wird in %appdata und HKCU geschrieben, das klappt nicht mit einem Startskript, sondern nur als Logonskript.
Beachte zudem, dass bei Win8.x und Win10 by default 5 Minuten vergehen, bis das Skript überhaupt anläuft (kann man konfigurieren, google "logon script delay").
Beachte zudem, dass bei Win8.x und Win10 by default 5 Minuten vergehen, bis das Skript überhaupt anläuft (kann man konfigurieren, google "logon script delay").
Hallo,
Habe ich, aber nichts von einer Fehlermeldung oder den Hinweis das es keine Fehlermeldung gibt gelesen. Und da ich nicht Gedankenlesen kann und auch nicht dein Batch Skript im Detail durchlesen und als Rechner nachspielen wollte...
Gruß,
Peter
Habe ich, aber nichts von einer Fehlermeldung oder den Hinweis das es keine Fehlermeldung gibt gelesen. Und da ich nicht Gedankenlesen kann und auch nicht dein Batch Skript im Detail durchlesen und als Rechner nachspielen wollte...
Gruß,
Peter