Vista: Net Send is Gone; Use msg console Instead.

Update: If you receive “access denied” when attempting to use msg, do the following: Terminal Services Configuration (tscc.msc) -> Open up the properties of the RDP-TCP connection object -> Permissions tab -> Advanced -> Edit the entry you are interested in changing. Thanks to TP at winserverkb.com for that info.

Update 2:Check out Adriano’s comment below, it’s pretty thorough. Thanks Adriano!

Today, I needed to net send a message to myself, but soon realized that it disappeared and is no longer supported in Vista. Then I found a a post on MSDN tipped me off to use msg instead. Msg is usually used for sending messages to terminal services users but, remembering that the console session has an ID of 1, I decided to try sending a message to the console user. As it turns out, msg 1 test worked both locally and remotely in Vista.

Then, I tried running the command on an XP machine, only to realize that XP’s terminal services console ID was 0 and not 1. In order to msg the console in XP, I had to run msg 0 test. So what is session 0 in Vista? Well, according to the query session command, “services” use the ID of 0 in terminal services. Whoops. It appears that the best way for this to work across XP and Vista machines would be to use “msg console test” or “msg * test” or “msg username test“. If you’d like to message remote machines, you can do so by pointing to a file that contains the names of multiple machines or by using the /SERVER switch ie. msg /SERVER:computername console “Message goes here”.

If you need additional options or help, check out the TechNet article for more information.

Update: For those of you receiving the error message “error 5 getting session names”, this appears to be a permissions error. Unlike “net send,” you must be on the same Windows domain to send msgs to other computers. This is a good thing — it means that msg is not prone to being abused by spammers.

Chrissy is a PowerShell MVP who has worked in IT for nearly 20 years, and currently serves as a Sr. Database Engineer in Belgium. Always an avid scripter, she attended the Monad session at Microsoft’s Professional Developers Conference in Los Angeles back in 2005 and has worked and played with PowerShell ever since. Chrissy is currently pursuing an MS in Systems Engineering at Regis University and helps maintain RealCajunRecipes.com in her spare time. She holds a number of certifications, including those relating to SQL Server, SuSE Linux, SharePoint and network security. She recently became co-lead of the SQL PASS PowerShell Virtual Chapter. You can follow her on Twitter at @cl.

