Black Friday = Pricewatch Bekijk onze selectie van de beste Black Friday-deals en voorkom een miskoop.

[TASK] - Programma in task scheduler niet op achtergrond *

Pagina: 1
Acties:

  • burrug
  • Registratie: April 2005
  • Laatst online: 14-10-2024
Hallo,

Ik heb zojuist een programmaatje geschreven in VB (.exe) welke de computers van onze werknemers automatisch afsluit na 17.00 uur. Dit gebeurt dmv een interface'je welke de melding geeft dat er binnen 5 minuten afgesloten zal worden en dat onopgeslagen werk opgeslagen moet worden. Ook kunnen de gebruikers dit annuleren in geval van overwerken.

Nu heb ik dit middels een scheduled task in werking gesteld, zodat het script aangaat wanneer het 17.00 uur wordt. Nu heb ik deze task uitvoerend staan als DOMAIN\Admin. Dit werkt prima onder DOMAIN\Admin, maar wanneer een andere gebruiker aangemeld is en het script runt, is de interface (waarin staat vermeld dat de computer binnen 5min wordt afgesloten en dat de gebruiker kan annuleren) niet zichtbaar. Dit geldt hetzelfde voor als ik de taak run als lokale admin en als andere gebruiker.

Wanneer de taak gerund wordt als de gebruiker die op dat moment is aangemeld, wordt het programmaatje niet op de achtergrond uitgevoerd en is de interface dus wel zichtbaar.
Dit is natuurlijk niet de bedoeling, omdat werkstations verschillende gebruikers bedienen.

Ik kan de taak ook niet gebruikerloos of als %username% uitvoeren en ook wanneer ik het programma opstart dmv een .bat of .vbs bestand is er niets zichtbaar, behalve in de processen van het taakbeheer.

Hoe kan ik de taak nu met zekerheid níét op de achtergrond laten uitvoeren, zodat de interface wel zichtbaar is?

Tannoy Revolution R3 105W 6ohm, Marantz PM-7003 2x70W 8ohm, 2x JVG goud/goud, Marantz CD-6003, Marantz ST-6003


Verwijderd

burrug schreef op woensdag 09 juli 2008 @ 15:55:
Hoe kan ik de taak nu met zekerheid níét op de achtergrond laten uitvoeren, zodat de interface wel zichtbaar is?
Laten uitvoeren onder het gebruikers account ?.

Indien het perse onder ADMIN moet draaien is het verstandiger om een service te maken (die onder ADMIN draait), en een bijbehorende tray applicatie, die onder gebruikers account draait.

Communitie tussen die twee kan je dan regelen met bv. mailslots, tcp/ip.

  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
Verwijderd schreef op woensdag 09 juli 2008 @ 16:22:
[...]


Laten uitvoeren onder het gebruikers account ?.
burrug schreef op woensdag 09 juli 2008 @ 15:55:
Dit is natuurlijk niet de bedoeling, omdat werkstations verschillende gebruikers bedienen.
Dat is toch net de essentie van de post :?

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij


  • .oisyn
  • Registratie: September 2000
  • Laatst online: 12:23

.oisyn

Moderator Devschuur®

Demotivational Speaker

Ik mis wat informatie over de infrastructuur. Je zegt dat verschillende gebruikers ingelogd zijn. Gaat het dan om een terminal server, die voor elke gebruiker dat bericht moet laten zien? Of zijn het van die flexibele werkplekken waarbij iedereen achter een willekeurige client kan zitten, en het evt. voor kan komen dat op een client meerdere mensen tegelijk ingelogd zijn (maar natuurlijk nooit tegelijk achter de PC zitten)?

De sleutelwoorden die hier waarschijnlijk relevant zijn zijn overigens "window stations" en "desktops". In het geval van meerdere users tegelijkertijd wil je een window tonen voor de actieve desktop van elke window station. Omdat een proces maar aan 1 window station gekoppeld kan zijn betekent dat waarschijnlijk dat je een proces moet maken voor elke gebruiker.

[ Voor 30% gewijzigd door .oisyn op 09-07-2008 16:30 ]

Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.


  • burrug
  • Registratie: April 2005
  • Laatst online: 14-10-2024
Het gaat hier om verschillende flexibele werkstations, niet om een terminal-server. Die wil je immers ook niet uit hebben? :) Deze werkstations worden bediend door verschillende mensen de hele dag.
Op deze werkstations zijn niet meer dan één gebruiker tegelijkertijd ingelogd.

[ Voor 14% gewijzigd door burrug op 09-07-2008 16:35 ]

Tannoy Revolution R3 105W 6ohm, Marantz PM-7003 2x70W 8ohm, 2x JVG goud/goud, Marantz CD-6003, Marantz ST-6003


  • .oisyn
  • Registratie: September 2000
  • Laatst online: 12:23

.oisyn

Moderator Devschuur®

Demotivational Speaker

Maar waarom is het dan een probleem dat de service draait voor de actieve gebruiker?

Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.


Verwijderd

nog wat info:
http://msdn.microsoft.com/en-us/library/ms683502.aspx
(telt niet meer voor vista blijkt uit de tekst)

  • H!GHGuY
  • Registratie: December 2002
  • Niet online

H!GHGuY

Try and take over the world...

^^ with .oisyn

Toon dat ding gewoon op de actieve sessie. Wie dan achter de PC zit krijgt de kans, de rest is niet actief en heeft dus pech. Bovendien denk ik dat als je "shutdown /f /t 300" doet, alle gebruikers de melding krijgen dat de PC zal afgesloten worden. Dat kun je dan aborten met een andere flag.

