bernhardb
Goto Top

Starten eines Batchfiles per GPO im Computercontext

Hallo!

Wegen eines Umzugs unseres Symantec Servers müssen wir eine XML-datei auf den Windows 10 Clients durch eine neue ersetzen. Per GPO wäre das theoretisch am einfachsten durch den Update der Datei - da diese aber durch den laufenden Service geschützt wird, ist das nicht möglich.

Symantec bietet zu diesem Zweck ein Programm an - nennt sich sylinkdrop.exe. Mit einem Batchfile das so aussieht:

echo Start Replace > C:\Temp\Sylink.log
\\domaincontroller\netlogon\SylinkDrop.exe -silent \\domaincontroller\netlogon\Sylink.xml
echo End Replace >> C:\Temp\Sylink.log

funktioniert das als lokal angemeldeter Administrator wunderbar und erstellt auch ein kurzes Logfile auf dem jeweiligen Client.

Nun das Problem:

Ich habe dann eine Policy erstellt, die im Computercontext (da Admin-Berechtigung erforderlich ist) dieses Batchfile ausführen soll und diese mit dem Container, in dem die entsprechenden PCs (in weiteren Subcontainern) drin sind verknüpft. Das Batchfile liegt in dem Startup-Verzeichnis der Policy, das auszuführende Programm und die zugehörige XML-Datei liegen in \\domaincontroller\netlogon. Beim Neustart eines Rechners wird jedoch leider nichts ausgeführt. Es wird weder das Logfile angelegt noch die .exe angestartet. Im Windows Log erscheint keinerlei Fehlermeldung. Ich habe ehrlich gesagt keine Ahnung, wie nachzuvollziehen ist, was für ein Problem existiert. Vielleicht kannmir jemand helfend unter die Arme greifen?

Danke und viele Grüße!

Content-ID: 666052

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

Ausgedruckt am: 22.11.2024 um 11:11 Uhr

norden
norden 23.04.2021 um 15:04:30 Uhr
Goto Top
Hallo Bernhard,

es scheitert gerne mal daran, dass Domänen-Computer keine Berechtigung auf das Scriptverzeichnis haben. Hast du das schon geprüft?

Gruß
N
emeriks
emeriks 23.04.2021 aktualisiert um 15:05:21 Uhr
Goto Top
Hi,
ich schätze, Du hast nicht aktiviert: "Bei Anmeldung und beim Neustart immer auf das Netzwerk warten". Das erfolgt per GPO.
Und bei Win10 muss man noch den Schnellstart ausschalten. Das findest Du in den Energieoptionen.

E.
emeriks
Lösung emeriks 23.04.2021 um 15:06:23 Uhr
Goto Top
Zitat von @norden:
es scheitert gerne mal daran, dass Domänen-Computer keine Berechtigung auf das Scriptverzeichnis haben. Hast du das schon geprüft?
Im Netlogon haben aber standardmäßig auch die Computer Lese-Recht.
emeriks
Lösung emeriks 23.04.2021 aktualisiert um 15:07:52 Uhr
Goto Top
Zitat von @BernhardB:
\\domaincontroller\netlogon\SylinkDrop.exe -silent \\domaincontroller\netlogon\Sylink.xml
Wenn, dann solltest Du stattdessen besser
\\domain.tld\netlogon\SylinkDrop.exe
nehmen. Dann bist Du bei mehreren DC's nicht nur von diesem einen abhängig.
BernhardB
BernhardB 23.04.2021 um 15:19:57 Uhr
Goto Top
Hallo,

erst mal Danke für die Antworten. Zum Einen: Bei Anmeldung und beim Neustart immer auf das Netzwerk warten ist aktiviert. Die Policy tut darüber hinaus auch dann nichts, wenn man gpupdate /force ausführt. Zu dem Zeitpunkt ist das Netzwerk ja schon lange da. Wegen dem \\domaincontroller: Es gibt an der Stelle nur einen.

Zur Antwort von @norden: Das habe ich auch schon vermutet und habe zum Test mal Everyone ein Leserecht gegeben. Hat aber auch nichts geändert.
DerWoWusste
DerWoWusste 23.04.2021 aktualisiert um 15:35:34 Uhr
Goto Top
Hat aber auch nichts geändert.
Somit ist Dein Problem NICHT gelöst, aber dennoch hast Du es als gelöst markiert (?)

Zum Hintergrund lies bitte meinen Artikel https://www.experts-exchange.com/articles/25279/Overcoming-software-depl ...
Eine mögliche Lösung, die ich empfehlen würde sind "immediate Tasks", ich beschreibe deren Erstellung hier im Zuge eines anderen Artikels: https://www.experts-exchange.com/articles/35931/About-the-risks-of-execu ...
norden
norden 23.04.2021 um 15:51:19 Uhr
Goto Top
Konntest du sicherstellen, dass die Policy auch wirklich auf den Client passt und dass sie am Client angekommen ist? Was sagen die Gruppenrichtlinienmodellierung und die Gruppenrichtlinienergebnisse dazu?
BernhardB
BernhardB 23.04.2021 um 16:24:04 Uhr
Goto Top
Jetzt komme ich ein wenig an meine Grenzen. Was ist Gruppenrichtlinienmodellierung was wie sieht man die Grupperichtlienienergebnisse an?

