Inhaltsverzeichnis
Meldungen im Netzwerk senden (ohne NET SEND)
Problem
Wer NET SEND für die Verteilung von Nachrichten (z.B. Serverneustart etc.) genutzt hat, muss schmerzlich feststellen, dass dies unter den aktuellen Versionen von MS Serverprodukten nicht mehr unterstützt wird. Selbst wenn der Befehl auf älteren Serversystemen noch unterstützt wird, erreichen die darüber gesendeten Nachrichten keine Clientsysteme mehr, die unter Windows Vista oder Windows 7 laufen. Dieser Artikel beschreibt eine elegante Lösung, wie Sie doch Kurznachrichten an Clientsysteme die unter Windows Vista oder Windows 7 laufen versenden können!
So geht's
Unter den aktuellen Windows Client- und Serversystemen existiert msg.exe. Über dieses Programm kann eine Nachricht an alle aktiven Benutzer eines Rechners gesendet werden. Auf Windows Terminalservern z.B. erreichen über msg.exe gesendete Texte alle aktiven Sessions des Servers.
In Verbindung mit dem Tool psexec.exe (zu finden unter www.sysinternals.com) kann nun auf jedem aktiven Rechner der Domain ein Prozess gestartet werden (evtl. zu schaffende Voraussetzung bei Problemen finden Sie nachstehend).
Wenn Sie nun z.B. auf dem Server das Kommando
psexec \\Rechnername -i msg * Testnachricht
ausführen, startet psexec auf dem angegebenen Rechner (\\Rechnername) das Programm msg.exe, welches wiederum an alle (*) aktiven Benutzer dieses Rechners den Angegebenen Text (Testnachricht) ausgibt.
Ersetzen Sie nun \\Rechnername durch \\* , so führt psexec.exe dieses Kommando auf jedem aktiven Rechner der Domain aus; also z.B.
psexec \\* -i msg * Testnachricht an Domäne
Schon während der Ausführung erhalten Sie Informationen darüber, auf welchen Rechnern msg.exe mit welchem Returncode ausgeführt wurde bzw. welcher Fehler die Ausführung des Kommandos auf diesem verursacht hat.
Detaillierte Informationen zu psexec.exe und msg.exe erhalten Sie durch einen Aufruf des entsprechenden Programm ohne Parameter oder über /?.
Ursachen, die eine Ausführung auf den einzelnen Arbeitsplatzrechnern verhindern können:
In Einzelfällen kann die Erlaubnis auf den Zugriff der administrativen Freigaben auf den Rechnern, auf denen msg.exe ausgeführt werden soll, notwendig sein. Dies erreichen Sie durch die Erfassung eines neuen Wertes in der Registry.
- Nummerierter ListenpunktStarten Sie hierzu den Registry-Editor. Diesen erreichen Sie über Start → Ausführen. Geben Sie nun regedit ein und klicken Sie auf OK.
- Navigieren Sie nun in der linken Baumstruktur auf den Schlüssel
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System - Legen Sie innerhalb dieses Schlüssels einen neuen DWORD-Wert mit dem Namen
LocalAccountTokenFilterPolicyund dem Wert 1 an. - Verlassen Sie dann der Registry-Editor und starten Sie den Rechner neu!
Schlagwörter
net send msg psexec sysinternal
