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

Geschrieben

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."

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

Erstelle ein Benutzerkonto oder melde dich an, um zu kommentieren

Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können

Benutzerkonto erstellen

Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!

Neues Benutzerkonto erstellen

Anmelden

Du hast bereits ein Benutzerkonto? Melde dich hier an.

Jetzt anmelden
×
×
  • Neu erstellen...