hannes-schurig
Goto Top

Windows 7 - Startscript (Batch) via GPO wird nicht ausgeführt

Führt Windows 7 Batch-Startscripts einer Server 2003 GPO aus?

Hi Community,

in meinem GPO habe ich unter Computerkonfiguration -> Windows-Einstellungen -> Skripts (Starten/Herunterfahren) 4 Dateien zu stehen.
3 Batch Scripte und 1 .exe Programm. Alle 4 Dateien liegen auf einem Netzlaufwerk in einem Ordner.

An einem Windows XP PC funktioniert alles einwandfrei. .exe und die 3 Scripte werden ausgeführt.
An einem Windows 7 Client wird nur das .exe Programm ausgeführt, die 3 Batch Scripte (mit @echo on und pause(s)) werden nicht angerührt.

Manuell lassen sich alle Scripte einwandfrei ausführen, keine Probleme.

Done:
- Reihenfolge der 4 Dateien verändert
- .vbs Script mit wshshell.run "[...].bat"
- cmd.exe /c "[...].bat"
- Batch mit WIWW in eine .msi gepackt (hat aber grundsätzlich nicht funktioniert)
- UAC deaktiviert (obwohl klar war, dass das nicht hilft)
- 2 Techfreaks und stundenlange Recherche ;)

PS: Der Domänen-DC ist Server 2003, weiß nicht ob das eine Rolle spielt.
Mal davon abgesehen funktioniert alles perfekt mit dem DC und unseren mittlerweile über 30 Windows 7 PCs.

Microsoft Answers Thread: http://social.answers.microsoft.com/Forums/de-DE/w7installde/thread/bb9 ...

Content-Key: 147862

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

Printed on: April 23, 2024 at 08:04 o'clock

Member: unfroehlicher
unfroehlicher Jul 28, 2010 at 15:53:38 (UTC)
Goto Top
Die Ereignisanzeige auf dem Win7 PC wird einen gewissen Eintrag ja liefern weswegen sie die Scripte nicht mag oder? Per rsop.msc kontrolliert das die Richtlinien ankommen?

gruss
Member: Winheld
Winheld Jul 28, 2010 at 16:06:04 (UTC)
Goto Top
Hallo Hannes,

ersteinmal gratulation, dass bei euch alles mit den Windows 7 PCs runt läuft. Wir haben immer Problem da XP Profile (server.gespeichert) nicht kompatible sind zu W7. Aber zurück zu deinem Problem, was ist den der Inhalt dieser Scripte? Soll diese Netzlaufwerke einbinden?

Korrektur:

Ich glaube ich könnte mir vorstellen woran es liegt. Windows Vista und Windows 7 brauchen beide neue Templates für die Gruppenrichtlinen (Windows 7 ADM/ADMX Templates). Die Dateien liegen auf dem Windows 7 PC unter C:\Windows\PolicyDefinitions. Diese musst du auf dem Windows 2003 Server importieren. Danach kannst du per Remote Server Administration Tools for Windows 7 die Gruppenrichtlinien für Windows 7 Rechner steuern.

http://www.microsoft.com/downloads/details.aspx?displaylang=en&Fami ...

Hoffe das hilft.
Member: Hannes-Schurig
Hannes-Schurig Jul 28, 2010 at 18:40:27 (UTC)
Goto Top
@unfroehlicher: Ereignisanzeige, leider NIX. Ich war selber erstaunt, weder in Anwendung, System noch in dem neuen W7 Log unter Anwendungs- und Dienstprotokolle->Microsoft->Windows->GroupPolicy.
gpupdate /force und gpresult /h natürlich immer mit dabei, Version der angewendeten Gruppenrichtlinie = Version aufn DC. Also alles aktuell und korrekt.

@Winheld: Deswegen nutzen wir momentan noch keine servergespeicherten Profile, zwischen verschiedenen OS gibts sowieso nur Stress, erstmal XP loswerden.
Ein Script überprüft ob .NET Framework 4 installiert ist und wenn nicht installiert ist. Ein Script gibt nur Informationen aus, alle Scripts aber mit mehreren pauses versehen. Netzlaufwerke zuweisen funktioniert (ebenfalls über ne Batch allerdings in den Userprofilen als Logon Script) wunderbar.

Deine Korrektur hab ich nicht ganz verstanden.

Grob zum Aufbau:
Unser DC steht im Rechenzentrum und ich hab darauf keinerlei Zugriff. Ich verwalte unsere OU mit Computer, User, GPOs etc komplett über meinen Arbeits PC mit den Admin/Domänentools für W7. Funktioniert auch alles bis auf Batches in Start/Shutdownscripts. Softwareinstallationen, Richtlinienanpassungen, 1A ^^
Member: Winheld
Winheld Jul 29, 2010 at 07:32:25 (UTC)
Goto Top
Hi Hannes, damit hast du meine Korrektur schon angewandt face-smile Es kann also nich an mangelnden GPOs liegen. Wenn diese Scripte Pfade überprüfen solltest du schauen ob diese noch mit W7 übereinstimmen.
Member: Hannes-Schurig
Hannes-Schurig Jul 29, 2010 at 07:40:44 (UTC)
Goto Top
Naja wie gesagt, ein Script gibt einfach nur etwas Text aus und hat danach ein pause, ganz easy. Nichts passiert.

