TuxFan 10 Geschrieben 31. März 2005 Melden Teilen Geschrieben 31. März 2005 Hallo zusammen, ich bin der Neue & komme jetzt öfters ;) Kurz vielleicht zu mir ... ich bin überwiegend LX-Admin, muss aber jetzt auf ADS-Basis verschiedene Dinge umsetzen. Da bin ich hier wohl richtig, um mir ein paar Infos zu holen... *g Glückwunsch, Ihr habt ein wirklich tolles "Info & Austausch-Board" geschaffen ! Mein Problem ist folgendes : Ich muss via ADS auf den Clients Dateien löschen & danach austauschen, wobei der "normale User" auf die entsprechende Ressource keinen Zugriff hat. Somit scheidet das login-Script wohl aus, denn nach dem Einloggen (Kontext des Users aktiv) bekomme ich den berühmten "Zugriff verweigert". Das scheitert immer wieder daran, dass ich kein "Tool" finde, womit ich via cmd den Admin-Account scharf schalten kann. "runas" z.B. ist ganz toll, will aber ja auch eine interaktive Eingabe, um das Passwort abzufragen ... So kam ich auf die Möglichkeit, die Verteilung dieser elementar wichtigen Datei per ADS verteilen zu lassen ( GPO & vb-Script)... Dumm nur, dass ich keinen Plan von vbs habe... Also, meine Umgebung ist im "relevanten" Domain-Umfeld Server 2K und "clientseitig" homogen 2k & XP. Meine Frage ist nun, ob irgendjemand ein vbs-Script hat, womit ich zunächst 2 bestimmte Dateien in einem Ordner löschen kann, um danach eine neue "rein zu kopieren" ... ??? Vielleicht trivial für jeden hier ... wäre ja schön, wenn mir einer bei meiner "Bastelei" mit "Create File System Object" usw. helfen könnte ;) es grüsst der Tux Zitieren Link zu diesem Kommentar
heikar 10 Geschrieben 31. März 2005 Melden Teilen Geschrieben 31. März 2005 Hi! Wenn du schon mit GPO arbeitest, kanst du ein maschinenebezogenes Logon-Script einfügen. Das läuft normalerweise als System-User, da es vor der Useranmeldung läuft. Ich glaub aber man kann nur CMDs bzw BAT-Files starten. Ich hab' ein Logoff-Script laufen, welches mir den PC zusammenräumt (tmp-files löscht usw.). lg Charly Zitieren Link zu diesem Kommentar
TuxFan 10 Geschrieben 1. April 2005 Autor Melden Teilen Geschrieben 1. April 2005 Hallo, genau das hatte ich vor, weil eine computerbasierende Policy meines Wissens im Admin-Kontext läuft. Allerdings wusste ich nicht, dass dort auch solch "banale" Scripte, wie .cmd oder .bat ausgeführt werden... Sollte es so einfach sein, dieses einfach per Stapelverarbeitung und "copy" zu erledigen ? :D Ich werds wohl mal testen. Gruss Tux Zitieren Link zu diesem Kommentar
mbrock 10 Geschrieben 1. April 2005 Melden Teilen Geschrieben 1. April 2005 Hi, guckst du hier: http://www.microsoft.com/technet/scriptcenter/default.mspx Da gibst zum einen jede Menge know how über VBS und insbesondere jede Menge Beispielscripts aus allen Lebenslagen eines Admins. Da ist sicherlich auch was für das löschen und kopieren von Dateien dabei ;) Zitieren Link zu diesem Kommentar
TuxFan 10 Geschrieben 6. April 2005 Autor Melden Teilen Geschrieben 6. April 2005 Hallo, ich habe mir dann das scripting mal näher angesehen, aber so richtig will das noch nicht. Folgenden Code habe ich mir mal zusammengewürfelt : ****************************************************** OPTION EXPLICIT Set WSH_Shell = WScript.CreateObject("WScript.Shell") set fs = CreateObject("Scripting.FileSystemObject") Dim WSH_Shell ' Variable für das neue WScript-Objekt Dim TargetDir 'C:\Programme\1\2\3 Dim TargetDir1 'C:\1\2\3 TargetDir = ("C:\Programme\1\2\3") TargetDir1 = ("C:\1\2\3") WSH_Shell.Run ("del %TargetDir%\DATEINAME.* /y"), 0+48, 1 WSH_Shell.Run ("del %TargetDir%\DATEINAME1.* /y"), 0+48, 1 WSH_Shell.Run ("del %TargetDir1%\DATEINAME.* /y"), 0+48, 1 WSH_Shell.Run ("del %TargetDir1%\DATEINAME1.* /y"), 0+48, 1 WSH_Shell.Run ("xcopy \\SERVER\Share$\1\2\zu_kopierende_Datei.* %TargetDir% /y"), 0+48, 1 WSH_Shell.Run ("xcopy \\SERVER\Share$\1\2\zu_kopierende_Datei.* %TargetDir1% /y"), 0+48, 1 WScript.Quit(1) **************************************************** Das ganze als vbs gespeichert und via Computer-Policy auf eine OU gelegt. In diese OU nun einen Rechner geschoben und ewig neu gestartet. Ich sehe auch vor der Anmeldung, dass Startscripts abgearbeitet werden, allerdings ohne Fehler ... und ohne Erfolg. Keine Datei reinkopiert. Wo ist der Denkfehler ? Ich meine, wie soll ich sonst Files austauschen, in deren Verzeichnisressourcen der User in seinem Kontext keine Berechtigung hat. Für weitere Ideen zur schnellen Lösungsfindung wäre ich sehr dankbar. Gruss Tux Zitieren Link zu diesem Kommentar
mbrock 10 Geschrieben 7. April 2005 Melden Teilen Geschrieben 7. April 2005 Hi, Ansatzweise gar nicht so schlecht ;) Set WSH_Shell = WScript.CreateObject("WScript.Shell") set fs = CreateObject("Scripting.FileSystemObject") Dim WSH_Shell ' Variable für das neue WScript-Objekt Variable WSH_Shell erst verwenden, dann mit DIM definieren? Wird so nicht funktionieren. fs ist nicht dimensioniert, das wird Probleme mit OPTION EXPLICIT geben. WSH_Shell.Run ("del %TargetDir%\DATEINAME.* /y"), 0+48, 1WSH_Shell.Run ("del %TargetDir%\DATEINAME1.* /y"), 0+48, 1 WSH_Shell.Run ("del %TargetDir1%\DATEINAME.* /y"), 0+48, 1 WSH_Shell.Run ("del %TargetDir1%\DATEINAME1.* /y"), 0+48, 1 Geht auch mit VBS: fs.DeleteFile (TargetDir & "\DATEINAME.*") Sonst brauchst du den 'Set fs' nicht WSH_Shell.Run ("xcopy \\SERVER\Share$\1\2\zu_kopierende_Datei.* %TargetDir% /y"), 0+48, 1WSH_Shell.Run ("xcopy \\SERVER\Share$\1\2\zu_kopierende_Datei.* %TargetDir1% /y"), 0+48, 1 WScript.Quit(1) Da gibts auch den 'fs.CopyFile' für... Wscript.Quit(1) ??? Was soll das (1)? Besteht in diesem Kontext überhaupt das Recht auf die Netzressource für den Copy zuzugreifen? Ich vermute mal, dass die Dateien nicht einmal gelöscht wurden. Das hängt dann damit zusammen, dass Scripting Host bei OPTION EXPLICIT sehr empfindlich auf Fehler reagiert und das Script gar nicht ausführt (s.o.) Besteht die Möglichkeit dem Anwender die notwendigen Rechte zu geben? Dann könntest du das mit dem UserLogonScript erschlagen. Vielleicht hats ja geholfen ;) Zitieren Link zu diesem Kommentar
PartyArty 10 Geschrieben 7. April 2005 Melden Teilen Geschrieben 7. April 2005 ... "runas" z.B. ist ganz toll, will aber ja auch eine interaktive Eingabe, um das Passwort abzufragen ... Hi, das Problem mit der Eingabe kann mit einem kleinen Tool namens Sanur gelöst werden ;) Grüße P.A. Zitieren Link zu diesem Kommentar
heikar 10 Geschrieben 7. April 2005 Melden Teilen Geschrieben 7. April 2005 Hi TuxFan! Ich hab' in unserer Firma folgendes CMD-File Laufen: for /f "tokens=1*" %%i in ('date /t') do set datum=%%i for /f %%i in ('time /t') do set zeit=%%i echo %datum%/%zeit%,LOGOFF>>c:\windows\%computername%.csv del /f /s /q c:\windows\temp\*.* Du kannst genauso eine xcopy einfügen. Ich hab' das Script über GPO eine Computerbezogene Richtlinie in "Computer Configuration/Windows Settings/Scripts (Startup/Shutdown)/Shutdown" eingefügt. Zu beachten ist: dieses Script hat keinen Netzwerkzugriff, da es als System-User ausgeführt wird. Fallst du einen Netezwerkzugriff brauchst, musst du in mit "net use..." und Passwort zuvor herstellen. Anstatt runas verwende ich tqcrunas lg Charly Zitieren Link zu diesem Kommentar
TuxFan 10 Geschrieben 7. April 2005 Autor Melden Teilen Geschrieben 7. April 2005 @all Zunächst einmal "Vielen Dank" für Eure Anregungen und Hilfen. "Unterm Strich" halte ich die vbs-Lösung via GPO für die 'Elegantere', weil wohl mächtiger. Mit fso.CopyFile, fso.DeleteFile, fso.FolderExists usw. kann man ja schon echt 'ne Menge machen. Anfangs erst tricky ( ), aber man beisst sich ja rein... war beim bash-scripting ja früher auch net anders und manchmal brauchts halt nur hier und da einer Anregung :-) In meiner Testumgebung läuft das jetzt. Produktiv werde ich das nach diesem WE wissen. Ich hätte jetzt noch ungefähr 100.000 Fragen dazu, aber die stelle ich besser mal nicht alle auf einmal :D Doch, wenigstens eine ... kann es sein, dass wenn ich via GPO-Startscript (computerbezogen) Probleme mit "unc-Pfaden" bekommen kann ? ... Gruss MM01 Zitieren Link zu diesem Kommentar
Empfohlene Beiträge
Schreibe einen Kommentar
Du kannst jetzt antworten und Dich später registrieren. Falls Du bereits ein Mitglied bist, logge Dich jetzt ein.