13
Microsoft hat mit der Einführung von Vista die Funktion SEND aus dem Befehl NET entfernt. Grund dafür war das Entfernen des Nachrichtendienstes. Dieser Dienst hat bis XP (ab SP2 war er standardmäßig deaktiviert) die Nachrichten empfangen, welchen mit NET SEND verschickt worden. Allerdings auch über Domaingrenzen hinweg, was eine Zeit lang für dubiose Werbenachrichten auf den Computerbildschirmen sorgte.
Eine Alternative für NET SEND ist der Befehl MSG. Dieser Befehl ist ab Windows XP enthalten – aber Achtung – in den Home Versionen dieser Betriebssysteme nicht! MSG umgeht das Problem mit den Popup Nachrichten aus dem Internet, da es nur in der eigenen Domain verfügbar nutzbar ist.
MSG /? zeigt die möglichen Optionen an:

Eine Nachricht wird mit folgender Syntax verschickt:
msg Benutzername /server:computername Nachricht
Beispiel: msg hitziger /server:edv4 Das ist ein test
Das Wildcard * kann verwendet werden um an alle an diesen Computer angemeldeten Personen eine Nachricht zu schicken. Der Konsole kann man auch eine Nachricht schicken, dazu einfach als Benutzernamen console nutzen.
Achso, der Nachrichtendienst wird auf XP nicht benötigt!
Genug Theorie. Versucht man das Ganze nun in einer Domain mit XP und Win7 Rechnern umzusetzen, verzweifelt man am Anfang. Das einzige, was von Anfang an funktionierte, war sich selber Nachrichten zu schicken.
Versucht man von Windows 7 ein Nachricht an einen XP Rechner zu schicken, dann bekommt man eine Fehlermeldung “Benutzername ist nicht vorhanden oder Verbindung ist getrennt”. Beim Versuch eine Nachricht von XP an Windows 7 zu schicken endet mit der Fehlermeldung
“Fehler beim Öffnen von Terminalserver Computername"
”Fehler [1722]:Der RPC-Server ist nicht verfügbar.”
MSG in der Kombination XP zu XP erzeugte die Fehlermeldung “Fehler [5]: Sie haben keine Berechtigung” (diesen Fehler hab ich jetzt nur aus dem Gedächtnis aufgeschrieben).
Der erste Schritt ist auf allen verwendeten Rechnern einen Registryeintrag zu ändern oder neu anzulegen (XP). Also Regedit starten und folgendes auf den Windows 7 Rechnern ändern:
Pfad: HKEY_LOCAL_MASCHINE\SYSTEM\CurrentControlSet\Control\TerminalServer
AllowRemoteRPC muss von Null auf Eins geändert werden. Also AllowRemoteRPC=1
Bei XP Computer muss dieser Wert angelegt werden:
Pfad: HKEY_LOCAL_MASCHINE\SYSTEM\CurrentControlSet\Control\TerminalServer
Rechtsklick und Neu->DWORD-Wert->als Name AllowRemoteRPC eingeben und als Wert 1.
So sollte das dann aussehen – es sind noch andere Werte in dem Pfad sichtbar, aber die spielen jetzt keine Rolle.

Mit dieser Änderung ist es nun möglich MSG zwischen XP Rechnern und von Windows 7 zu XP zu verwenden. Aber versucht man von XP eine Nachricht auf einen Win7 Rechner zu schicken, dann kommt immer noch der oben genannte Fehler [1722]. Windows 7 möchte noch einen extra Haken gesetzt bekommen.
Also geh in die Systemsteuerung->System und Sicherheit->System (oder drücke WIN+Pause). In dem Fenster gibt es oben links den Punkt “Erweiterte Systemeinstellungen” – den bitte anklicken. Nun im neuen Fenster oben den Tab “Remote” auswählen und bei Remotedesktop die Option von “Keine Verbindung mit diesem Computer zulassen” auf die Option “Verbindungen nur von Computern zulassen, auf denen Remotedesktop mit Authentifizierung auf Netzwerkebene ausgeführt wird.”.

