Jump to content

Task wird nicht ausgeführt wenn kein Benutzer angemeldet ist!


Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Empfohlene Beiträge

Hallo zusammen!

 

Ich habe ein kleines Problem...

 

Ich habe mir ein kleines vbScript zusammengestellt, welches remote tasks erstellt die dann einen Befehl zur angegebenen Zeit ausführt.

 

Jetzt habe ich jedoch das Problem, dass der Task nicht ausgeführt wird,

wenn kein Benutzer angemeldet ist.

 

An was könnte das liegen da der Task unter NT ATHORITÄT\SYSTEM läuft

und der Haken bei "nur ausführen wenn angemeldet" fehlt.

 

Danke für jede Hilfe :D !

 

Hier noch der Code falls Ihn jemanden interessiert...

 

 

Dim objController, objRemote, objFSO
Dim objComplist, objLogwrite, strComputer 
Dim strTime, strCmd
'==============================================================================
Do until strTime <> ""
strTime = CStr (InputBox ("Bitte geben sie im Format <HHMMSS> an, " _
& vbCrLf & _
"wann der Service ausgeführt werden soll. " & vbCrLf & _
vbCrLf & _
"e.g. '123000' startet den Service um 12:30 " & vbCrLf & _
"ist die eingegebene Zeit schon verstrichen, " & vbCrLf & _
"wird der Service am nächsten Tag um diese Zeit ausgeführt."))
If strTime = "" then
strMsgBox = CInt (MsgBox ("Möchten Sie das Script verlassen?", _
			vbYesNo + vbDefaultButton2, "remote execute script"))
End If
If strMsgBox = 6 Then
	WScript.Quit (0)
Else
	WScript.Echo "Sie haben " & strTime & " eingegeben."
End If
Loop

Do until strCmd <> ""
strCmd = CStr (InputBox ("Bitte geben Sie den " & vbCrLf & _
"auszuführenden Befehl an."))
If strCmd = "" then
strMsgBox = CInt (MsgBox ("Möchten Sie das Script verlassen?", _
			vbYesNo + vbDefaultButton2, "remote execute script"))
End If
If strMsgBox = 6 Then
	WScript.Quit (0)
Else
	WScript.Echo "Sie haben " & strCmd & " eingegeben."
End If

Loop


Const ForReading = 1

Set objController = CreateObject("WshController")
Set objFSO = CreateObject("Scripting.FileSystemObject")


'Lesen der zu verarbeitenden Computer
Set objComplist = objFSO.OpenTextFile("computers.txt", ForReading)
'Erstellen des Logfiles
Set objLogwrite = objFSO.CreateTextFile("Log.txt", True)


Do until objComplist.AtEndOfStream
'Das Script wird verteilt
On Error Resume Next
strComputer = objComplist.ReadLine
objLogwrite.WriteLine strComputer & ": Verarbeitung beginnt... " & Now
Set objLocator = CreateObject("WbemScripting.SWbemLocator")
Set objService = objLocator.ConnectServer(strComputer, "root\cimv2")
'Set oLastError = CreateObject("WbemScripting.SWbemLastError")
If Err <> 0 Then 
objLogwrite.WriteLine strComputer & ": Fehler! " & Err.Description
	Exit Do
End If

Set objNewJob = objService.Get("Win32_ScheduledJob")
errJobCreated = objNewJob.Create _
   	(strCmd, "********" & strTime & ".000000+120", _
       , , , , JobID) 
Select Case errJobCreated
	Case "0" objLogwrite.WriteLine strComputer & ": Der Task wurde erfolgreich erstellt"
	Case "1" objLogwrite.WriteLine strComputer & ": Der Task konnte nicht erstellt werden!"
	Case "2" objLogwrite.WriteLine strComputer & ": Der Benutzer hat nicht genügend Rechte!"
	Case "8" objLogwrite.WriteLine strComputer & ": Interaktiver Prozess."
	Case "9" objLogwrite.WriteLine strComputer & ": Das Serviceskript konnte nicht gefunden werden" 
	Case "21" objLogwrite.WriteLine strComputer & ": Falsche Parameter übergeben!"
	Case "22" objLogwrite.WriteLine strComputer & ": Das Benutzerkonto unter dem der Service läuft, " & vbCrLf & _
"hat nicht genügend Rechte oder ist ungültig!"
	'Case Else objLogwrite.WriteLine strComputer & ": Fehler bei der Task erstellung!"
End Select
objLogwrite.WriteLine strComputer & ": Verarbeitung abgeschlossen! " & Now

Loop


objComplist.Close
objLogwrite.Close
WScript.Echo "Script ausgeführt, für Details lesen " & vbCrLf & _
"Sie bitte das Logfile."

Link zu diesem Kommentar
Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Schreibe einen Kommentar

Du kannst jetzt antworten und Dich später registrieren. Falls Du bereits ein Mitglied bist, logge Dich jetzt ein.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung jetzt entfernen

  Only 75 emoji are allowed.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor-Fenster leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

×
×
  • Neu erstellen...