[VBS] Maak scheduled task aan via script

Pagina: 1
Acties:

  • DyStiC
  • Registratie: November 2000
  • Niet online

DyStiC

'Atta way, baby!

Topicstarter
Ik zal eerst het probleem uitleggen aangezien ik misschien wel helemaal op het verkeerde pad zit, en het misschien wel veel makkelijker anders kan.
We gebruiken op het netwerk een applicatie welke maar door een beperkt aantal gebruikers tegelijk kan worden gebruikt (ivm licenties). Het komt nu helaas erg vaak voor dat gebruikers de applicatie s'ochtend openen en deze vervolgens de hele dag (nutteloos) open laten staan.

Dus ik ben gaan zoeken naar een oplossing en kwam tot Windows eigen Taakplanner, met behulp van onderstaand commando lukt het enigsinds:
code:
1
schtasks /create /sc "bij niet-actief" /i 30 /tn "sluit program" /tr "taskkill /f /im program.exe"


Hier word dan vervolgens nog om een wachtwoord gevraagd (van de op dat moment ingelogde user) om de taak uit te voeren. Hier wil ik de gebruikers eigenlijk niet mee lastig vallen.

Het liefst zou ik de taak via het VBS logon script willen toevoegen, ik heb daar onderstaande code van Microsoft Technet voor gevonden. Helaas is de info erover beperkt, googlen leverde niets op. Dit is namelijk alleen voor het aanmaken van een task op een bepaald tijdstip/dag en niet bij-niet-actief.


VBScript:
1
2
3
4
5
6
7
8
9
10
11
strComputer = "."
Set objService = GetObject("winmgmts:\\" & strComputer)
Set objNewJob = objService.Get("Win32_ScheduledJob")
errJobCreated = objNewJob.Create _
 ("Monitor.exe", "********123000.000000-420", _
 True , 1 OR 4 OR 16, , , JobID)
If Err.Number = 0 Then
 Wscript.Echo "New Job ID: " & JobID
Else
 Wscript.Echo "An error occurred: " & errJobCreated
End If


Iemand enig idee hoe ik bovenstaande kan ombouw naar een "bij-niet-aktief" scheduled job. Of wellicht een hele andere oplossing hoe ik mij probleem kan oplossen?

  • alt-92
  • Registratie: Maart 2000
  • Niet online

alt-92

ye olde farte

.....en hoe wil je constateren dat $prog niet actief is?

ik heb een 864 GB floppydrive! - certified prutser - the social skills of a thermonuclear device


  • DyStiC
  • Registratie: November 2000
  • Niet online

DyStiC

'Atta way, baby!

Topicstarter
BackSlash32 schreef op vrijdag 13 oktober 2006 @ 22:21:
.....en hoe wil je constateren dat $prog niet actief is?
Ja stond niet helemaal duidelijk in m'n eerste post, maar doelde meer op als de pc zelf idle is, dus niet persé de applicatie zelf. En dat werkt prima via de task scheduler.

  • alt-92
  • Registratie: Maart 2000
  • Niet online

alt-92

ye olde farte

Ok, stellen we de hint anders :)

Hoe ga je (via je script) constateren dat de PC aan het idlen is?
Check op screensaver bijvoorbeeld?

[ Voor 3% gewijzigd door alt-92 op 13-10-2006 22:41 ]

ik heb een 864 GB floppydrive! - certified prutser - the social skills of a thermonuclear device


  • DyStiC
  • Registratie: November 2000
  • Niet online

DyStiC

'Atta way, baby!

Topicstarter
BackSlash32 schreef op vrijdag 13 oktober 2006 @ 22:41:
Ok, stellen we de hint anders :)

Hoe ga je (via je script) constateren dat de PC aan het idlen is?
Check op screensaver bijvoorbeeld?
Dat idle constateren hoeft m'n script niet te doen, dat is namelijk een standaard functie binnen de task scheduler. Deze kun je een taak laten uitvoeren indien de pc een x aantal minuten inactief is (dus geen interactie met gberuiker is). Het gaat me er dus puur om deze task d.m.v. een script netjes te deployen. Hoop dat het zo duidelijk(er) is ;)

  • DyStiC
  • Registratie: November 2000
  • Niet online

DyStiC

'Atta way, baby!

Topicstarter
*kickje*
Pagina: 1