Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

Windows 2000 führt netzwerkbasiertes Startupskript nicht aus

Frage Microsoft

Mitglied: cle1986

cle1986 (Level 1) - Jetzt verbinden

01.06.2007, aktualisiert 18.10.2012, 5174 Aufrufe, 13 Kommentare

Hallo!

Ich habe folgendes Problem:

Ich habe ein kleines Heimnetzwerk mit 4 Workstations (unter Windows 2000) und einen Server der mit Debian Linux 3.2 und Samba 3.0.20 aufgesetzt ist. Der Server ist ein PDC und die WKS hängen alle in einer Domäne xy.

Da ich nun regelmäßig Updates und Software auf den WKs installieren möchte und nicht bei jeden Rechner immer seperat installieren.
Ich ging dies zuerst über eine cmd Datei (die über Netzpfade die Datein direkt aufruft und installiert [unattened] natürlich) an, dich ich auf den lokalen Rechner in der Gruppenrichtlinie einstellte. Meine Überlegung soweit. Das Skript sollte beim Herunterfahren ausgeführt werden, dann kann man sich den Neustart sparen.
Leider musste ich feststellen, dass dies nicht möglich ist, da da die Netzverbindung schon vorher getrennt wird.
Dann habe ich im Internet gelesen mit einem Startupskript müsste es gehen. Also habe ich das Skript vom Shutdown Ordner auf den lokalen Rechnern in den Startup Ordner und bootete den ersten Rechner neu. Doch das Skript wurde wieder nicht ausgeführt, da die Installation des Updates länger dauert.
Nun möchte ich gerne wissen, was ich in meinem Skript falsch gemacht habe:

Das Startup Skript am lokalen Rechner:

xy.cmd enthält nur \\sbauer01\tools\update.cmd

und ruft somit das unten stehende Skript auf:

update.cmd:

SKRIPT:

if exist \\sbauer01\tools\logs$\Windows2000-KB905749-x86-DEU\%computername% goto done1
echo ok > \\sbauer01\tools\logs$\Windows2000-KB905749-x86-DEU\%computername%
START /WAIT \\sbauer01\tools\tools\updates\Windows2000-KB905749-x86-DEU.EXE /quiet /norestart /log:\\sbauer01\tools\log$\Windows2000-KB905749-x86-DEU.txt

:done1

if exist \\sbauer01\tools\logs$\Windows2000-KB899591-x86-DEU\%computername% goto done2
echo ok > \\sbauer01\tools\logs$\Windows2000-KB899591-x86-DEU\%computername%
START /WAIT \\sbauer01\tools\tools\updates\Windows2000-KB899591-x86-DEU.EXE /quiet /norestart /log:\\sbauer01\tools\log$\Windows2000-KB899591-x86-DEU.txt
:done2

if exist \\sbauer01\tools\logs$\Windows2000-KB902400-x86-DEU\%computername% goto done3
echo ok > \\sbauer01\tools\logs$\Windows2000-KB902400-x86-DEU\%computername%
START /WAIT \\sbauer01\tools\tools\updates\Windows2000-KB902400-x86-DEU.EXE /quiet /norestart /log:\\sbauer01\tools\log$\Windows2000-KB899591-x86-DEU.txt

:done3

if exist \\sbauer01\tools\logs$\dotnet2fx\%computername% goto done4
echo ok > \\sbauer01\tools\logs$\dotnet2fx\%computername%
START /WAIT \\sbauer01\tools\dotnetfx.exe /Q:A /C:"INSTALL.EXE /Q"

:done4

if exist \\sbauer01\tools\logs$\postupdate\%computername% goto done5
echo ok > \\sbauer01\tools\logs$\postupdate\%computername%
\\sbauer01\tools\tools\updates\W2KpostSP4update\W2KpostSP4updater.exe -admin -silent -noreboot

:done5

if exist \\sbauer01\tools\logs$\spam\%computername% goto done6
echo ok > \\sbauer01\tools\logs$\spam\%computername%
\\sbauer01\tools\tools\updates\python-2.5.1.msi /quiet /norestart
\\sbauer01\tools\tools\updates\ActivePython-2.5.1.1-win32-x86.msi /quiet
\\sbauer01\tools\tools\updates\spambayes-1.1a3.exe /silent

:done6
c:\winnt\system32\shutdown.exe /L /R /Y /T:09

SKRIPT ENDE

Damit das Skript nur einmal ausgeführt, wird in einem Ordner eine Datei des PC Namen abgespeichert und bei jeden abruf des Skripts überprüft. Ist der Name vorhanden wird dieses Update nicht mehr installiert und somit übersprungen.

