itshark
Goto Top

Problem mit Startskript via Gruppenrichtlinie

Hallo zusammen,

also so langsam weiß ich nicht weiter. Folgende Umgebung, Windows Server 2012 R2 und Windows 7/10 Clients.

Ich möchte gerne ein Startup Script (Computerpolicy) an spezielle Clients verteilen.
OU ist eingerichtet, GPO ist gelinkt und auch zusätzlich noch im "Enforce" Mode.

Inhalt des Skripts:

Einen Dienst anhalten
Regkey löschen
Verzeichnis umbennen
Dienst starten

Habe es als CMD, BAT und PS1 versucht. Laut Group Policy Result ist das Skript auch gelaufen.

Berechtigungen habe ich mehr als auf gemacht:

Scope und Delegation Settings im Anhang, genau so wie die GPO an sich.

Ich stehe da wahrscheinlich mittlerweile so quer und es ist nur eine Kleinigkeit.

Freue mich über jeden Tipp.

Danke und Gruß,
ofod
2
1
3

Content-Key: 336828

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

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

Member: emeriks
Solution emeriks May 04, 2017 updated at 06:53:34 (UTC)
Goto Top
Hi,
was ist das Problem? Dass das Script erfolgreich gelaufen ist? Herzlichen Glückwunsch!

E.
Member: ITShark
ITShark May 04, 2017 at 06:56:00 (UTC)
Goto Top
Ja das freut mich auch, nur leider wird nichts von dem gemacht was es soll face-smile

Irgendwelche Tipps zum Troubleshooting.

Wenn ich das Skript manuell auf dem Client ausführe klappt es soweit.
Member: rudeboy
rudeboy May 04, 2017 at 06:59:44 (UTC)
Goto Top
Moin!

Bau doch mal eine Pause am Ende des Skript ein, vielleicht werden Fehlermeldungen, die dann auf das Problem hinweisen, angezeigt.

Gruß, rudeboy
Member: emeriks
emeriks May 04, 2017 at 07:00:13 (UTC)
Goto Top
nur leider wird nichts von dem gemacht was es soll face-smile
Davon steht aber nichts in Deiner Frage.

Irgendwelche Tipps zum Troubleshooting.
Ja.
z.B.
  • Log-Meldungen schreiben lassen
  • Ausgaben in Dateien umleiten
  • Du könntest hier auch schreiben, was genau gemacht werden soll und wie weit das noch funktioniert, was genau nicht geht.
Member: ITShark
ITShark May 04, 2017 at 07:04:26 (UTC)
Goto Top
Werde es mal machen, allerdings sehe ich nicht einmal ein Kommandofenster beim Starten des Clients. Aber ich versuche es.
Member: ITShark
ITShark May 04, 2017 at 07:05:44 (UTC)
Goto Top
Also was genau geschehen soll:

- Windows Update Dienst stoppen
- SoftwareDistribution auf C:\Windows umbennen
- Regkey der SusClientID löschen
- Dienst wieder starten

WSUS befehle /detectnow etc. ausführen

Werde das mal mit dem log versuchen.
Member: emeriks
emeriks May 04, 2017 at 07:07:26 (UTC)
Goto Top
Und was davon geht nicht?

- Windows Update Dienst stoppen
Kannst Du im Eventlog sehen
- SoftwareDistribution auf C:\Windows umbennen
Kannst Du am Ergebnis sehen
- Regkey der SusClientID löschen
Kannst Du durch Vorher-Nachher-Vergleich feststellen
- Dienst wieder starten
Kannst Du im Eventlog sehen
Member: ITShark
ITShark May 04, 2017 at 07:13:49 (UTC)
Goto Top
Habe jetzt den kompletten Eventlog noch einmal geleert und teste alles, melde mich ;) und danke schon einmal für die Tipps, allerdings hoffe ich nichts im Log zu finden, da ich da schon mehrfach reingeschaut habe, aber manchmal sieht man den Wald vor lauter Bäumen nicht :P
Member: ITShark
ITShark May 04, 2017 at 08:19:57 (UTC)
Goto Top
Ok, nachdem ich noch einmal eine weitere Berechtigung gesetzt habe bin ich einen Schritt weiter und das "Grundskript" läuft.

Jetzt eine letzte Frage, denn sobald ich eine Befehlszeile hinzufüge klappt es nicht mehr.

Und zwar soll das Skript genau einmal laufen, dazu prüfe ich ob eine Datei existiert. Wenn diese Datei nicht existiert soll das Skript laufen und am Ende die Datei erzeugen, damit es beim nächsten mal nicht mehr läuft.

Der Code dazu sieht wie folgt aus:

if /i exist %userprofile%\%COMPUTERNAME%.txt goto leave

net stop wuauserv
.
.
.
Echo Schon gelaufen > %userprofile%\%computername%.txt

:leave

Sobald ich dies drin habe, klappt das gesamte Skript nicht mehr, lokal ausgeführt läuft es allerdings ohne Problem.
Member: emeriks
emeriks May 04, 2017 at 08:31:51 (UTC)
Goto Top
Ok, nachdem ich noch einmal eine weitere Berechtigung gesetzt habe bin ich einen Schritt weiter und das "Grundskript" läuft.
Aha, und welche?

Jetzt eine letzte Frage, denn sobald ich eine Befehlszeile hinzufüge klappt es nicht mehr.
"eine" ist dann "drei" face-wink

if /i exist %userprofile%\%COMPUTERNAME%.txt goto leave
Das ist doch ein Startup-Script. Warum dann "%userprofile%" ? Nimm doch %ProgramData%. Es ist doch ein Script, welches 1x per Computer laufen soll und nicht 1x per User per Computer.
Member: ITShark
ITShark May 04, 2017 at 10:39:52 (UTC)
Goto Top
Sorry für die späte Info, war mein Denkfehler, du hast natürlich recht und jetzt läuft es auch! Danke!!!

Besteht eigentlich die Möglichkeit das ganze auch via UNC Pfad abzulegen, also die Prüfdatei?
Member: emeriks
emeriks May 04, 2017 at 10:50:54 (UTC)
Goto Top
Besteht eigentlich die Möglichkeit das ganze auch via UNC Pfad abzulegen, also die Prüfdatei?
Ja, warum nicht. Du musst nur dafür sorgen, dass das Computerkonto dort Schreibrechte hat.
Member: ITShark
ITShark May 04, 2017 at 11:32:33 (UTC)
Goto Top
Stimmt, danke!