derhoeppi
Goto Top

Popup - Messagebox für andere Benutzer aufrufen

Hallo,
ich habe ein VBS Skript, dass ein Popup aufruft. Dieses Skript funktioniert einwandfrei, aber ich muss das Skript über einen Scheduled Task im Kontext des Systems aufrufen. Das Skript meldet Benutzer nach einem bestimmten Countdown ab. Da ich in meinem Skript das Popup für den ausführenden Benutzer anzeigen lasse, bekommt der aktuell angemeldete Benutzer leider keinen Hinweis bevor er abgemeldet wird.

Wie kann ich unter dem Systembenutzer oder einem anderen Benutzer ein VBS Skript ausführen, dass allen derzeit angemeldeten Benutzern an einem System eine Meldung ausgibt?

Content-Key: 224445

Url: https://administrator.de/contentid/224445

Printed on: April 25, 2024 at 01:04 o'clock

Member: colinardo
Solution colinardo Dec 13, 2013, updated at Jan 30, 2014 at 16:10:24 (UTC)
Goto Top
Hallo derhoeppi,
kannst du mit dem Konsolen-Befehl msg /? machen.
Beispiel um eine Nachricht an alle am Rechner angemeldeten Benutzer zu schicken:
msg * "Achtung sie werden gleich abgemeldet!"
In VBS kannst du Shell Befehle ja bspw. so ausführen:
Set objShell = CreateObject("Wscript.Shell")  
objShell.Exec "msg * ""Sie werden gleich abgemeldet!"""  
Grüße Uwe
Member: derhoeppi
derhoeppi Dec 16, 2013 at 05:58:21 (UTC)
Goto Top
Hallo Uwe,

ich hab mir den msg-Befehl angesehen. Schön ist erst einmal das ich einem anderen Benutzer wie mit net send eine Message schicken kann. Das Timeout Problem lässt sich ebenfalls lösen, aber ich habe keinen Parameter gefunden mit dem ich ein Antwortverhalten (z.B. Yes / No Button) erzeugen kann.

Kennst du dafür einen versteckten Parameter?
Member: colinardo
colinardo Dec 16, 2013 at 08:31:31 (UTC)
Goto Top
Zitat von @derhoeppi:
Kennst du dafür einen versteckten Parameter?
das geht damit nicht. Für dein Vorhaben müsstest du zwei Prozesse laufen haben, der eine im System-Account und der andere im angemeldeten Useraccount, dann müssten die zwei sich über InterProcess-Communication unterhalten und das eine dem anderen mitteilen das es eine MsgBox anzeigen soll.den Rückgabewert geht dann den umgekehrten weg. Aber das in VBS... nicht gerade optimal, besser wäre da eine richtige Programmiersprache wie C#.

Grüße Uwe