Warum funktioniert das Skript, wenn ich es im Windows normal aufrufen, aber nicht als Startup Skript?
In Samba ist der Ordner Tools auf guest = yes gesetzt, somit sollte jeder zugreifen können. Oder kann es da noch ein anderes Rechte Problem von der Windows/Samba Seite her geben?
Mitglied: onegasee59
01.06.2007 um 19:18 Uhr
Hallo,
ich sehe jetzt zwar nicht wo der Fehler ist [1], aber warum verteilst Du die Windows Updates nicht mit dem WSUS?
http://www.gruppenrichtlinien.de/HowTo/WSUS_Server.htm
Wäre das nicht einfacher?

[1]
Du hast das Script in ...\GroupPolicy\Machine\Scripts\Startup und von da startet es nicht automatisch?
Aber wenn Du es dort manuell aufrufst funktioniert es?
So richtig verstanden? Wenn ja, dann:
Start-Ausführen --> gpedit.msc --> Windows Einstellungen --> Scripts --> Doppelklick auf Starten - Was wird dir angezeigt?

gruß
Bitte warten ..
Mitglied: cle1986
01.06.2007 um 22:20 Uhr
Ich kann mit WSUS nicht verteilen, weil wie ich oben beschrieben haben keinen Windows Server habe, sondern einen Linuxserver mit Samba!
Unter Linux laufen keine Windows Programme.

Ja ich habe das Skript in ...\GroupPolicy\Machine\Scripts\Startup drinnen und beim Starten steht zwar kurz Skripts werden ausgeführt, aber es wurde nichts installiert.

Start-Ausführen --> gpedit.msc --> Windows Einstellungen --> Scripts --> Doppelklick auf Starten

sehe ich jenes Skript das mir das Skripts am Server aufruft, nämlich mein Skript namens startup.cmd.
Dieses Skript ruft dann das am Server liegende Skript auf.
Bitte warten ..
Mitglied: onegasee59
01.06.2007 um 22:39 Uhr
Hallo
Nicht-WIN-Server habsch übersehen
Schreib mal alle "echo ok >" um in "echo ok ^>" ---> vergiss es, du wolltest das sicher ins Log haben

gruß
Bitte warten ..
Mitglied: cle1986
01.06.2007 um 22:46 Uhr
Ich weiss nicht ob das Problem nicht anderer Herkunft ist.
Habe gerade folgendes auspropiert und zwar hab ich in dem Skript das das Updateskript aufruft folgendes eingetragen:

START /WAIT \\sbauer01\tools\update.cmd

Dann bekomme ich beim Starten folgende Meldung:

Die Datei "\\sbauer01\tools\update.cmd oder eine ihrer Komponenten wurden nicht gefunden. Stellen Sie sicher, dass die Pfad- und Dateiangaben stimmen und ob erforderliche Bibliotheken verfügbar sind.

Irgendwie kann er nicht zugreifen.

Mein Verdacht, der sich im übrigen nicht bestätigte war, dass Windows vielleicht mit versucht mit dem lokalen Admin account auf das update skript zuzugreifen. Daher habe ich den lokalen Administrator so modifiziert, dass er nun meinem root user entspricht.

Funktioniert leider auch nicht.
Bitte warten ..
Mitglied: onegasee59
01.06.2007 um 22:57 Uhr
Hallo,
START /WAIT \\sbauer01\tools\update.cmd
naja dann hängt die cmd ja in der Warteschleife.
Wie sieht es mit "call \\sbauer01\tools\update.cmd" aus?

gruß
Bitte warten ..
Mitglied: cle1986
01.06.2007 um 23:10 Uhr
Nein auch call führt nicht zum gewünschen Ergebnis.

Kann man das Startup Skript sichtbar ablaufen lassen?
So eine Art debugging meine ich. Geht sowas?
Bitte warten ..
Mitglied: onegasee59
01.06.2007, aktualisiert 18.10.2012
Hallo,
So eine Art debugging meine ich. Geht sowas?
Mir nicht bekannt
ich behelfe mir immer mit log files > log.txt oder dem Pause-Befehl

Aber warte mal bis die Batchexperten das hier lesen.

Prüf mal ob "if /i exist..." weiterhilft.
01.
/i  
02.
Erzwingt bei Zeichenfolgenvergleichen das Ignorieren der Groß-/Kleinschreibung. Sie können /i bei der Form Zeichenfolge1==Zeichenfolge2 von if verwenden. Diese Vergleiche sind generisch: falls sowohl Zeichenfolge1 als auch Zeichenfolge2 ausschließlich aus numerischen Zeichen bestehen, werden die Zeichenfolgen in Zahlen konvertiert, und es wird ein numerischer Vergleich ausgeführt. 
Enthält %computername% eventuell Leerzeichen? dann dafür sorgen das die Pfade immer in "..." stehen

