Popup in vbs wird nicht angezeigt
Ich habe eine vbs-Datei, die ein Popup öffnet.

Dieses Script funktioniert einwandfrei, wenn ich die vbs-Datei händisch aufrufe oder in einem Geplanten Task unter meinem Benutzernamen ausführe.
Führe ich die Datei in einem Geplanten Task als NT AUTHORITY\SYSTEM aus, wird das Popup nicht angezeigt (vbs-Datei wird im Hintergrund ausgeführt).
Da die Datei am Server liegt und bei der Anmeldung eines Clients automatisch ein Task generiert wird, der auf die vbs-Datei am Server zugreift, muss ich diesen als NT AUTHORITY\SYSTEM ausführen, damit kein Kennwort benötigt wird. Gibt es eine Möglichkeit, dass das Popup dennoch angezeigt wird?
Dank und Gruß Karl

Dieses Script funktioniert einwandfrei, wenn ich die vbs-Datei händisch aufrufe oder in einem Geplanten Task unter meinem Benutzernamen ausführe.
Führe ich die Datei in einem Geplanten Task als NT AUTHORITY\SYSTEM aus, wird das Popup nicht angezeigt (vbs-Datei wird im Hintergrund ausgeführt).
Da die Datei am Server liegt und bei der Anmeldung eines Clients automatisch ein Task generiert wird, der auf die vbs-Datei am Server zugreift, muss ich diesen als NT AUTHORITY\SYSTEM ausführen, damit kein Kennwort benötigt wird. Gibt es eine Möglichkeit, dass das Popup dennoch angezeigt wird?
Dank und Gruß Karl
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 72070
Url: https://administrator.de/forum/popup-in-vbs-wird-nicht-angezeigt-72070.html
Ausgedruckt am: 04.04.2025 um 21:04 Uhr
5 Kommentare
Neuester Kommentar
Hallo bei der ersten on the fly Betrachtung des Codes fällt mir das Folgendes auf:
1.
Leider hast du den Taskaufruf nicht gesendet
Aber rufst du dort mit wscript oder cscript auf ?
denn bei csribt würde geerell kein popup angezeit da die ausgabe in die doswelt geht
ich würde explizit mit wscript aufrufen
2.
dann noch eine allgemeine Ergänzung:
bezogen auf den Popupaufruf würde ich den modualen wert hinzufügen
also 49 + 4096
Modal bedeutet :All applications are suspended until the user responds
oder anders ausgedrückt:
das Popup ist vorne und bevor user etwas anderes machen kann muß er entweder reagieren sprich klicken oder er muß warten bis popup nach deinen 30 sekunden von selbst verschwindet
3.
So aus dem Bauch heraus könnte ich mir auch vorstellen, daß das script sehr wohl lokal ausgeführt wird aber durch anfängliche Bedingung (Zeitwertvergleich ergibt immer: nicht größer weil Variablen nicht wirklich vergleichbar sind) und folglich niemals etwas passiert und deshalb auch kein popup angezeigt wird.
Gegen diese Annahme spricht aber Deine Aussage: läuft wenn lokal ausgeführt
Trotzdem einfach weil mein Bauch so grummelt werde ich das heute nachmittag mal testen
Zu 3: weil Variablen nicht wirklich vergleichbar sind
Ist ein allgemeines Problem bei Zeitwertvergleichen sofern diese formal nicht richtig vergleichbar sind
weil es ein allgemeines problem gibt Time-variablen in unterschiedlichen Betriebssystemen bzw bei gleichen OS und unterschiedlichen festlegungen der Zeitanzeigenverwendung
Habe selber nur immer wieder stress gehabt mit Zeitwertvergleichen allerdings eher im batchbereich . Als ich mit vbs angefangen hatte ich mir schon angewöhnt die Werte immer zu vereinheitlichen und war so mehr auf der sicheren seite
Und ob
4.
bezogen auf das eigentliche Problem und daher nur am Rande bemerkt:
Dieser Bereich erscheint mir unnötig weil kann nicht eintreten
denn wenn die ganze if nur läuft wenn aktuelle Zeit > der festgelegten Zeit ist
dann kann es doch niemals vorher sein?
Unter der Annahme Vergleich funktioniert überhaupt vgl 3
5.
auch aus dem Bauch heraus
kann mir irgendwie nicht vorstellen, dass es am NT AUTHORITY\SYSTEM liegt
aber frei nach dem Motto: kannst werden so alt wie ne Kuh lernst immer noch dazu
werde ich daher mal bei mir simulieren
aber irgendwann später
doch noch heute
versprochen
ciao pacobay
1.
Leider hast du den Taskaufruf nicht gesendet
Aber rufst du dort mit wscript oder cscript auf ?
denn bei csribt würde geerell kein popup angezeit da die ausgabe in die doswelt geht
ich würde explizit mit wscript aufrufen
2.
dann noch eine allgemeine Ergänzung:
bezogen auf den Popupaufruf würde ich den modualen wert hinzufügen
also 49 + 4096
Modal bedeutet :All applications are suspended until the user responds
oder anders ausgedrückt:
das Popup ist vorne und bevor user etwas anderes machen kann muß er entweder reagieren sprich klicken oder er muß warten bis popup nach deinen 30 sekunden von selbst verschwindet
3.
So aus dem Bauch heraus könnte ich mir auch vorstellen, daß das script sehr wohl lokal ausgeführt wird aber durch anfängliche Bedingung (Zeitwertvergleich ergibt immer: nicht größer weil Variablen nicht wirklich vergleichbar sind) und folglich niemals etwas passiert und deshalb auch kein popup angezeigt wird.
Gegen diese Annahme spricht aber Deine Aussage: läuft wenn lokal ausgeführt
Trotzdem einfach weil mein Bauch so grummelt werde ich das heute nachmittag mal testen
Zu 3: weil Variablen nicht wirklich vergleichbar sind
Ist ein allgemeines Problem bei Zeitwertvergleichen sofern diese formal nicht richtig vergleichbar sind
weil es ein allgemeines problem gibt Time-variablen in unterschiedlichen Betriebssystemen bzw bei gleichen OS und unterschiedlichen festlegungen der Zeitanzeigenverwendung
Habe selber nur immer wieder stress gehabt mit Zeitwertvergleichen allerdings eher im batchbereich . Als ich mit vbs angefangen hatte ich mir schon angewöhnt die Werte immer zu vereinheitlichen und war so mehr auf der sicheren seite
Und ob
Uhrzeit = Time
undMeldungsUhrzeit = TimeValue("05:45:00
PM")
wirklich vergleichbar sind weiß ich so direkt nichtPM")
4.
bezogen auf das eigentliche Problem und daher nur am Rande bemerkt:
Else
'Wscript.Echo ("Es ist vor "
& MeldungsUhrzeit & "
Uhr!")
'Wscript.Echo ("Es ist vor "
& MeldungsUhrzeit & "
Uhr!")
Dieser Bereich erscheint mir unnötig weil kann nicht eintreten
denn wenn die ganze if nur läuft wenn aktuelle Zeit > der festgelegten Zeit ist
dann kann es doch niemals vorher sein?
Unter der Annahme Vergleich funktioniert überhaupt vgl 3
5.
Wie gesagt: Wenn die Datei auf dem lokalen
PC liegt kein Problem. Nur wenn ich die Datei
am Server liegen habe und den Geplanten Task
mit NT AUTHORITY\SYSTEM ausführe.
Vielleicht gibt's ja noch ne andere
Lösung und ich steh auf der Leitung ;-(
PC liegt kein Problem. Nur wenn ich die Datei
am Server liegen habe und den Geplanten Task
mit NT AUTHORITY\SYSTEM ausführe.
Vielleicht gibt's ja noch ne andere
Lösung und ich steh auf der Leitung ;-(
auch aus dem Bauch heraus
kann mir irgendwie nicht vorstellen, dass es am NT AUTHORITY\SYSTEM liegt
aber frei nach dem Motto: kannst werden so alt wie ne Kuh lernst immer noch dazu
werde ich daher mal bei mir simulieren
aber irgendwann später
doch noch heute
versprochen
ciao pacobay
Hallo kaktus 67
also hatte gestern dein script nochmal getestet
und mußte leider fesstellen dass meine on the fly analyse nicht besonders gut war
die else macht natürlich sinn sorry
Das Einzige was in diesem Sinne bleibt ist
dass die if Bedingung doch nur anderersherum Sinn macht. oder?
If MeldungsUhrzeit > Uhrzeit Then
wohl
If MeldungsUhrzeit < Uhrzeit Then
Aber selbst das ist ja für das Problem erstmal total egal
Auch war mein Bauchgefühl nicht besonders zutreffend
Denn das mit der Uhrzeit klappt so wie du es gemacht hast
ohne probleme
der Aufruf eines popups mit +4096 (System modal) ist allg hilfreich löst es aber wahrscheinlich auch nicht
Und nachdem ich deine Antwort gelesen habe , frage ich mich ob die Zielerreichung nicht
einfacher via GPO zu lösen wäre
schau mal unter
http://www.mcseboard.de/windows-forum-allgemein-28/automatisches-abmeld ...
insbesondere den hinweis
http://support.microsoft.com/default.aspx?scid=kb;de;314999
habe mal vor längerem das ding verwendet
ist zu lange her um noch genaueres zu sagen
Aber ich meine mich zu erinnern, dass die zeitangabe in millisekunden oder so läuft
Ich erwähne dies nur weil ich damals angenommen hatte, es wären sekunden
Habe dann user statt nach einer stunde oder so nach wenigen minuten inaktivität rausgekegelt. Kam nicht ganz so gut
ciao pacobay
also hatte gestern dein script nochmal getestet
und mußte leider fesstellen dass meine on the fly analyse nicht besonders gut war
die else macht natürlich sinn sorry
Das Einzige was in diesem Sinne bleibt ist
dass die if Bedingung doch nur anderersherum Sinn macht. oder?
If MeldungsUhrzeit > Uhrzeit Then
wohl
If MeldungsUhrzeit < Uhrzeit Then
Aber selbst das ist ja für das Problem erstmal total egal
Auch war mein Bauchgefühl nicht besonders zutreffend
Denn das mit der Uhrzeit klappt so wie du es gemacht hast
ohne probleme
der Aufruf eines popups mit +4096 (System modal) ist allg hilfreich löst es aber wahrscheinlich auch nicht
Und nachdem ich deine Antwort gelesen habe , frage ich mich ob die Zielerreichung nicht
einfacher via GPO zu lösen wäre
schau mal unter
http://www.mcseboard.de/windows-forum-allgemein-28/automatisches-abmeld ...
insbesondere den hinweis
http://support.microsoft.com/default.aspx?scid=kb;de;314999
habe mal vor längerem das ding verwendet
ist zu lange her um noch genaueres zu sagen
Aber ich meine mich zu erinnern, dass die zeitangabe in millisekunden oder so läuft
Ich erwähne dies nur weil ich damals angenommen hatte, es wären sekunden
Habe dann user statt nach einer stunde oder so nach wenigen minuten inaktivität rausgekegelt. Kam nicht ganz so gut
ciao pacobay