Posted in Windows
58 comments on “Vista: Net Send is Gone; Use msg console Instead.
  1. Seba says:

    Hi thank you for your post!!! It was very helpfull..

    but i am still stuck with something…you probably can help me?:)

  2. Sindre says:

    I only get an “error 5 getting session names”. What am I doing wrong? I believe I’ve tried everything.. :(

  3. Chrissy says:

    Hey Sindre,
    I cant duplicate the problem. Do you have proper permissions to access the other machine? Are you both on a domain?

  4. Tony says:

    I am having the same issue “error 5 getting session names”. I can send messages to myself from my own computer but I cannot send messages to my remote clients on my domain.

  5. Tony says:

    Ok. Never mind … I guess this is only for terminal servers…

  6. Chrissy says:

    Tony,
    Vista and XP come with it built in (as well as servers). Are you on a domain? Do you have permissions to the other workstations?

  7. Bac says:

    Great to know of such a tool. My Vista (notebook) is not logon to any domain, and my room PC (windows XP) is not logon to any domain too. Both have private IP. (eg. 192.168.0.2 and 192.168.0.3). Ping able bidirectionly. Wireless router 192.168.0.1. Can the msg work? Got the message Error 5 getting session names when i attempt to send to my room PC.

  8. henk says:

    I am struggling with the same (Error 5) Why is nobody responding here ?

  9. Chrissy says:

    Henk,
    My response is in the post. I only have Bac’s response to go on, though.

  10. jam says:

    Hi folk,

    I too have been trying to get this one sorted out for 1.5 days (well in between bouts of pointless partying – it is a holiday weekend here in Sydney… Queen’s birthday… thank you ma’am) and googling has led me to this url (nice one chrissy!) plus this other one http://www.elitehackers.info/forums/showthread.php?p=56178 both of which are unresolved. It’s interesting from my point of view that they are both quite recent threads… usually I’m reading up on stuff that puts me way behind the times so it is worth me writing for once. By the way I only tried to accomplish this task a for the purposes of waking up my mate crashed out on the couch next to a computer plugged into the hi-fi with a msg and loud ‘beep’! But I couldn’t get it happening dagnabbit.

    Ok let me summarise my situation and observations:

    * PC1 is running XP SP2
    * PC2 is running Vista Ultimate
    * They are networked together and on the same Workgroup with a wireless router/switch in there somewhere – PC1 is wireless while PC2 is directly connected to the switch via lan cable (as well as directly connected to the stereo for extra loud beeps)
    * There is mutual ping-ability between them… I can remote desktop either way… I can access shared folders both ways meaning that I can browse to shared folders on PC1 (XP) “My network places\Microsoft Windows Network\WORKGROUPname\PC2name\share” and on PC2 “My Network Places\
    On PC1 (XP) command prompt:
    ENTER:
    msg * test OR
    msg 0 test OR
    msg /SERVER:PC1name console test
    RESULT:
    PC1 gets a message from PC1user
    PC2 gets nothing

    ENTER:
    msg 1 test OR
    msg 2 test
    RESULT:
    1 (or 2) does not exist or is disconnected

    ENTER:
    msg /SERVER:PC2name console test
    RESULT:
    Error opening Terminal server PC2name
    Error [1722]:The RPC server is unavailable

    On PC2 (Vista) command prompt:
    ENTER:
    msg 0 test
    RESULT:
    absolutely nothing… no error and no messages
    ENTER:
    msg * test OR
    msg 1 test OR
    msg /SERVER:PC2name console test
    RESULT:
    PC2 gets a message from PC1user
    PC1 gets nothing

    ENTER:
    msg 2 test
    RESULT:
    0 (or 2) does not exist or is disconnected

    ENTER:
    msg /SERVER:PC1name console test
    RESULT:
    Error 5 getting session names

    Interestingly (ok it is for netnerds possibly) I seem to be able to sit on PC2 (Vista) and map a shared network drive that exists on PC1 (XP) as expected but the other way rouund looks like it’s going to fail… and then succeeds!?! i.e. If I sit on (or near) PC1 (XP) and try to map a shared network drive that exists on PC2 (Vista) it gives an error popup along the lines of “this is shared under a different username\password” followed by another one “you must disconnect your existing shared drive first” or something and then it succeeds anyway! I disconnected and re-mapped without any error boxes the second time which is why I’m just paraphrasing the two error boxes from memory. No problems re-mapping a third time or any other shared drives from then on. Weird. After that I hopefully tried to msg between machines again to no avail. grrrr….!!!

    Anyway there you go. Probably more confusing than anything but I really hope someone can figure this out so I can reliably annoy those with hangovers lying on my couch with loud msg beeps ongoing. Need a drink after that epic… my typing is poor and slow.

  11. jam says:

    sorry cut and paste error in the scientific test regime above. it should have read:

    On PC2 (Vista):
    ENTER:
    msg 2 test
    RESULT:
    2 does not exist or is disconnected

    Do you think this is something to do with the permissions for making Remote Procedure Calls on a Vista machine? I urgently need to bug my guests before their headaches clear up!

  12. jam says:

    hokey-smokes… and another typo…

    On PC2 (Vista)
    ENTER:
    msg * test OR
    msg 1 test OR
    msg /SERVER:PC2name console test
    RESULT:
    PC2 gets a message from PC2user
    PC1 gets nothing

    oh boy I’m going back to bed zzzzzzzzzzzzz

  13. Marijus Šmiginas says:

    I have the same message “error 5 getting session names” when I’m trying send message via msg to another computer on the windows domain.
    DC Windows Server 2000
    connected to domain different computers (Vista Ultimate, XP)
    I’m logged on vista as domain admin and still getting the same error message either sending message to XP or Vista computer
    What is the problem? Could please anybody help with this error?

  14. Pradeep says:

    when i try to use msg command i get a message acess denied..

  15. me says:

    you have used the term domain, will it work on a workgroup?

  16. KY says:

    I do tried out all the possible command to MSG my domain members and yet error 5 keep on pop up .

    i have configure as Administrator in another Vista machine too (Both Vista Enterprise)

    Can anyone give me some light ? And i do find out in MSG do not have command such as /Domain in Net send .

    so how to send msg to my domain memebr?

  17. Pete says:

    thank you very much for this information!

  18. mbd says:

    Omg I found it, thank you very much. I will be do this.

  19. me says:

    When I use MSG, I get told “MSG is not recognized as an internal or external command, operable program, or batch file.” Why isn’t it working? And why can’t I find anyone with the same problem?

    I am using Vista.

  20. Joshua Xiong says:

    [email protected]
    http://www.myspace.com/JoshuaXiong

    C:\Windows\system32>msg * test OR
    ‘msg’ is not recognized as an internal or external command,
    operable program or batch file.

  21. Christian says:

    I think it would be cool if anyone could answer ME’s question, namely “you have used the term domain, will it work on a workgroup?”.

    Maybe it’s obvious, but I’m not very good at these things. If the answer is no, then I guess I’ll just have to give up the idea of using msg.exe…

  22. Thomaz says:

    D:\Users\dgp>msg /server:beta Administrador “Please contact help desk immediatel
    y!”

    VISTA ULTIMATE + MICROSOFT WINDOWS 2003 ENTERPRISE OK

  23. Lawrence says:

    [quote]When I use MSG, I get told “MSG is not recognized as an internal or external command, operable program, or batch file.” Why isn’t it working? And why can’t I find anyone with the same problem?

    I am using Vista.
    [/quote]

    same here

  24. Neal says:

    Using msg with terminal server and thin clients. Read Controlling Connection Access on Microsoft Technet. January 21, 2005

  25. Nathan says:

    I don’t think windows vista HOME edition includes msg. General Tip: Don’t buy the cheapest version of things!! Best of luck.

  26. Tun says:

    Hi

    Honestly, I don’t know how to connect my mate machine. I used like that msg 192.168.2.31 and then type messsage.

    My one is 192.168.2.40

    How can we connect each other pls

  27. Consoles says:

    I found the solution to Access is Denied errors when using the above commands.
    That’s caused by WinXP SP2.
    you need to add this registry entry:
    HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server
    Name : AllowRemoteRPC
    Type : REG_DWORD
    Value : 1

    Restart and then try sending and it should work.
    Worked for me on 3 out of 3 PC’s so far.

  28. rasqual says:

    Heh.

    My colleague and I have ostensibly identical Vista Enterprise machines. When I try to MSG him, I get an error that doesn’t even Google:

    “Error 1825 getting session names”

    When he tries to MSG me, he gets the error 5 described by commenters here.

    We can both MSG to other, non-Vista machines.

    Bizarre.

    • Joe Kidd says:

      I’m getting the same error that still doesn’t google, except for my own posts. Have you found any solution or at least what was the issue?

      Thanks in advance!

    • dstruct2k says:

      Because this is originally designed for domain usage, to use it within a workgroup, you need the SENDING user account to have permissions on the RECIEVING machine. (XP doesn’t seem to care who it comes from, it’ll always recieve.)

      I’ve found the easiest way to do this is to have accounts on both PCs that have the same username/password.

      Example:

      –PC1 – Sender–
      Username1 / Password1 (Logged on, sending)
      Username2 / Password2 (Not logged on)

      –PC2 – Reciever–
      Username1 / Password1 (Not logged on)
      Username2 / Password2 (Logged on, recieving)

      If your username exists on the recieving machine as an admin, and has the same password, Windows Network Authentication will automatically connect your account on PC1 to your permissions on PC2, which then allows you to get the list of session names and complete the MSG command. If you either don’t have a “mirrored” account at all, or the passwords aren’t the same, Windows Network Authentication won’t see the two accounts as the same one, and will deny access on the recipient’s machine.

      Just another way to keep the spammers out, I guess. Hope this made sense to everyone. :)

  29. Renegade says:

    Took me awhile to figure get this working on my network. After researching what ever I could and reading this thread, plus experimenting, I found that what worked was this:

    msg /server:PCname USERname

    or

    msg /server:PCname *

    Notice that you need to use both the name of the system you want to connect to and the user who is logged in. Although the wildcard (*) works just as well in place of the username.

    But you do need to make the registry edit provided by CONSOLES on August 14th, 2008 for this to work.

  30. some guy says:

    Has anyone been able to MSG a message to a remote machine? The only luck I have is locally, anything else is Error 5, which is strange since I’m logged in with an account that has administrative rights across all the computers I’m messaging in our domain.

  31. KFarr says:

    I have my computers set up like Jam. One Pc is using VISTA ULTIMET and the other has XP pro SP3.

    I have a DLINK wireless N Gigabit Router.

    WIth both computers puged in to the router and with both pcs on the same workgroup.

    I get errors no matter what I do. I think 0 is the only one that works. All I can do is message my self.

    I’ve also tryed with the vista pc pluged in and the xp one wireless, and no luck.

    I can ping both ways, no errors there and like 0ms response time :)

    I belive the reason this doesn’t work is simply the service isn’t turned on. The service must be on for both pcs and it defalts to off as far as I know.

    I could be wrong about this but thats what I belive to be true.

    So I have a few questions to pose to all of you.

    Question the first, How do I toggle this “Terminal Service on and off” ?

    Question 2. Can this work across the net if you know the full ippaths for both computers?

    Question 3. Does anyone have this working well from vista to xp? If So please take print screens of wat you’ve typed and e-mail me.

    Question 4. Does anyone know of the hidden messenger service that microsoft imbeded into xp and vista? I hear it works on any domain. I also assume it’s user freindly with a windowsish U.I. This maybe a mith but it’s worth finding. I haven’t known what my dlls and exes do since the days of 98.

    Any response would be great thanks, KFarr

    [email protected]

  32. Eduardo says:

    It would appear that once more MS managed to brake something that used to work, which in Vista would be about “normal”.
    I can’t wait for this crapo_ware of Vista to go away, and to think that someone got paid to develop such a piece of junk!

  33. MasterMind says:

    @Eduardo:

    Vista is a good OS, and most likely the cause of the problem of malfunctioning is right between the keyboard and the chair!

    If you did some research you would have known that net send had one of the biggest security gaps ever. Remember the windows pop ups when you were on messenger?

    People always like to bring MS down. Feel free to step over to linux or mac osx … See how much you will like that…

    search on how to use things before putting them down!

  34. Vladimir says:

    Net send is gone… But there is a lot of compatible software!
    For example WinSent ( http://www.winsent.ru/eng/ )

  35. 059 says:

    I am also trying to use the msg command, but all I ever get is this error:
    “Error opening Terminal server [servername]
    Error [1722]:The RPC server is unavailable”

  36. Richard says:

    @Mastermind

    Heaven forbid they fix it, or consider some sort of backwards compatibility!

  37. Newbs says:

    If you get the following error:
    Error [1722]:The RPC server is unavailable
    then you need to apply the registry change provided by CONSOLES on August 14th, 2008 for this to work (HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server\AllowRemoteRPC = 1) (was 0)

    My Vista Enterprise PCs had this set to 0 and the MSG command always failed. I set it to 1 and rebooted them and they all work now.

  38. Joey says:

    Now what do I do to use MSG from a Vista machine to a Xp machine?
    Nothing seems to be working for me.

  39. Kalimullah says:

    Thanks allote.. this was really useful and it worked fine.. Thank once again

  40. Smily says:

    I uploaded a datapack, there is a instruction inside for installing the the Windows Massage Function “msg”:
    http://rapidshare.com/files/254530392/Windows_Message__msg.exe_.rar.html
    please upload again for other users!!!

  41. Smile says:

    I tried many things to figure out the problem. Now I found a way to use the Windows Message Function “msg”. I uploaded it here:
    http://rapidshare.com/files/254530392/Windows_Message__msg.exe_.rar.html
    This datapack is just 10 times for download, please upload it again for others!

  42. anonymous says:

    ‘msg’ is not recognized as an internal or external command, operable program or batch file.

    Vista x64 …

  43. Adriano says:

    Hi, Chrissy!

    Thanks for posting this. I was having an issue similar to the ones reported here: looking for a simple replacement for the NET SEND command for sending simple LAN notifications (home and small office for me). What I have found so far from posts here, other forums and my own testing is:

    1- SEND was removed from the available options for the NET command on XP and Vista. The reason is that it basically depends on the Messenger service being active on the computer, and that service can be used maliciously. The Messenger service has also been removed from both XP and Vista.

    2- The MSG command is available from XP Pro and Vista (Business, Enterprise and Ultimate). The Home and/or Starter editions of both do not have it.

    3- For MSG to work without a Terminal Services session, the following registry key must be activated (as described by Consoles above):

    HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server
    Name : AllowRemoteRPC
    Type : REG_DWORD
    Value : 1

    Once created (or changed from “0” to “1”), the key generally works right away, at least for Vista. Anyway, rebooting is recommended since you are dealing with a registry change.

    4- Once the registry is changed, all Windows XP and Vista editions (including Home/Starter ones) will be able to RECEIVE messages sent using MSG. It also resolves the “session names” and “RPC server” error messages.

    5- Computers have to be under the same domain OR workgroup in order to send/receive messages.

    I am currently unable to test in an environment that spreads beyond a single subnet or that contains more than one domain server, but if I find anything about those, I will try to post it here again. I will also try to find a way to have MSG to work at least with the Home editions of Vista, since just copying the MSG.EXE file across editions did not solve the issue.

    Hope this helps… ;o)

    • Peter says:

      G’day Adriano,

      Did you have any luck on finding a way to get home editions of vista to use the msg cmd. I am running all home editions on a small wireless network here. Also, I would like to send a net send to all those people who have an open wireless network surrounding my home here … can;t believe people would not lock down their connections

  44. AdaPat says:

    Use a third party LAN messenger maybe a good choice to replace net send command.
    Check out the comparison between net send command line and LAN messenger.
    http://www.bigantsoft.com/net_send.html

  45. Abe says:

    After reading all the post in here and much trial and error, I was finally successful in sending a message using msg.exe. I am also on a domain and I was continually getting error 5 and error 1722. Utilizing the registry hack from “Newbs” post earlier, (HKLM\System\Currentcontrolset\Control\Terminal server and change Allow Remote RPC from 0 to 1. Understanding that the hack is used to allow the recipient to read the message so apply the hack on the recipient’s computer) and even though I was logged in with local admin rights, (understanding that error 5 means access denied) I still had to run the CMD function with elevated privileges. So, one way to accomplish that is to do a Run As on the command prompt (start, programs, accessories, right click on command prompt and select Run As). The simple string that I used was: C:\ msg /server:computername * then the message (example : C:\ msg /server:computername * John please log off). In lieu of the * you can put the actual user’s name(example: C:\ msg /server:computername john.doe John please log off). Hope this helps.

  46. Abe says:

    Sorry, I wanted to also give a special thanks to Chrissy and Adriano for all of their efforts, Thanks.

  47. shakespeare says:

    Hey, can someone help me out.

    I have got a Vista machine and an xp machine. I have done the registry edit and rebooted both machines. That stopped the errors, but I am still unable to get a message through. As when I send them, cmd tells me, ” doesn’t exist or is disconnected”, when they do exist and are connected…

    This is on a pretty simple home network all in the same workgroup.

    Is there something I have missed?

    Thanks!

  48. matt says:

    Windows-Server 2008 R2 machine couldn’t msg my Windows 7 box due to Error 5 getting session names.
    I found the solution here, in a comment made by Consoles. I reblog it so it can be found easier.

    It turns out it has nothing to do with not being on the same domain or whatever. It is due to a setting related to Terminal Server.
    That’s not to miraculous, since msg.exe is designed for messaging to terminal users.

    So, changing a simple registry value and rebooting makes it all work again.

    Solution
    On the machine that you cannot message to:
    Use regedit to navigate to: HKLMSYSTEMCurrentControlSetControlTerminal Server
    Then change the following value:

    Name : AllowRemoteRPC
    Type : REG_DWORD
    Value : 1

    Reboot. Now it should work

    • BenSam says:

      Hello Matt

      I followed below instructions, but i am still getting same error message ” Error 5 getting session names ”

      My setup is Workgroup both machines are Windows 7 but different version Enterprise and Professional.

      Both machines show up when i do ” net view ” it shows me the list of machines. Thank you

      Solution
      On the machine that you cannot message to:
      Use regedit to navigate to: HKLMSYSTEMCurrentControlSetControlTerminal Server
      Then change the following value:

      Name : AllowRemoteRPC
      Type : REG_DWORD
      Value : 1

  49. BobTodd says:

    I made the registry edit an it made no diff, still got the Error 5 message.

    What made it go away and actually work sending the message was to make a network connection to the machine, e.g. as pc01 and logging in as a user on that machine when promoted for creds (if not public access).

    Both machines are win7 and there's no domain setup.

  50. Stevo says:

    Am convinced this wont work with me. I've used the right syntax but just moving from error to error or sending to my PC.

  51. Matro says:

    Windows XP had the NET SEND command, Windows Vista had the MSG command, and Windows 7 Business, Enterprise, and Ultimate also have the MSG command—seen in the screenshot above—but Windows 7 Home was left out in the cold. There is no simple command-line based messaging tool for LAN-wide messages included with Windows 7 Basic and Home, and recreating the command line experience is a hassle (as you need a replacement for both the command line tool msg.exe and for the messaging services running in the background).

    If you’re not hung up on a command line interface, a simple GUI-based application you may want to check out is Matro LAN messenger. It’s free, styled like a regular IM client, and compatible with net-send/pop-up messages so older PCs on the network won’t even need the app installed to receive the messages.

2 Pings/Trackbacks for "Vista: Net Send is Gone; Use msg console Instead."
  1. […] command There is more information about this command here:Msg: Management Services and here:

  2. mygr8r says:

    Hi GooGui,

    I used to import the data into staging tables and modify the data types of the fields like Chrissy did, until I found some 3rd party tools that eliminated those extra steps. Check out the tools, called DataTools, on pervasivedatatools.com. I've used several of their tools with much success.

    Hope this helps!
    mygr8r

Leave a Reply

Your email address will not be published. Required fields are marked *

*