Und: Was heißt dass die Policy auf den Client passt? Alle Clients sind Windows 10 und auf allen ist Symantec Endpointprotection installiert. Auf allen Clients ist der Verbindungsstatus des Clients zum alten Symantecserver hin "offline", weil der Server mittlerweile auf einem anderen Rechner läuft. Und auf allen getesten Stationen hat das Batchfile die gesetzte Aufgabe korrekt erfüllt. Aber ich möcht ungern zu den zweihundert anderen Rechnern zu Fuß laufen müssen. (-:
BernhardB
BernhardB 23.04.2021 um 16:27:01 Uhr
Goto Top
Hm - an sich war die Frage wie man das Problem mit einer GPO lösen kann und warum die von mir erstellte nicht funktioniert. Ich möchte solche Dinge ja gern mal öfter zum Einsatz bringen - es macht also wenig Sinn, um das Problem herumzuschleichen.
DerWoWusste
DerWoWusste 23.04.2021 um 16:30:35 Uhr
Goto Top
Deine Frage ist mir bewusst und das Beschriebene ist die Ursache: fast startup. Mit fast startup werden keine GPOs mehr beim Rechnerstart verarbeitet, sofern man keinen echten Neustart durchführt. Wie man das umgeht steht auch im Artikel. Also von Herumschleichen kann nicht die Rede sein. Die bessere Lösung ist jedoch der Immediate Task, da dieser keinen Neustart braucht.
BernhardB
BernhardB 23.04.2021 um 16:36:25 Uhr
Goto Top
Ich wollte Dir ja nun nicht zu nahe treten. Allerdings habe ich auch mehrfach Neustarts versucht - ohne Ergebnis. Du schreibst, dass GPOs beim Rechnerstart nicht mehr verarbeitet werden, bei einem echten Neustart aber schon. Was ist denn der Unterschied zwischen einem Rechnerstart und einem echten Neustart?
DerWoWusste
Lösung DerWoWusste 23.04.2021 um 16:43:27 Uhr
Goto Top
Hab ich doch im Artikel beschriebenface-smile Ein "echter" Neustart wird ausgeführt, wenn man auf "Neustart" klickt. Das ist eben etwas anderes als Herunterfahren und wieder einschalten. Möglicherweise machst Du ja echte Neustarts und es geht dennoch nicht - dann wäre die wahrscheinlichste Ursache, dass deine Netzwerkkarte nicht rechtzeitig bereit ist, also der Rechner "zu schnell" hochfährt, was bei SSD-Festplatten ja nicht selten zu beobachten ist. Dann solltest Du die GPO https://admx.help/?Category=Windows_10_2016&Policy=Microsoft.Policie ... setzen (auf 20 Sekunden), die GPO am PC per GPupdate übernehmen und den PC neu starten.
BernhardB
BernhardB 23.04.2021 um 17:22:03 Uhr
Goto Top
Ich hab jetzt mal die Policy für die zeitversetzte Ausführung auf 20 Sekunden wie vorgeschlagen gesetzt - und siehe da: hat prima geklappt.

Ferner: Die Sache mit den "immediate Tasks" liest sich sehr, sehr interessant - ich werde da auch noch mal ein wenig tiefer einsteigen.

Jetzt erst mal: Vielen, vielen Dankd für die HIlfestellung!

Viele Grüße aus München!!
norden
norden 23.04.2021 aktualisiert um 18:44:35 Uhr
Goto Top
Zitat von @BernhardB:
Jetzt komme ich ein wenig an meine Grenzen. Was ist Gruppenrichtlinienmodellierung was wie sieht man die Grupperichtlienienergebnisse an?
Und: Was heißt dass die Policy auf den Client passt?
Das Problem ist zwar schon gelöst, aber ich erläutere das trotzdem gerne.

Policy passend zum Client meint, dass erstens die Policy der OU zugeordnet ist, in der der Client steckt. Zweitens muss die Policy, da sie ja Richtlinien im Computerkontext enthält, auch eben solchen (Computern) zugeordnet sein und nicht für eine OU gelten, in der Benutzer stecken. Klingt trivial, ist aber ein gerne genommener Flüchtigkeitsfehler. Drittens ist ggf. die Zielgruppe durch die Sicherheitsfilterung eingeschränkt. Hier muss der Filter auf den Client zutreffen. Verändert man daran nichts, gilt es allerdings immer für alle.

Das alles lässt sich gut mit der Gruppenrichtlinienmodellierung überprüfen. Nachdem man einige Angaben gemacht hat, wird eine Simulation gefahren und anschließend bekommst du eine Auflistung über alle Policies, die zu den gemachten Angaben passen. So kannst du sehen, ob die Policy tatsächlich für einen bestimmten Client oder User in einer bestimmten OU gilt.

Grau ist alle Theorie, denn auf dem Weg zum Client können noch einige Dinge schief laufen, wie du selbst erfahren hast. Deshalb gibt es die Gruppenrichtlinienergebnisse, mit denen der Client direkt abgefragt wird, welche Policies er anwenden wird. Alternativ kannst du auf dem Client auch gpresult auf der Kommandozeile nutzen. Am DC geht es aber zentral natürlich bequemer.

Beide Tools sind Bestandteil der Gruppenrichtlinienverwaltung. Scroll links im Baum mal ganz runter, da siehst du die beiden Kollegen.

Mehr Infos mit Bildern gibt es zum Beispiel bei tecchannel.de
BernhardB
BernhardB 29.04.2021 um 11:10:59 Uhr
Goto Top
Dann Danke für die weiteren Erläuterungen - die Modellierung habe ich mir näher angeschaut und sie ist in er Tat sehr hilfreich; über gpresult /r kann man lange nicht so viel sehen. Das macht die "Blackbox Computer-GPOs" dann doch deutlich durchsichtiger. (-:

Vielen Dank jedenfalls für die schnellen Hilfen!