Ansonsten hat "Biber" hier was zu debugging geschrieben http://www.administrator.de/forum/batch-datei-zeigt-sich-ganz-kurz-und- ...

gruß
Bitte warten ..
Mitglied: cle1986
04.06.2007 um 10:02 Uhr
/i brachte mich nicht weiter.

Und auch bei dem von "Biber geposteten debugging habe ich auch nichts gefunden, was mir weiter helfen könnte.

Kann mir sonst noch jemand weiter helfen bei meinem Problem?
Bitte warten ..
Mitglied: Biber
04.06.2007 um 10:29 Uhr
Moin cle1986,

ein nahe liegender Verdacht wäre doch, dass schlicht und einfach für den User, mit dem Du den Task ausführen lasst, das Laufwerk "\\sbauer01\tools\logs$\" nicht sichtbar ist.
Wenn alle "if exist \\sbauer01\tools\logs$\..."-Prüfungen ins Leere laufen, hast Du doch mit Deinem Schnipsel genau diesen Effekt.

Also wäre doch das Zweitnaheliegenste, zusätzlich mal ein paar Zeilen für den Not-exist-Fall einzubauen.
01.
 if not exist \\sbauer01\tools\logs$ ( echo \\sbauer01\tools\logs$ jibbet nicht) && pause 
02.
-oder- 
03.
 if not exist \\sbauer01\tools\logs$ echo %date% %time% Server nicht gefunden>> lokalesLW\Logs\Update.err
Mach mal so etwas in der Art, dann ist es wenigstens verifiziert, dass es ein Rechteproblem ist.

Gruß
Biber
Bitte warten ..
Mitglied: cle1986
04.06.2007 um 21:32 Uhr
Also die Ausgabe im Logfile lautet:

Mo 04.06.2007 21:24:08,19 Server nicht gefunden

Habe das ausprobiert:

if not exist \\sbauer01\tools\logs$ echo %date% %time% Server nicht gefunden>> lokalesLW\Logs\Update.err
Bitte warten ..
Mitglied: Biber
04.06.2007 um 21:44 Uhr
Na ja, cle1986,

dann habe ich jetzt eine gute und eine gutere Nachricht für Dich:

  • Der Batch wird aufgerufen und funktioniert
  • Du weißt jetzt, dass der Batch-ausführende User keine Lese- (oder Seh-)Rechte auf das Share hat.

Also hast Du, wie immer im Leben, zwei Möglichkeiten:
  • entweder Du lässt den Task von einem User ausführen, der die Rechte hat
  • oder Du gibst dem User, der den Task ausführt (vermutlich "SYSTEM") die Rechte auf den Share.

Grüße
Biber
Bitte warten ..
Mitglied: cle1986
04.06.2007 um 22:06 Uhr
Da bleibt trotzdem noch etwas offen.

Zu 1) Wie kann ich den Task vom User root ausführen lassen?
oder falls 2 besser sei
Zu 2) Wie kann ich dem "User" System das Recht für das Share geben?
der lokale Administrator hat das Recht.
Bitte warten ..
Mitglied: cle1986
06.06.2007 um 10:48 Uhr
Das Skript läuft. Updates werden installiert
Bitte warten ..
Neuester Wissensbeitrag
Microsoft

Lizenzwiederverkauf und seine Tücken

(5)

Erfahrungsbericht von DerWoWusste zum Thema Microsoft ...

Ähnliche Inhalte
Microsoft
gelöst Windows 2000 SP4 vs XP ohne Service Pack für Labor PC (11)

Frage von matze0004 zum Thema Microsoft ...

Windows 10
gelöst Windows 10 Privatsphäre (3)

Frage von Patrick-IT zum Thema Windows 10 ...

Erkennung und -Abwehr
Lokale Virenprüfstation : Windows 10: Ändern von Einstellungen verhinden (5)

Frage von TryAndSolve zum Thema Erkennung und -Abwehr ...

Windows Server
Laufwerke werden nicht immer gemappt (Windows) (7)

Frage von YotYot zum Thema Windows Server ...

Heiß diskutierte Inhalte
LAN, WAN, Wireless
FritzBox, zwei Server, verschiedene Netze (18)

Frage von DavidGl zum Thema LAN, WAN, Wireless ...

Windows Netzwerk
Windows 10 RDP geht nicht (16)

Frage von Fiasko zum Thema Windows Netzwerk ...

Windows Server
Outlook Verbindungsversuch mit Exchange (15)

Frage von xbast1x zum Thema Windows Server ...