Jump to content

notesuser3

Premium Member
  • Gesamte Inhalte

    332
  • Registriert seit

  • Letzter Besuch

Beiträge erstellt von notesuser3

  1. Damit funktioniert es:

     

    Dim fso

    Dim fs

    DIM f

    Set Fso = CreateObject("Scripting.FileSystemObject")

    Set f = fso.GetFolder("C:\Test")

    IF f.Files.Count <> 0 Then

    for each fs in f.Files

    fso.DeleteFile fs, true

    NEXT

    END IF

     

    Lege Dir ein Paar Dateien in einem Ordner C:\Test an .

     

    Und führe das Skript aus.

     

    Danach musst du die Codeteile nur noch in deinem Skript verbauen.

     

    Gruß

     

    Notesuser3

  2. Hab das jetzt noch so ausprobiert:

     

    Dim Path

    Dim Value

    Dim WshShell

    Dim FSO

     

    Set WshShell = CreateObject("Wscript.Shell")

     

    Path = "HKEY_CURRENT_USER\Software\Microsoft\Office\11.0\Outlook\Security\OutlookSecureTempFolder"

    Value = WshShell.RegRead(Path)

     

    Set FSO = CreateObject("Scripting.FileSystemObject")

    FSO.DeleteFolder (Value, true)

     

    die letzte Zeile darf keine Klammer enthalten (Beim Aufrufen einer Unterroutine dürfen keine Klammern verwendet werden).

    Also, Klammer weg - Ergebnis:

    Zeile 12 - Zeichen 1 - Der Pfad wurde nicht gefunden!

    ???

     

    Lasse Dir mal die Variable Value in einer MsgBox anzeigen. Was steht darin?

     

    Gruß

     

    Notesuser3

  3. Also Du kannst z.B. den Ordner durchlaufen und jede Datei in diesem Ordner löschen.

     

    Dim fso

    Dim fs

     

    Set Fso = CreateObject("Scripting.FileSystemObject")

    fso.GetFolder(value)

    IF fso.Files.Count <> 0 Then

    for each fs in fso.Files

    fso.DeleteFile(value, true)

    NEXT

    END IF

     

    So müsste der Code aussehen. Ich habe Ihn jetzt nicht getestet, aber es dürfte der richtig Ansatz sein.

     

     

    Gruß

     

    Notesuser3

  4. Set fso = nothing leert das FSO Objekt. Kann man auch weglassen. Bei längeren Programm kann es aber sinnvoll sein, insbesondere wenn man die Variable vielleicht in anderen Programmteilen wieder verwende möchte und eventuell dann ein anderer Wert drin stehen soll. Ist so eine Angewohnheit aus Access-Zeiten.

     

    Mit fso.DeleteFile DateiName (bei Dir Value?) kann auch eine bestimmte Datei gelöscht werden.

     

    Sicherlich geht es auch mit dem Batch. Aber so wie ich Dich verstanden habe wolltest Du doch eine Lösung für VB-Skript. Außderdem geht es schneller und er Code ist kürzer.

     

    Gruß

     

    Notesuser3

  5. Die Batch-Datei löscht sich selbst ;) (Die letzten 3 Zeilen, welche ich zunächst auskommentierte zeigt, was in diese Batch-Datei geschrieben wird)

     

    Danke für deine Infos!

     

    Hier noch das komplette Script so wie ich es bisher habe - funktionsfertig:

    ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,

    Dim Path

    Dim Value

    Dim WshShell

    Dim loeschen

     

    Set WshShell = CreateObject("Wscript.Shell")

     

    'Aus Registry auslesen, wo die Temporären Dateien liegen

    Path = "HKEY_CURRENT_USER\Software\Microsoft\Office\11.0\Outlook\Security\OutlookSecureTempFolder"

    Value = WshShell.RegRead(Path)

     

    'Variable mit Batch-Befehlszeile gefüllt (wird später in eine Batch-Datei geschrieben)

    loeschen = "del """ + Value + "*.*"" /q"

     

    'Erstellung der Batch-Datei, welche die Temporären Dateien löscht

    Set objFSO = CreateObject("Scripting.FileSystemObject")

    Set objFile = objFSO.CreateTextFile("c:\temp.bat")

     

    'Füllen der Batch-Datei

    objFile.WriteLine "@echo off"

    objFile.WriteLine "echo Achtung, die Dateien aus folgendem Verzeichnis werden geloescht:"

    objFile.WriteLine "echo."

    objFile.WriteLine "echo " + Value

    objFile.WriteLine "echo."

    objFile.WriteLine "echo Abbrechen mit CTRL+C - weiter mit Enter"

    objFile.WriteLine "echo."

    objFile.WriteLine "Pause"

    objFile.WriteLine "echo."

    objFile.WriteLine "echo Bitte warten sie, bis die Dateien geloescht wurden!"

    objFile.WriteLine(loeschen)

    objFile.WriteLine "echo."

    objFile.WriteLine "echo Fertig!"

    objFile.WriteLine "echo."

    objFile.WriteLine "pause"

    objFile.WriteLine "del c:\temp.bat"

    objFile.Close

     

    'Erstellte Batch-Datei ausführen

    WshShell.Run "c:\temp.bat"

    ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,

     

    Vielleicht bringt es ja jemand Anderen auch weiter!

     

    Noch zu bemerken:

    Die Batch-Datei muss nach dem Füllen wieder geschlossen werden, da sie sonst nicht ausgeführt werden kann!

     

    Statt mit der Bat-Datei müsste es aber auch wie folgt funktionieren:

     

    DIM fso

     

    Set fso = CreateObject("Scripting.FileSystemObject")

    fso.DeleteFolder(value, true)

     

    Set fso = nothing

     

     

    Gruß

     

    Notesuser3

  6. Hast Du gar keinen Ansatz für das Löschen unter VB-Skript geschrieben, oder fehlt ein Teil des Codes?

     

    Um eine Datei zu löschen brauchst Du folgendes:

     

    Set fso = CreateObject("Scripting.FileSystemObject")

     

    fso.DeleteFile dateiName, erzwingen

     

    DateiName ist klar, wobei natürlich der Pfad mit angegeben werden muss, den liest Du ja aus der Registry aus. Erzwingen ist ein Optionaler Parameter, entweder True oder False.

     

    Damit sollte es funktionieren.

     

    Falls Du noch fragen hast, melde Dich.

     

    Gruß

     

    NotesUser3

  7. Um z.B. die Bat auszuführen hilft Dir folgendes:

     

    DIM intReturnCode

    DIM ProgrammPath

    ProgrammPath = "C:\Ordern"

    programmFile = "löschen.bat"

     

    Set WshShell = WScript.CreateObject("Wscript.Shell")

    intReturnCode = WshShell.Run(programmPath & programmFile)

     

    Die Syntax für WshShell.Run lautet normal:

     

    rückgabeWert = WshShell.Run(Befehl, fensterTyp, warten)

     

    Genaueres findest unter:

    http://msdn.microsoft.com/library/default.asp?url=/library/en-us/script56/html/6f28899c-d653-4555-8a59-49640b0e32ea.asp

     

    Gruß

    Notesuser3

  8. Hallo Nicole,

     

    ich finde es toll das Du als alleinige Autorin, solche Werke schreibst. Aber nach dem hier im Forum eine kleine Kritik bezüglich der Tiefe deiner Werke besteht, wäre es doch eine Überlegung die Erfahrungen im Board zu sammeln und zu kanalisieren. Insbesondere wenn sogar jemand eigene CBTs ("Manzi") erstellen möchte wäre es doch sinnvoll sich zu zusammen zu schließen. Auch wenn ich mir es lobe vieles als Freeware zu bekommen, so arbeite ich selbst in der IT-Branche und wir erstellen Individualsoftware, die nicht ganz billig ist. Daher bin ich auch bereit für eine gute Anwendung einen gerechten Preis zu zahlen.

     

    Mit freundlichen Grüßen

     

    Notesuser3

  9. Hallo Leute,

     

    ein Kollege kam zu mir und berichtet, dass er seinen USB-Stick mit NTFS formatiert hat und seine Daten zwischen Arbeitstelle und Wohung damit transportiert. Von Zeit zu Zeit kommt es vor, dass sein System auf dem Weg zwischen den Stationen irgendwelche Informationen verliert, so dass er zunächst keine Zugriff auf die Dateien auf dem Stick hat. Er muss dann erst den Besitz der Dateien übernehmen bevor er wieder Zugriff auf die Dateien hat. Hat jemand schon mal ähnliche Probleme gehabt und hat vielleicht eine Lösung für das Problem?

     

    Gruß

     

    Notesuser3

  10. Hallo Boardadmins, Moderatoren und alle anderen die hier was zu sagen haben,

     

    ich wollte nochmal den Vorschlag vorbringen, einen eigenen Bereich fürs Skripting aufzumachen. Da ich selbst mal wieder mehr Skripte schreiben muss und gelegenlich auf die Hilfe hier im Board angewiesen bin, stelle ich mir jedesmal die Frage in welchem Bereich des Forums ist die Frage am besten aufgehoben. Andererseits kann ich ich die Boardssuche verwenden, allerdings muss ich dann immer über das ganze Board gehen. Es wäre nett, wenn Ihr den Vorschlag mal überdenken könntet.

     

    Ein Anfang wäre vielleicht ein Voting aufzumachen um festzustellen, ob noch mehr User ein Interesse an so einem Bereich haben.

     

    Gruß

     

    Notesuser3

  11. Also mit dem MS-Script hat es bis jetzt noch nicht funktioniert, aber mit dem Skript von blub, welches er mir vor wenigen Tagen in einem anderem Threat zur Verfügung gestellt hat, hat es jetzt funktioniert.

     

    Hier der Link zum Original:

     

    http://www.mcseboard.de/windows-forum-lan-wan-32/computer-per-skript-domaene-hinzufuegen-95456.html?highlight=AD+Skript#post582726

     

    Danke blub.

     

    Gruß

     

    Notesuser3

    Danke blub

  12. Hi an Alle,

     

    ich habe versuche gerade mit folgendem Beispiel Skript von Microsoft MSDN einen Client in die Domäne aufzunehmen, leider klappt es nicht. Ich bekomme zwar einen Return Code 0 der eigentlich für Success steht. Ich starte dann den Computer neu, aber leider ist weder ein Konto in der Domäne angelegt, noch kann ich mich in der Domäne anmelden. (Klar ohne Konto geht es nicht.)

     

    Vielleicht hat jemand damit Erfahrung und kann mir sagen woran es liegt? Ich finde leider keinen Fehler.

     

    Umgebung: WinXP-Clients, Windows2000 Domäne.

     

    Const JOIN_DOMAIN = 1

    Const ACCT_CREATE = 2

    Const ACCT_DELETE = 4

    Const WIN9X_UPGRADE = 16

    Const DOMAIN_JOIN_IF_JOINED = 32

    Const JOIN_UNSECURE = 64

    Const MACHINE_PASSWORD_PASSED = 128

    Const DEFERRED_SPN_SET = 256

    Const INSTALL_INVOCATION = 262144

    strDomain = "firma.de"

    strPassword = "password"

    strUser = "benutzername"

    Set objNetwork = CreateObject("WScript.Network")

    strComputer = objNetwork.ComputerName

    Set objComputer = _

    GetObject("winmgmts:{impersonationLevel=Impersonate}!\\" & _

    strComputer & "\root\cimv2:Win32_ComputerSystem.Name='" _

    & strComputer & "'")

    ReturnValue = objComputer.JoinDomainOrWorkGroup(strDomain, _

    strPassword, _

    strDomain & "\" & strUser, _

    NULL, _

    JOIN_DOMAIN + ACCT_CREATE)

     

     

    Gruß

    Notesuser3

  13. Hi,

     

    also wir haben folgende Lösung für solche Probleme:

     

    Mit einem Batch und dem standardmäßigen NTBackup haben wir eine OneClickBackup Lösung entwickelt. Dabei wird zunächst mit Hilfe von NTBackup eine Auswahl festgelegt. Bei der Ausführung des Batch wird auf die Auswahl.bks zugeriffen und die Dateien lokal gesichert. Wie bei jeder Sicherung könnte man noch zwischen Vollsicherung, Inkrement und Differenziell unterscheiden.

     

    Nach dem die Sicherung abgeschlossen ist, kann einfach per Copy und Paste die Datei per VPN über das Netz übertragen werden. Diese etwas umständliche Lösung lässt sich aber auch ganz leicht automatisieren. Insbesondere wenn man für den Datentransfer das FTP-Protokoll nutzen kann, lässt sich die Geschwindigkeit verbessern.

     

    Hierzu müsste per Skript die Datei zunächst mit Winzip komprimiert werden und dann sollte das Skript mit Hilfe eines FTP-Programms die Daten vom Notebook auf den Server übertragen.

     

     

    Gruß

     

    Notesuser3

  14. Ok, ich habe mir die Skripte kurz angesehen, das Problem ist die gehen entweder davon aus, dass ein Computer bereits in der Domäne ist und damit Zugriff auf das LDAP hat, oder sie fügen den Computer der Domäne mit einem Create hinzu, bzw. die Option ist auf verwenden des bereits existierenden Computerkonto eingestellt. Ich möchte aber, dass geprüft wird ob das Konto bereits existiert und wenn ja soll er es nehmen, falls nein soll ein neues angelegt werden.

     

    Gruß

     

    Notesuser3

×
×
  • Neu erstellen...