2009-05-05 5 views
-1

Ich habe ein kleines Problem mit einem einfachen VbScript. Das Skript muss nacheinander 2 Aktionen ausführen.Problem mit 2 Befehl in 1 Vbs

Option Explicit 

Dim WshShell 
Dim Yesterday 
Dim resultat 
Dim commande 
Dim Jour 

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

Yesterday = DateAdd("d", -2, Date()) 
resultat = "00001" 
resultat = resultat & Right(Year(Yesterday), 2) 
Jour = (Datepart("y", Yesterday)) 

If ((Jour < 100) and (Jour > 9)) Then resultat = resultat & "0" & Jour 

If (Jour < 10) Then resultat = resultat & "00" & Jour 

If (Jour >= 100) Then resultat = resultat & Jour 

resultat = """(&(objectClass=eTGlobalUser)(eTSuspended=0)(eTRoleDN=*)(eTUpdateDate>=" & resultat & "))""" 

commande = GetScriptPath() & "PharosGDH.exe /ldapfilter:" & resultat & " /conso" 
WshShell.Run commande, 5, true 
commande2 = GetScriptPath() & "PharosGDH.exe /all /auditPharos 
WshShell.Run commande2, 5, true 
WScript.Quit 1 

Function GetScriptPath() 
    GetScriptPath = Left(WScript.ScriptFullName, InStrRev(WScript.ScriptFullName, "\")) 
End Function 

Kann mir jemand bitte sagen was falsch ist?

Sorry die Deklaration fehlte auf der Kopie/Vergangenheit, Und die Windows-Juste still still, danach sehe ich, dass das Ergebnis nicht hat es sein soll!

+1

Können Sie uns sagen, was falsch ist? Erhalten Sie einen Fehler? Scheitert es still? Läuft die erste Aktion aber die zweite nicht, läuft die zweite Aktion, aber die erste nicht. Mehr Informationen bitte. –

+1

Leider können wir Ihnen nur bei der Behebung helfen, aber Sie müssen uns selbst sagen, was falsch ist. Mit anderen Worten, warum denken Sie, dass etwas nicht stimmt? Tut es nicht, was du dir erhofft hast? Stürzt es ab? Führt es zu falschen Ergebnissen? Wir brauchen etwas, um weiterzumachen. –

+0

Ist nicht jour Französisch für Tag? Warum speichern Sie das Jahr darin? – paxdiablo

Antwort

1

Ist dies Ihr tatsächlicher Code? Es gibt mindestens zwei Syntaxfehler drin:

Erste Syntaxfehler:

commande2 = GetScriptPath() & "PharosGDH.exe /all /auditPharos 

Es gibt doppelte Anführungszeichen am Ende der Zeile fehlt:

commande2 = GetScriptPath() & "PharosGDH.exe /all /auditPharos" 

Zweite Syntaxfehler:

Dim resultat 
Dim commande 
Dim Jour 

Die Variable "commande2" wird verwendet, aber nicht deklariert. Verwendung:

Dim resultat 
Dim commande 
Dim commande2 
Dim Jour 

Wenn dies Ihr Problem nicht beheben, wie die anderen gesagt haben, bitte sagen Sie uns, was das Problem ist: Fehlermeldung? Falsches Verhalten?

Zweiter Versuch

Vielleicht die Befehle vor der Ausführung ihnen verwendeten Anzeige der Lage sein zu überprüfen, ob sie die richtigen Inhalte enthalten:

commande = GetScriptPath() & "PharosGDH.exe /ldapfilter:" & resultat & " /conso" 
WshShell.Popup commande 
WshShell.Run commande1, 5, true 
commande2 = GetScriptPath() & "PharosGDH.exe /all /auditPharos" 
WshShell.Popup commande 
WshShell.Run commande2, 5, true 
WScript.Quit 1