Popup-Meldung (HTA) auf Benutzercomputern anzeigen

994
Scott J

Hier ist meine Frage. Mein Unternehmen nimmt unseren Helpdesk von einem MSP in unser Unternehmen zurück, und wir müssen mehrmals am Tag eine Popup-HTA-Nachricht für HR und LP anzeigen können.

Ich weiß, dass alle dabei zerknirschen werden, aber wir haben ungefähr 1500 Windows 7 Pro-Computer, denen NICHT Domäne beigetreten ist (nicht meine Wahl). Wir verwenden LogMeIn Central Premiere, mit dem ich Skripts bereitstellen kann. Es ist derselbe Benutzername auf jedem Computer und sie sind keine Mitglieder der Admin-Gruppe, sondern nur der Benutzergruppe. Ich möchte in der Lage sein, die Nachricht um 10 Uhr, 13 Uhr und 16 Uhr aufzurufen, aber ich kann die HTA-Datei nicht auf dem Computer anzeigen, der eine Stapelverarbeitungsdatei ausführt.

Zum Testen in meinem Büro habe ich psexec von meinem Computer auf meinen Testcomputer ausgeführt und es wird gut über die Befehlszeile geöffnet (hta-Datei wird lokal auf jedem Computer gespeichert). Es scheint mit System 0 zu tun zu haben und ich hoffe, dass jemand da draußen in der Vergangenheit damit umgegangen ist.

Ich habe auch versucht, eine geplante Aufgabe zum Aufrufen der hta-Datei zu erstellen, aber erneut wird die Datei nicht als aktiv angezeigt, wenn der Benutzer angemeldet ist.

Jede Hilfe wäre dankbar.

2
Insgesamt nicht helfen, aber ... 1500 PCs, die nicht der Domäne angehören? Die Kosten von zwei High-End-DCs würden buchstäblich weniger als 2,50 USD pro Maschine betragen. Twisty Impersonator vor 6 Jahren 0
Ich stimme völlig zu, habe diesen Krieg aber verloren. Ich habe ungefähr 250 Maschinen in einer Domäne von der Firma, für die ich gearbeitet habe, die von der größeren Firma gekauft wurde, und sie zwingen mich, auf LogMeIn und keinen DC umzusteigen. Ich habe jetzt seit 8 Monaten dagegen gekämpft und mir wurde gesagt, dass es nicht passiert und dass dies funktioniert. Scott J vor 6 Jahren 0
Ich bin sprachlos. Aber ich kenne diese Typen. Sie lernen am besten, indem sie das Haus niederbrennen lassen. Twisty Impersonator vor 6 Jahren 0
Haben Sie in anderen Nachrichten geplant, dass Ihre hta-Aufgabe im Kontext des Benutzerkontos ausgeführt wird, das die Nachricht anzeigen muss? Twisty Impersonator vor 6 Jahren 0
Diese Umstände klingen schrecklich. Sie haben in Ihrer Umgebung größere Probleme als das Lösen dieses Problems. Klingt wie der Batch funktioniert, wenn Sie ihn lokal ausführen, aber nicht remote mit psexec. Können Sie Skripts für den Remote-Betrieb mit Erfolg erhalten? Wenn dies möglich ist und nur das HTA-Startskript fehlschlägt, fügen Sie die Protokollierung zu .bat / .ps1 hinzu, um festzustellen, wo das Skript fehlschlägt, und stellen Sie sicher, dass es überhaupt aufgerufen wird. root vor 6 Jahren 0
Sie möchten Popup-Nachrichten ** oder Popup-Erinnerungen ** senden? Ein bisschen klingt wie das letztere ... Sie haben wahrscheinlich ein Mail- und Kalendersystem. Senden Sie ein Kalenderereignis an alle Personen, die zu diesen Zeitpunkten angezeigt werden. Clayton vor 6 Jahren 0

1 Antwort auf die Frage

0
Pimp Juice IT

Ich habe etwas Ähnliches mit der Anzeige von HTA-Nachrichten auf Windows- Computern mit einem Batch-Skript gemacht. Ich dachte mir, ich würde mein Beispiel mit Ihnen teilen, und Sie können sich an Ihre Bedürfnisse anpassen, falls es bei Ihrem Problem hilft.

Im Wesentlichen wird eine dynamische HTA-Datei erstellt und anschließend mit wscript ausgeführt

Batch-Skript-Beispiel

Der HTA-Titel und die drei Hauptzeilen sind Variablen, die oben in diesem Batch-Skript-Beispiel eingerichtet werden. Der Timer wird für die Anzahl von Sekunden verwendet, bevor die Nachricht automatisch geschlossen wird.

Sie sollten in der Lage sein, diese Logik als Ausgangspunkt zu verwenden und entsprechend Ihren Bedürfnissen anzupassen. Sie können Ihre HTA-Dateilogik in den Stapel aufnehmen, kopieren und dann aufrufen oder was auch immer ich vermute.

