cmdr_paule Geschrieben 26. März 2007 Teilen Geschrieben 26. März 2007 Hallo Leute, ich habe ein kleines Problem mit einem Robocopy Script, das beim Hochfahren auf einem Rechner laufen soll. Situation: Ich habe ein simples Kopierskript für robocopy geschrieben, das ein bestimmten Ordner samt Inhalt und einen Link kopieren soll. Dazu habe ich eine Netzwerkfreigabe eingerichtet, auf der folgende Komponenten liegen: - robocopy.exe - der zu kopierende Ordner - der zu kopierende Link Nun habe ich ein GPO erstellt und unter Windows Settings > Scripts > Startup das entsprechende Skript per UNC Pfad angegeben (also: \\server\freigabe\skript.cmd). Leider funktioniert das Ganze so nicht! Hat hier jemand ne Idee? Wenn ich das Skript auf der Oberfläche eines angemeldeten Benutzers ausführe, läuft es problemlos. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
mamamia Geschrieben 26. März 2007 Teilen Geschrieben 26. März 2007 Wie siehts aus mit Startskripts erzwingen aus? Was sagt die Ereignisanzeige aufm Client?? Ach ich sehs grad.. Wenn du ein Skript in die AD einbindest, dann musst du den Pfad der Gruppenrichtlinie nehmen. \\localhost\SYSVOL\Domäne\scripts\ID\User\StartUp So müsste der sein, wenn mich nicht alles täuscht. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
cmdr_paule Geschrieben 27. März 2007 Autor Teilen Geschrieben 27. März 2007 Was meinst du denn mit "Startscripts" erzwingen? Das Ereignislog auf dem Client ist völlig sauber. Im Anwendungslog kein Hinweis auf ein Startskript... Wenn ich das Skript aber in das GPO einbinden will muss der Pfad doch so lauten, oder? \\<Domäne>\SysVol\Domäne\Policies\{GUID}\Machine\Scripts\Startup Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
mamamia Geschrieben 27. März 2007 Teilen Geschrieben 27. März 2007 Was meinst du denn mit "Startscripts" erzwingen? Das Ereignislog auf dem Client ist völlig sauber. Im Anwendungslog kein Hinweis auf ein Startskript... Wenn ich das Skript aber in das GPO einbinden will muss der Pfad doch so lauten, oder? \\<Domäne>\SysVol\Domäne\Policies\{GUID}\Machine\Scripts\Startup Wenn dann \\<Domäne>\SysVol\Domäne\Policies\{GUID}\User\Scripts\Startup weil, das Script ja nach dem Anmelden der User gestartet werden soll und nicht beim hochfahren oder?? Anmeldescripte erzwingen kannste in den Gruppenrichtlinien festlegen.. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
cmdr_paule Geschrieben 27. März 2007 Autor Teilen Geschrieben 27. März 2007 Wenn dann \\<Domäne>\SysVol\Domäne\Policies\{GUID}\User\Scripts\Startup weil, das Script ja nach dem Anmelden der User gestartet werden soll und nicht beim hochfahren oder?? Nein 'Machine' ist schon richtig, denn es soll User-unabhängig laufen, da es sich um ein Programm handelt, dass alle User verwenden können! Is eben ne komische Java Anwendung, die du per Copy and Paste verteilen kannst. Ich habe aber keine Lust an die einzelnen Rechner dran zu gehen, deshalb such ich ne automatisierte Lösung. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
mamamia Geschrieben 27. März 2007 Teilen Geschrieben 27. März 2007 Wäre doch aber kein Problem, da sich das Script ja eh bei jedem User ausführen lässt. Oben haste geschrieben: Nun habe ich ein GPO erstellt und unter Windows Settings > Scripts > Startup das entsprechende Skript per UNC Pfad angegeben (also: \\server\freigabe\skript.cmd). Wenn du in den GPO´s bist und auf Startscripts gehts (unabhängig von User oder Machine) und im Dialogfenster auf Bearbeiten klickst, dann schlägt der dir doch einen Ordner vor, genau den musste nehmen. Da muss dein Script rein. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
cmdr_paule Geschrieben 27. März 2007 Autor Teilen Geschrieben 27. März 2007 Wenn du in den GPO´s bist und auf Startscripts gehts (unabhängig von User oder Machine) und im Dialogfenster auf Bearbeiten klickst, dann schlägt der dir doch einen Ordner vor, genau den musste nehmen. Da muss dein Script rein. Hmm ich kann dir gerade leider nicht folgen! Wenn ich ein GPO in der GPMC aufrufe und editiere, muss ich mich doch zwangsweise für den Pfad des Users oder der Maschine entscheiden!? (siehe Bild):confused: Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
mamamia Geschrieben 27. März 2007 Teilen Geschrieben 27. März 2007 Ja, dass ist ja richtig.. Aber bei der Auswahl später sind die Fenster ja die gleichen, die Speicherpfade aber anders. Ich hoffe in meinem angehangen Bild siehste was ich mein. Der Pfad der da sichtbar ist, da muss das Script rein, sonst geht das nicht. Du hast wenn es noch so ist einen anderen Pfad genommen. Beim Starten vom System steht dann da, "Anmeldescripte werden ausgeführt" oder so. Dann gehts. Klar jetzt? Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
cmdr_paule Geschrieben 27. März 2007 Autor Teilen Geschrieben 27. März 2007 Ok ich habe jetzt den Pfad verwendet, der in deinem Screenshot zu sehen war. Habe das Skript da rein kopiert und ich sehe beim Start des Rechners auch "Startskripte werden ausgeführt". Doch leider alles ohne Erfolg. Das Skript scheint nicht mal im Entferntesten anzulaufen, denn im Skript lasse ich den robocopy auch noch loggen und diese Logfiles werden gar nicht angefasst. Hier mein Skript, vielleicht läuft hier was schief: [FONT="Courier New"]net use r: "\\Server\Freigabe$\Ordner" r:\robocopy.exe "\\Server\Freigabe$\Ordner\Programmname" "%ProgramFiles%\Programmname" /E /R:5 /W:5 /V /TBD /NFL /NDL /Z /LOG+:r:\Logs\CopyToClients.log r:\robocopy.exe "\\Server\Freigabe$\Ordner\Programmname.lnk" "%ALLUSERSPROFILE%\Desktop" /E /R:5 /W:5 /V /TBD /NFL /NDL /Z /LOG+:r:\Logs\CopyToClients2.log net use r: /delete[/FONT] Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
mamamia Geschrieben 27. März 2007 Teilen Geschrieben 27. März 2007 Okay, auch kein Problem. Wenn du mit net use arbeitest, dann musst du auf die Userkonfiguration umstellen. Soll heissen, beim Starten kann noch kein Laufwerk gemapped werden, erst beim anmelden des Users. ODER du stellst dein Script auf UNC Pfade um (wobei ich nicht weiss ob das bei Robocopy geht). Aber anscheinend geht es nicht mit RC, da du sonst das Laufwerk nicht mappen würdest?! Isnt it!? Probier mal aus. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
cmdr_paule Geschrieben 27. März 2007 Autor Teilen Geschrieben 27. März 2007 Ok ich habe mir soetwas schon gedacht, dass der net use nicht zieht vor der Anmeldung. Der Robocopy selbst kann als Quell- und Zielangaben schon mit UNC Pfaden arbeiten, aber die Ausführung der robocopy.exe funzt in der batch nicht über UNC, dehalb wollte ich ein Laufwerk mappen. Soweit so gut, wenn ich auf User umstelle, habe ich 2 Fragen: 1. gibt es ne Möglichkeit, dass das Skript nur einmal ausgeführt wird ? 2. wird das Skript dann mit Systemrechten ausgeführt oder mit denen des angemeldeten Users? Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
mamamia Geschrieben 27. März 2007 Teilen Geschrieben 27. März 2007 1. gibt es ne Möglichkeit, dass das Skript nur einmal ausgeführt wird ? 2. wird das Skript dann mit Systemrechten ausgeführt oder mit denen des angemeldeten Users? 1. Noe, müsstest du über eine Abfrage machen Anmerkung: würde bei der Machine aber auch nicht gehen, die Abfrage müsstest du so oder so machen. Kannst ja Abfragen ob es den Ordner Lokal schon gibt, wenn nein dann kopieren, wenn ja nix machen. Wenn du z.B. nen neuen Rechner ins Netz hängst bekommt der dann auch die Files gleich rüberkopiert. 2. Rechte des Users Anmerkung: sollte aber reichen, weil du willst ja eh nur kopieren und die NTFS Rechte reichen ja dafür Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
cmdr_paule Geschrieben 27. März 2007 Autor Teilen Geschrieben 27. März 2007 2. Rechte des Users Anmerkung: sollte aber reichen, weil du willst ja eh nur kopieren und die NTFS Rechte reichen ja dafür Naja die Rechte reichen nicht, denn der zu kopierende Link soll unter All Users auf den Desktop! Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
mamamia Geschrieben 27. März 2007 Teilen Geschrieben 27. März 2007 Achso.. Hmm bei UNC bekommste dann wieder Probleme in der Batch. Gut, dann nehmen wir WSH. Wichtig dafür das hier: wsh run In deinem Fall also so: ---- schnipp ---- WshShell.Run ("\\Server\Freigabe$\Ordner\robocopy.exe "\\Server\Freigabe$\Ordner\Programmname" "%ProgramFiles%\Programmname" /E /R:5 /W:5 /V /TBD /NFL /NDL /Z /LOG+:r:\Logs\CopyToClients.log", ,True) WshShell.Run ("\\Server\Freigabe$\Ordner\robocopy.exe "\\Server\Freigabe$\Ordner\Programmname.lnk" "%ALLUSERSPROFILE%\Desktop" /E /R:5 /W: /V /TBD /NFL /NDL /Z /LOG+:r:\Logs\CopyToClients2.log", , True) WScript.Quit ---- schnapp ---- Hoffe du bist nen bisschen Fit in WSH Probier einfach mal aus. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
cmdr_paule Geschrieben 27. März 2007 Autor Teilen Geschrieben 27. März 2007 Puh ich geh bald kaputt...:upps Also ich habe jetzt ein VB Script geschrieben (und da die RUN Methode des WSH verwendet), das wunderbar funzt, wenn ich es über den Windows Explorer per Doppelklick ausführe. Wenn ich dieses Skript aber dem Rechner per GPO zuweise passiert wiedermal gar nix. Aber jetzt habe ich noch eine Idee, denn das Skript liest die Umgebungsvariablen %ProgramFiles% & %ALLUSERSPROFILE% aus und baut mir damit den Pfad im Run-Kommando zusammen. Geht das denn überhaupt? Sind diese Variablen schon vor der Anmeldung gesetzt? Vielleicht muss ich hier mit absoluten Pfadangaben arbeiten, was nicht so sehr schön wäre?!:confused: Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
mamamia Geschrieben 28. März 2007 Teilen Geschrieben 28. März 2007 Stimmt.. Die sind ja auch noch nicht gesetzt. Ja mach mal mit absoluten Pfaden, die Pfade die du Auslesen willst, sind doch eh fest und nicht variabel. Sollte also gehen. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
cmdr_paule Geschrieben 28. März 2007 Autor Teilen Geschrieben 28. März 2007 Also jetz bin ich so langsam mit meinem Latein am Ende!!! Selbst mit Angabe der festen Pfaden im Skript zieht es nicht. Ich glaube ich werde mir jetzt ein Robocopy Skript basteln und jeden Rechner einzeln angeben, auf den die Software soll (sind ja zum Glück nur 22). Dieses werde ich dann einmal laufen lassen und gut ist... Oder hat noch jemand eine Idee? Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
mamamia Geschrieben 28. März 2007 Teilen Geschrieben 28. März 2007 Dann pack dir doch mit WinInstallLE nen MSI Packet. Dann klappts auch mit der Nachbarin WinTotal - Software - WinInstall LE Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
cmdr_paule Geschrieben 29. März 2007 Autor Teilen Geschrieben 29. März 2007 Mit einem MSI Paket weiß ich nicht, denn ist ja keine Installation, sondern ein reiner Kopiervorgang! Ich habe mir ne Batch gebastelt, die ich jetzt einmal laufen lasse. Habe die entsprechenden Rechner direkt angegeben. Ist zwar nicht die schönste Lösung aber ich kann nicht noch mehr Zeit da rein stecken, denn der Kunde will mit dem Zeug arbeiten. Danke für deine Unterstützung! Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
mamamia Geschrieben 29. März 2007 Teilen Geschrieben 29. März 2007 Naja das Problem an der Sache ist ganze einfach. Du machst das jetzt mit der Hand. Geht! Wenn allerdings vom Kunden mal nen Rechner kaputt geht, fängste wieder von vorne an. Ändern sich mal Daten, die kopiert werden müssen auch. Mit dem MSI machste ja nur nen SnapShot. Soll heissen. Einmal vom Rechner vor dem kopiervorgang, dann kopierste und einmal danach. In die MSI kommen nur Dateien und Regeinträge die sich während dieser Zeit geändert haben. Quasi die kopierten Dateien. Nix mit Installation. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
cmdr_paule Geschrieben 29. März 2007 Autor Teilen Geschrieben 29. März 2007 Aha das mit dem Snapshot vor und nach einer Veränderung ist mir neu! Ich dachte immer ein MSI Paket ist immer eine Installation, und es wird ein Installtionsprogramm benötigt?! Ich glaube ich sollte mich wirklich mal tiefgründiger damit beschäftigen. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
mamamia Geschrieben 29. März 2007 Teilen Geschrieben 29. März 2007 Naja, das MSI iss dann deine Installationsroutine. Wird ja aber nur kopiert. Bzw dass, was man selber initiiert. Guck dir das mal genauer an. Mach damit sehr viel. Der Aufwand am Anfang iss nen bisschen höher, aber wennde was hast, was auf 200 Rechner muss, dann biste froh wenn du dann nix mehr machen musst.. Und nicht vergessen. TESTEN vorher Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
ingh Geschrieben 30. März 2007 Teilen Geschrieben 30. März 2007 Du versteifst duch darauf, das Script schon vor der Anmeldung des Benutzers per Machine-Policy auszuführen. Ist das denn so tatsächlich notwendig? Ich könnte mir gut vorstellen, dass es (Rechte-?)Probleme gibt, eben weil kein Benutzerkontext vorhanden ist... Würde es nicht zB reichen, die Robocopy-Anweisung(en) ins normale Domänen-Anmeldescript (oder in eine User-Policy) reinzunehmen? Oder (falls es tatsächlich nicht ohne Machine-Policy gehen sollte) gibt es eine andere Möglichkeit, die Dateien/Verknüpfungen an ihren Bestimmungsort zu bringen? Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
cmdr_paule Geschrieben 4. April 2007 Autor Teilen Geschrieben 4. April 2007 Du versteifst duch darauf, das Script schon vor der Anmeldung des Benutzers per Machine-Policy auszuführen. Ist das denn so tatsächlich notwendig? Ich könnte mir gut vorstellen, dass es (Rechte-?)Probleme gibt, eben weil kein Benutzerkontext vorhanden ist... Würde es nicht zB reichen, die Robocopy-Anweisung(en) ins normale Domänen-Anmeldescript (oder in eine User-Policy) reinzunehmen? Naja eigentlich ist es schon notwendig über Machine Policy zu gehen, da wie bereits erwähnt Links in das "All Users Profil" kopiert werden sollen! Dabei reichen eben die normalen Benutzerrechte, die per GPO oder Loginscript vorliegen würden nicht aus. Wenn etwas über Machine Policy gemacht wird, so werden doch Rechte des Systems angewendet und die sollten denke ich reichen! Oder (falls es tatsächlich nicht ohne Machine-Policy gehen sollte) gibt es eine andere Möglichkeit, die Dateien/Verknüpfungen an ihren Bestimmungsort zu bringen? Deshalb habe ich diesen Thread gestartet... Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.