OK drücken und ab sofort sollte MSG auch von XP zu Windows 7 funktionieren
[Update – 22.01.2010] Um Nachrichten an die Konsole schicken zu können, benötigt man Adminrechte – http://support.microsoft.com/kb/302799/en-us/
[Update – 26.02.2010] Besteht Interesse an einen Tool, was das Verschicken von Nachrichten zwischen Windows 7, Vista, XP ermöglicht? Möglich von jeden Konto, dafür muss aber ein Adminkonto im Programm angegeben werden (Stichwort: Impersonation). Sicherheitstechnisch keine feine Lösung, aber so wie es aussieht, gibt es keine andere Lösung. Also wenn jemand Interesse hat – kurzer Kommentar reicht.
Keine verwandten Beiträge.
Vielen Dank für dieses saubere Tutorial. Ich wäre sehr dankbar für ein Tool zum Verschicken von Nachrichten in einer Domäne.
Gruß jonas
[Translate]
Hallo, habe das jetzt mal so eingestellt
Von XP zu XP geht es aber XP zu W7 oder W7 zu XP geht es nicht.
Allerdings war auf dem W7 kein Regestry eintrag zu finden, den man hätte ändern können. Also habe ich diesen AllowRemoteRPC wie für XP beschieben neu erstellt.
Bekomme auch die Meldung : Fehler 5 Zugriff verweigert XP zu W7
Was ausser den oben genannten Einstellungen kann man noch ändern?
Mfg
Ingo
[Translate]
ich habe auch sowas ähnliches…. bin aber i-wie voll der anfänger in so sachen
wenn ich ich miene CMd leiste eingebe
c:\msg MORPH hi! (Morph) für den PC namen
dann steht immer
morph is nicht vorhanden oder verbindung ist getrennt
was muss ich machen damit es funktioniert
schon mal danke im voraus lg andi
[Translate]
sollte ich vielleciht noch erwähnen das es von win 7 ultimate 32bit zu win 7 ultimate 32bit ist
[Translate]
@ Andreas
die syntax ist “msg * /SERVER:Morph hi!”
der Stern heisst, dass die Nachricht an alle angemeldeten Nutzer auf dem PC geschickt wird, alternativ kann auch der Anmeldename des Zielcomputers verwendet werden. /SERVER:Servername ist die Angabe des Zielcomputers und kann auch gegen die entsprechende IP im Netzwerk ersetzt werden.
lg Itsch
[Translate]
ich weiss es is nervig aber
c:\msg * /server:morph hi
Fehler 1722 beim Abrufen der Stizungsnamen
hmm was mach ich da nur falsch
[Translate]
den fehler bekomme ich leider auch immer, wenn ich versuche, auf andere rechner zu schreiben… ich gehe davon aus, dass der befehl vom zielcomputer geblockt wird. da ich leider keinen eigenen zweiten rechner zur verfügung habe, kann ich leider nicht mit den einstellungen experimentieren. eine möglichkeit wäre, dass die remoteunterstützung erlaubt werden muss, allerdings soll das auch nur bedingt funktionieren.
[Translate]
@Andreas: Hast du das auch gemacht?
“Also geh in die Systemsteuerung->System und Sicherheit->System (oder drücke WIN+Pause). In dem Fenster gibt es oben links den Punkt “Erweiterte Systemeinstellungen” – den bitte anklicken. Nun im neuen Fenster oben den Tab “Remote” auswählen und bei Remotedesktop die Option von “Keine Verbindung mit diesem Computer zulassen” auf die Option “Verbindungen nur von Computern zulassen, auf denen Remotedesktop mit Authentifizierung auf Netzwerkebene ausgeführt wird.”.”
@Ingo: Besitzt der Absender Adminrechte im Netzwerk?
@Jonas: Das Tool kommt noch. Muss da noch ein paar Kleinigkeiten anpassen. Hatte in den letzten Wochen wenig Zeit.
[Translate]
also es ist alles so eingestellt gewesen wie du sagtest (das hatte ich schon gemacht)
der selbe fehler bleibt bestehen
c:\msg * /server:morph hi
Fehler 1722 beim Abrufen der Stizungsnamen
[Translate]
Hallo zusammen!
Wie schauts mit dem Tool aus? Warte sehnsüchtigst darauf da ich es mit der cmd nicht hinbekommen mag!
[Translate]
Super erklärt, danke da hab ich schon lange gesucht.
Ich hätte auch Interesse an deinem Tool. Falls du es in .net programmiert hast würde ich mich auch über den Source-Code freuen.
Danke
[Translate]
Gut erklärt!
Man sollte allerdings noch beachten, dass sowohl auf dem “Sender-PC” als auch bei dem “Empfänger-PC” die Konten und die Kennwörter genau gleich sein müssen (und beim Empfänger Admin sein muss).
D.h.:
Sender-PC hat den Benutzer “Test” mit Passwort “Test123″.
Der Empfänger-PC hat diesen noch nicht, deshalb errichtet man ein Administratorkonto mit genau dem gleichen Benutzernamen und genau dem gleichen Passwort.
Damit sie sich gegenseitig Nachrichten schicken können, sollte der Benutzer beim Sender-PC auch Admin sein. (Für mich persönlich war das nicht relevant.)
PS: Vergesst nicht den Server (d.h. Empfänger-PC) mit “/server:”IP oder Computername”" anzugeben.
[Translate]
Ich habe XP (Sender) und Win7(Empfanger).
Wie gesagt, bei beiden PC AllowRemote 00000001 gemacht (XP neu geschrieben, Win7 geändert).
2 verschiedene User, aber beide haben Admin Rechte.
Ich schreibe:
C:\>msg Win7UserName /server:Win7PCName bla-bla-bla
Error during opening of terminal server Win7PCName
Error [1722]: Server RPC is not accessible.
[Translate]