Dus dat kan mss ook je probleem omzeilen.

ASSUME makes an ASS out of U and ME


  • burrug
  • Registratie: April 2005
  • Laatst online: 14-10-2024
H!GHGuY

Dat vind ik dus alles behalve gebruikersvriendelijk... Als je zelf ITér bent ,is shutdown -a heel makkelijk. Als je een monteur bent die maar net weet hoe hij zijn vereiste software moet gebruiken loop je al tegen een behoorlijk aantal problemen op...

Ik kijk even naar je link maui71

Tannoy Revolution R3 105W 6ohm, Marantz PM-7003 2x70W 8ohm, 2x JVG goud/goud, Marantz CD-6003, Marantz ST-6003


  • H!GHGuY
  • Registratie: December 2002
  • Niet online

H!GHGuY

Try and take over the world...

burrug schreef op donderdag 10 juli 2008 @ 11:30:
H!GHGuY

Dat vind ik dus alles behalve gebruikersvriendelijk... Als je zelf ITér bent ,is shutdown -a heel makkelijk. Als je een monteur bent die maar net weet hoe hij zijn vereiste software moet gebruiken loop je al tegen een behoorlijk aantal problemen op...

Ik kijk even naar je link maui71
Dan schrijf je daar een eenvoudig GUI'tje rond toch ?
"Druk op de knop om het afsluiten te annuleren"

ASSUME makes an ASS out of U and ME


  • burrug
  • Registratie: April 2005
  • Laatst online: 14-10-2024
Dat had ik nu toch ook gedaan..?
Maargoed dat was het uiteindelijke probleem ook niet..

Tannoy Revolution R3 105W 6ohm, Marantz PM-7003 2x70W 8ohm, 2x JVG goud/goud, Marantz CD-6003, Marantz ST-6003


  • .oisyn
  • Registratie: September 2000
  • Laatst online: 12:23

.oisyn

Moderator Devschuur®

Demotivational Speaker

Ik bedacht me trouwens ook nog dat je gewoon een MessageBox() kon laten zien op de actieve desktop middels MB_SERVICE_NOTIFICATION (zelfs als er niemand ingelogd is). Die is speciaal hiervoor bedoeld :)

Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.


  • burrug
  • Registratie: April 2005
  • Laatst online: 14-10-2024
Ah ok en bied MessageBox() ook de mogelijkheid om knopjes er aan toe te voegen in de geest van 'Annuleren'?

Tannoy Revolution R3 105W 6ohm, Marantz PM-7003 2x70W 8ohm, 2x JVG goud/goud, Marantz CD-6003, Marantz ST-6003


  • burrug
  • Registratie: April 2005
  • Laatst online: 14-10-2024
Ik heb nu mijn VB.NET-app weten op te starten door simpelweg via een commandprompt een scheduled task aan te maken dmv:

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
Microsoft Windows XP [versie 5.1.2600]
(C) Copyright 1985-2001 Microsoft Corp.

Z:\>at /?
De opdracht AT programmeert opdrachten en programma's zodat deze op een
bepaalde tijd en datum door de computer worden uitgevoerd. Om deze
opdracht te kunnen gebruiken moet de service Schedule zijn gestart.

AT [\\computernaam] [ [ID] [/DELETE] | /DELETE [/YES]]
AT [\\computernaam] tijd [/INTERACTIVE]
    [ /EVERY:datum[,...] | /NEXT:datum[,...]] "opdracht"

\\computernaam       Geeft een externe computer op. Opdrachten worden
                     gepland op de lokale computer als deze parameter
                     wordt weggelaten.
Id                   Is een id-nummer dat is toegewezen aan een geplande
                     opdracht.
/delete              Annuleert een geplande opdracht. Als id is weggelaten
                     worden alle geplande opdrachten op de computer
                     geannuleerd.
/yes                 Wordt gebruikt met de opdracht 'delete' als bij
                     het verwijderen van meerdere geplande opdrachten geen
                     verdere bevestiging nodig is.
tijd                 Bepaalt het tijdstip wanneer de opdracht wordt
                     uitgevoerd.
/interactive         Als deze schakeloptie wordt gebruikt, kan de taak
                     interactief worden uitgevoerd met het bureaublad van
                     de gebruiker die is aangemeld op het moment dat de
                     taak wordt uitgevoerd.
/every:datum[,...]   Voert de opdracht uit op de opgegeven dag(en) van de
                     week of maand. Als datum is weggelaten, wordt aangenomen
                     dat de huidige dag van de maand wordt bedoeld.
/next:datum[,...]    Voert de opgegeven opdracht uit op de eerstvolgende
                     keer dat het die dag is (bijv. komende donderdag). Als
                     datum is weggelaten, wordt aangenomen dat de huidige
                     dag van de maand wordt bedoeld.
opdracht             Het batchprogramma of de Windows NT-opdracht die
                     moet worden uitgevoerd.


Door middel van deze toepassing wordt de task uitgevoerd door de user 'SYSTEM' en is de eigenaar van het *.job bestand ook de user 'SYSTEM'. Vreemd genoeg brengt dit het form wel naar de voorgrond.. =S

Tannoy Revolution R3 105W 6ohm, Marantz PM-7003 2x70W 8ohm, 2x JVG goud/goud, Marantz CD-6003, Marantz ST-6003

Pagina: 1