Danke auf jeden Fall schonmal.

Kann doch nicht sein, dass noch niemand diese Limitierung bemerkt hat O.o
Keine Batch Start/Shutdown-Scripts unter Windows 7??
Ich dachte schon ich hab spät angefangen Windows 7 im Unternehmen einzusetzen aber so viele Administratoren haben das wohl noch nicht gemacht oder nutzen keine Batch Scripts. Also ich hab schon hunderte Male von Batch Scripts beim Systemstart profitiert und es wäre ziemlich krass, wenn das nicht mehr gehen würde.

Microsoft Answers Thread: http://social.answers.microsoft.com/Forums/de-DE/w7installde/thread/bb9 ...
Member: Mango81
Mango81 Jul 30, 2010 at 15:44:41 (UTC)
Goto Top
Hallo,

ich hatte das gleiche Problem.

Bei mir hat es geholfen in der Registry folgenden Schlüssel einzutragen:


HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System
EnableLinkedConnections = 1 (DWord)


Gruss
Member: Hannes-Schurig
Hannes-Schurig Jul 31, 2010 at 10:13:32 (UTC)
Goto Top
Das hilft doch normalerweise nur wenn unter Vista/7 Netzlaufwerke per Batch nicht zugewiesen werden, oder? Las ich zumindest überall so und "EnableLinkedConnections" klingt auch so, daher hab ich das ausgeschlossen.
Aber ich werds versuchen, mittlerweile bin ich ja sowieso schon verzweifelt ^^
Member: Hannes-Schurig
Hannes-Schurig Aug 05, 2010 at 09:32:41 (UTC)
Goto Top
Member: DerWoWusste
DerWoWusste Aug 24, 2010 at 19:17:49 (UTC)
Goto Top
Stell Deine Skripte aus, ich bring die zum Laufen.
Bei mir laufen Startskripte (.bat) wie erwartet.
Member: Hannes-Schurig
Hannes-Schurig Aug 24, 2010 at 20:26:22 (UTC)
Goto Top
Zitat von @DerWoWusste:
Stell Deine Skripte aus, ich bring die zum Laufen.

Wie jetzt?
Member: DerWoWusste
DerWoWusste Aug 24, 2010 at 20:35:12 (UTC)
Goto Top
Ich wüsste nicht, warum sich manche Skripte anders verhalten sollen als meine Batch und bitte Dich deshalb, eins zu posten.
Member: Hannes-Schurig
Hannes-Schurig Aug 25, 2010 at 07:10:18 (UTC)
Goto Top
Achso okay. Also wie ich hier http://social.technet.microsoft.com/Forums/de-DE/gruppenrichtliniende/t ...
geschrieben habe waren zeitweise 4 Testscripts in der GPO beim Start eingestellt.
Die 2 simpelsten davon hier:

test.bat:
@echo off
echo Schon gewusst:
echo Überlegungen können Änderungen hervorrufen und übermäßige Ölmassen vorantreiben... 
pause

echo Schon gewusst:
echo šberlegungen k”nnen Žnderungen hervorrufen und berm„áige ™lmassen vorantreiben...
pause

echo š ™ Ž ”„ á
pause
*hust* war mal nen Umlaute-test...

test2.bat:
pause
Verzweifelt, huh?

