Neue Version eingestellt. 
Eine kurze Erläuterung befindet sich im ersten Beitrag.
Ein manuelles Aktualisieren kann durchgeführt werden, indem am Ende des Scripts folgendes ergänzt wird:
Code: Alles auswählen
if CheckMP=1 then
      'Task zum Aufwachen anlegen, wenn noch nicht vorhanden
      if not fso.fileexists("C:\WINDOWS\Tasks\MP_Aufnahmen.job") then
      intReturn = WshShell.Run("SCHTASKS /Create /ru "&lcase(net.computerName)&"\"&PLUser&" /RP "&chr(34)&PLPW&chr(34)&" /SC täglich /TN MP_Aufnahmen /TR C:\WINDOWS\system32\tasklist.exe /ST 00:00:00" , 1, true)
      msgbox "Der Task wurde neu angelegt. Bitte setzte bei dem automatischen Task 'MP_Aufnahmen' händisch die Option 'Computer zum Ausführen des Tasks reaktivieren'.",0,"Achtung"
      end if
      'Datenbankabfrage
      on error resume next 'Bei Fehler Script fortsetzen
      db1.Open("Driver={SQL Server};SERVER="&SQLServer&";Database="&DWH&";User ID="&SQLUser&";Password="&SQLPW)
      CheckFehler
      set rs1=db1.execute("SELECT min(Starttime) as start from " & _
                          "(     select dateadd(mi,(preRecordInterval+"&Zeitdiff&")*-1,Starttime) as starttime, dateadd(mi,PostRecordInterval+"&Zeitdiff&",Endtime) as endtime " & _
                          "      from schedule " & _
                          "      where scheduleType=0 " & _
                          "    union " & _
                          "      select dateadd(mi,datepart(mi,starttime)-(preRecordInterval) -"&Zeitdiff&" ,dateadd(hh,datepart(hh,starttime),heute)) as startime, " & _
                          "             dateadd(mi,datepart(mi,endtime)+(PostRecordInterval)+"&Zeitdiff&" ,dateadd(hh,datepart(hh,endtime),heute)) as endtime " & _
                          "      from schedule " & _
                          "               inner join (SELECT DATEADD(dd, 0, DATEDIFF(dd, 0, GETDATE())) as heute,DATEADD(dd, -1, DATEDIFF(dd, 0, GETDATE())) as gestern, DATEADD(dd, +1, DATEDIFF(dd, 0, GETDATE())) as morgen  ) as UA " & _
                          "               on 1=1 " & _
                          "      where scheduleType in(1,3,4) or (scheduleType=2 and datepart(dw,heute)=datepart(dw,starttime)) or (scheduleType=6 and datepart(dw,heute) in (1,2,3,4,5)) or (scheduleType=5 and datepart(dw,heute) in (6,7)) " & _
                          "    union " & _
                          "      select dateadd(mi,datepart(mi,starttime)-(preRecordInterval) -"&Zeitdiff&" ,dateadd(hh,datepart(hh,starttime),morgen)) as startime, " & _
                          "             dateadd(mi,datepart(mi,endtime)+(PostRecordInterval)+"&Zeitdiff&" ,dateadd(hh,datepart(hh,endtime),morgen)) as endtime " & _
                          "      from schedule " & _
                          "               inner join (SELECT DATEADD(dd, 0, DATEDIFF(dd, 0, GETDATE())) as heute,DATEADD(dd, -1, DATEDIFF(dd, 0, GETDATE())) as gestern, DATEADD(dd, +1, DATEDIFF(dd, 0, GETDATE())) as morgen  ) as UA " & _
                          "               on 1=1 " & _
                          "      where scheduleType in(1,3,4) or (scheduleType=2 and datepart(dw,morgen)=datepart(dw,starttime)) or (scheduleType=6 and datepart(dw,morgen) in (1,2,3,4,5)) or (scheduleType=5 and datepart(dw,morgen) in (6,7)) " & _
                          "    union " & _
                          "      select dateadd(mi,datepart(mi,starttime)-(preRecordInterval) -"&Zeitdiff&" ,dateadd(hh,datepart(hh,starttime),gestern)) as startime, " & _
                          "             dateadd(mi,datepart(mi,endtime)+(PostRecordInterval)+"&Zeitdiff&" ,dateadd(hh,datepart(hh,endtime),gestern)) as endtime " & _
                          "      from schedule " & _
                          "               inner join (SELECT DATEADD(dd, 0, DATEDIFF(dd, 0, GETDATE())) as heute,DATEADD(dd, -1, DATEDIFF(dd, 0, GETDATE())) as gestern, DATEADD(dd, +1, DATEDIFF(dd, 0, GETDATE())) as morgen  ) as UA " & _
                          "               on 1=1 " & _
                          "      where scheduleType in(1,3,4) or (scheduleType=2 and datepart(dw,gestern)=datepart(dw,starttime)) or (scheduleType=6 and datepart(dw,gestern) in (1,2,3,4,5)) or (scheduleType=5 and datepart(dw,gestern) in (6,7)) " & _
                          ") as ua " & _
                          "where endTime>current_timestamp")
      if err.number=0 then
          'Nur wenn kein Fehler aufgetreten ist, normales vorgehen
          if isdate(rs1("Start")) then 'Wenn Aufnahmen programmiert sind oder aktuelle eine läuft...
             if rs1("Start")<now() then
               'Es läuft gerade eine Aufnahme
               aktiv=aktiv+1
                  if "A"&WshShell.RegRead("HKCU\SOFTWARE\AxoNet Software GmbH\LightsOut\MP_Aufnahme")<>"A"&"01.01.2020" then
                     Logdatei "Set Taskplaner:  01.01.2020"
                     intReturn = WshShell.Run("SCHTASKS /change /ru "&lcase(net.computerName)&"\"&PLUser&" /RP "&chr(34)&PLPW&chr(34)&" /TN MP_Aufnahmen /ST 00:00 /SD 01/01/2020" , 1, true)
                     WshShell.RegWrite "HKCU\SOFTWARE\AxoNet Software GmbH\LightsOut\MP_Aufnahme","01.01.2020","REG_EXPAND_SZ"
                  else
                     Logdatei "Taskplaner = 01.01.2020"
                  end if
             else
               'Es ist eine Aufnahme geplant, ggf Starttask anlegen
                'wenn Task nicht schon angelegt wurde, anlegen
                  if "A"&WshShell.RegRead("HKCU\SOFTWARE\AxoNet Software GmbH\LightsOut\MP_Aufnahme")<>"A"&rs1("Start") then
                     Logdatei "Set Taskplaner: "&rs1("Start")
                     intReturn = WshShell.Run("SCHTASKS /change /ru "&lcase(net.computerName)&"\"&PLUser&" /RP "&chr(34)&PLPW&chr(34)&" /TN MP_Aufnahmen /ST "&right(rs1("Start"),8)&" /SD "&replace(left(rs1("Start"),10),".","/") , 1, true)
                     WshShell.RegWrite "HKCU\SOFTWARE\AxoNet Software GmbH\LightsOut\MP_Aufnahme",rs1("Start"),"REG_EXPAND_SZ"
                  else
                     Logdatei "Taskplaner = "&rs1("Start")
                  end if
             end if
          end if
      else  ' Fehlermeldung loggen, kein Standby
      CheckFehler
      aktiv=aktiv+1
      end if
      db1.close
      'Fehlerprüfung wieder aktivieren
      on error goto 0
end if
die neue Version wird dein Anmeldeproblem an sich nicht lösen. Das Script läuft allerdings weiter.
Wenn die Anmeldeprobleme nur zeitweise bestehen, dann sollte es damit funktionieren.