IF NOT DEFINED MINIMIZED SET MINIMIZED=1 && START "" /MIN "%~dpnx0" %* && EXIT @ECHO OFF   SET MsgTitle=Hey! Here is a Title! SET MsgLine1=Hey! Here is a message! SET MsgLine2=Message Line Two. SET MsgLine3=Message Line Three. ::: -- Set the number in seconds you want the window to close SET CloseTimer=5 SET TmpHTAFile=%tmp%\tmp.hta SET TmpVBSFile=%tmp%\tmp.vbs IF EXIST "%TmpHTAFile%" DEL /Q /F "%TmpHTAFile%" IF EXIST "%TmpVBSFile%" DEL /Q /F "%TmpVBSFile%"  ECHO ^<html^> >> "%TmpHTAFile%" ECHO ^<head^> >> "%TmpHTAFile%" ECHO ^<hta:application >> "%TmpHTAFile%" ECHO APPLICATIONNAME = "Message Alert" >> "%TmpHTAFile%" ECHO ID = "Message Alert" >> "%TmpHTAFile%" ECHO BORDERSTYLE = "Normal" >> "%TmpHTAFile%" ECHO CAPTION = "No" >> "%TmpHTAFile%" ECHO CONTEXTMENU = "No" >> "%TmpHTAFile%" ECHO INNERBORDER = "No" >> "%TmpHTAFile%" ECHO MAXIMIZEBUTTON = "No" >> "%TmpHTAFile%" ECHO MINIMIZEBUTTON = "No" >> "%TmpHTAFile%" ECHO NAVIGABLE = "No" >> "%TmpHTAFile%" ECHO SCROLL = "No" >> "%TmpHTAFile%" ECHO SCROLLFLAT = "No" >> "%TmpHTAFile%" ECHO SELECTION = "No" >> "%TmpHTAFile%" ECHO SHOWINTASKBAR = "No" >> "%TmpHTAFile%" ECHO SINGLEINSTANCE = "Yes" >> "%TmpHTAFile%" ECHO SYSMENU = "No"/^> ^<STYLE^> >> "%TmpHTAFile%" ECHO html, body { >> "%TmpHTAFile%" ECHO background color: #000000 >> "%TmpHTAFile%" ECHO font-size: 90%; >> "%TmpHTAFile%" ECHO line-height: 2.1em; >> "%TmpHTAFile%" ECHO margin: 10; >> "%TmpHTAFile%" ECHO padding: 0; >> "%TmpHTAFile%" ECHO } >> "%TmpHTAFile%" ECHO h1 >> "%TmpHTAFile%" ECHO h2 >> "%TmpHTAFile%" ECHO h3 >> "%TmpHTAFile%" ECHO >> "%TmpHTAFile%" ECHO ^</STYLE^> ^<script type='text/vbscript'^> Sub Window_onload() >> "%TmpHTAFile%" ECHO me.ResizeTo 500,280 >> "%TmpHTAFile%" ECHO me.MoveTo Screen.Width /2 - 300,Screen.Height / 2 - 300 >> "%TmpHTAFile%" ECHO me.SetTimeout "Me.Close()",%CloseTimer%000 >> "%TmpHTAFile%" ECHO End Sub >> "%TmpHTAFile%" ECHO ^</script^> >> "%TmpHTAFile%" ECHO ^</head^> >> "%TmpHTAFile%" ECHO ^<body scroll="no"^> >> "%TmpHTAFile%" ECHO ^<br^> >> "%TmpHTAFile%" ECHO ^<h1^>%MsgTitle%^</h1^> >> "%TmpHTAFile%" ECHO ^<h2^>%MsgLine1%^<br^> >> "%TmpHTAFile%" ECHO %MsgLine2%^<br^> >> "%TmpHTAFile%" ECHO %MsgLine3%^</h2^> >> "%TmpHTAFile%" ECHO ^<h3^>close in %CloseTimer% seconds^</h3^> >> "%TmpHTAFile%" ECHO ^<script type="text/javascript"^> >> "%TmpHTAFile%" ECHO ^</script^> >> "%TmpHTAFile%" ECHO ^</body^> >> "%TmpHTAFile%" ECHO ^</html^> >> "%TmpHTAFile%"  ECHO Set objShell = Wscript.CreateObject("Wscript.Shell") >> "%TmpVBSFile%" ECHO objShell.Run ("%TmpHTAFile%") >> "%TmpVBSFile%" wscript "%TmpVBSFile%" DEL /Q /F "%TmpVBSFile%" 

Quellidee


Weitere Ressourcen

Erwägen Sie das Erstellen eines solchen Skripts und das Erstellen und Planen des Batch-Skripts für die Ausführung zu geplanten Zeiten mit PSEXEC mit Task-Scheduler einmal über die Befehlszeile, dann wird es lokal ausgeführt ... siehe https://superuser.com/questions/1214736/ Windows-10-geplante-Aufgaben-mit-Workstation-Sperre-Entsperren-Nicht-Ausgelöst / 1217125 # 1217125 für Tipps zum Planen eines Batch-Skripts und zur Fehlerbehebung usw. Pimp Juice IT vor 6 Jahren 0
Informationen zum Erstellen geplanter Aufgaben über die Befehlszeile finden Sie hier. . . https://www.windows-commandline.com/schedule-tasks-command-line/ für einige Beispiele Pimp Juice IT vor 6 Jahren 0