Dann steht da noch meine runbat.wsf (Script von hier http://technet.microsoft.com/en-us/library/cc766208(WS.10).aspx#section ... leicht angepasst) mit einer .bat als Parameter und eine .exe drin. Die .exe wird auf den Windows 7 Clients ausgeführt, die .bat und die .wsf nicht. Wobei, die .wsf wird wahrscheinlich ausgeführt aber da sie ja nur den Job hat, die Parameter-.bat auszuführen, die ja nicht ausgeführt wird, sieht man ihre Wirkung nur nicht.

Soweit.
Member: DerWoWusste
DerWoWusste Aug 25, 2010 at 09:59:45 (UTC)
Goto Top
Na super... und ich muss jetzt zum Test alles sichtbar ablaufen lassen? Hast Du keine .bat, die auch etwas tut?
Member: Hannes-Schurig
Hannes-Schurig Aug 25, 2010 at 10:12:46 (UTC)
Goto Top
Na mensch ob die Batches nun was ausgeben oder mit md test nen Ordner erstellen, bei mir funktioniert weder das eine, noch das andere.
Aber hier mal die Batch für die .NET Framework 4 Installation, die ich ja jetzt dank WSUS Server nicht mehr brauche:

@echo off
REM Testweise Ordner erstellen, ob das Script überhaupt ausgeführt wird
mkdir %localappdata%\batchstart\

:: install-dotnet4.bat
:: Installiert .NET Framework 4 mit ifexist Kontrolle
:: Hannes Schurig	- 28.07.2010
:: Letzte Änderung	- Version 1.0 am 28.07.2010
:: Version 1.0 		- Fertig

set checkdir="%localappdata%\dotnet4\"  

if not exist %checkdir% goto install
goto :eof

:install
\\***\***\***\Software\GPOs_Install\dotNET_Framework\40\dotNetFx40_Full_x86_x64.exe /passive /log "\\***\***\***\Software\GPOs_Install\dotNET_Framework\logs\%computername%" /norestart /showfinalerror  
mkdir %checkdir%

Wie gehabt: Windows XP Clients funktionieren, installieren .NET 4 und beim nächsten Start wird das übersprungen. Windows 7 macht gar nichts. Zugriffsrechte stimmen, Pfade sind ja die selben, manuell auf dem W7 ausgeführt funktioniert alles fein, in der Ereignisanzeige steht nichts, .exe Dateien werden ausgeführt, usw.

Guten Hunger, Zeit für Mittagessen face-smile
Member: DerWoWusste
DerWoWusste Aug 25, 2010 at 10:58:02 (UTC)
Goto Top
Ich brauche eine Batch, die bei Dir nicht läuft und sie soll etwas tun, damit ich meine Policies (Sichtbarkeit, usw.) nicht umstellen muss. nun nennst Du eine, für die ich erstmal das dotNetFx40_Full_x86_x64.exe besorgen muss - naja face-smile
Du sagst aber, es ginge auch keine md-irgendwas-Batch, was bei mir geht. Dann nimm bitte eine md c:\test Batch und prüfe per procmon (Bootlogging aktivieren), was da vor sich geht. Speicherort meiner Skripte ist stets in der Policy selbst.
Member: Hannes-Schurig
Hannes-Schurig Aug 25, 2010 at 11:36:06 (UTC)
Goto Top
Speicherort meiner Scripte ist ein Netzlaufwerk, könnte das der Fehler sein? Funktioniert bei dir ein Startscript vom Netzlaufwerk?
Der DC gehört leider dem Rechenzentrum der Humboldt Uni da haben wir keinen vollen Zugriff drauf, also direkt in Policy wird schwer.
Den Test mit procmon mach ich gleich.

Der Ordner Test wurde erstellt O.o
Okay was geht denn nun ab...
2 Scripte laufen auf einmal.
Ich teste jetzt noch das .NET 4 Script und wenn das auf einmal aufn Win7 Client läuft fress ich nen Besen. Tagelang hab ich Troubleshooting betrieben, Alternativlösungen und Workarounds gesucht. Wieviel Zeit da in * ging und jetzt läuft es auf einmal?
Läuft... kein Plan warum aber ist mir jetzt auch egal.

Funktioniert. Vielen Dank DerWoWusste! Wo auch immer du mir geholfen hast, 1A Tipp ;)

Aber man sieht leider nichts, obwohl sichtbar ausführen in der GPO aktiviert ist. Also ein Fenster mit einer Ausgabe und pause wird nicht angezeigt. Ordner werden erstellt, Programme installiert aber obwohl mehrere pauses die Batch säumen bekomm ich kein Fenster zu sehen.

Gibts da noch nen Trick?
Member: DerWoWusste
DerWoWusste Aug 26, 2010 at 10:22:35 (UTC)
Goto Top
Also... erstmal schön, dass es klappt.
Von einem Netzlaufwerk aus? Du meinst Du hast in der GPO x:\ verwendet und nicht etwa \\server\Freigabe? Nicht Dein Ernst, oder? Natürlich ist x:\ verkehrt, denn x: ist dem PC zu dem Zeitpunkt noch nicht bekannt.
Wegen Sichtbarkeit: Du musst angeben, welche GPOs Du zum Sichtbarmachen genutzt hast.
Member: Hannes-Schurig
Hannes-Schurig Aug 26, 2010 at 13:15:44 (UTC)
Goto Top
Natürlich hab ich \\server\ verwendet und nicht den Laufwerksbuchstaben ^^

"Du musst angeben, welche GPOs Du zum Sichtbarmachen genutzt hast"
Versteh ich jetzt nicht ganz, sorry.
Aktiviert ist: Computereinstellungen/Administrative Vorlagen/System/Scripts/Startskripts sichtbar ausführen
und damit müsste man die Scripts doch sehen, wenn diese echo und pause beinhalten (oder einfach nur lange genug auf sind).
Member: DerWoWusste
DerWoWusste Aug 26, 2010 at 14:21:11 (UTC)
Goto Top
"Du musst angeben, welche GPOs Du zum Sichtbarmachen genutzt hast"
Versteh ich jetzt nicht ganz, sorry.

Ich hatte befürchtet, dass Du evtl. die Anmeldeskripte und nicht die Startskripte sichtbar gemacht hast.

nee, dann weiß ich auch nicht. Hab eben getestet, ob bei mir Startup Skripte sichtbar ablaufen - tun sie zumindest auf meinem 2008er Server nicht, obwohl die Policy gesetzt ist und zieht - warum auch immer.
Member: Hannes-Schurig
Hannes-Schurig Aug 26, 2010 at 14:32:00 (UTC)
Goto Top
Okay gut (oder auch nicht). Wichtig ist es ja nicht unbedingt, hat mich nur gewundert.
Dann nochmal danke, das dürfte es jetzt gewesen sein face-smile