Windows Vista

MSG.EXE replaces Net Send in Windows Vista

When using Windows XP and previous operating systems one could easily send messages from one computer to another by using the “Net Send” command from the command prompt. Typing a command like this:

​Net send Daniel "Please contact help desk immediately!"

Would result in the computer searching for the location where the user Daniel has last logged on, or in case of a computer, where the computer called Daniel is listed, and would send that message to that user or computer. You should note that this method of sending messages was made available by the Messenger service running on the target machine. Without it, there could be no messages transmitted to that computer.

Sponsored Content

Passwords Haven’t Disappeared Yet

123456. Qwerty. Iloveyou. No, these are not exercises for people who are brand new to typing. Shockingly, they are among the most common passwords that end users choose in 2021. Research has found that the average business user must manually type out, or copy/paste, the credentials to 154 websites per month. We repeatedly got one question that surprised us: “Why would I ever trust a third party with control of my network?

Note: Windows XP SP1 (or was it SP2? I can’t remember right now) disabled the Messenger service by default. So does Windows Server 2003 SP1.

Long story made short, when using Windows Vista one might go looking for the “Net send” in Vista and wonder where it went. There is NO “Net send” command in Vista… However, there is a solution. You can use MSG.EXE instead.

Note: Apparently Windows Vista Home Basic and Home Premium editions do not have the msg.exe command installed. It does work on Vista Business, Enterprise or Ultimate edition.

Click on the Start button, type CMD in the search box and press Enter.

Next, test MSG.EXE by typing the following command:

​C:'Windows'system32>msg /?
Send a message to a user. 

MSG {username | sessionname | sessionid | @filename | *}
 [/SERVER:servername] [/TIME:seconds] [/V] [/W] [message] 

 username Identifies the specified username.
 sessionname The name of the session.
 sessionid The ID of the session.
 @filename Identifies a file containing a list of usernames,sessionnames, and sessionids to send the message to.
 * Send message to all sessions on specified server.
 /SERVER:servername server to contact (default is current).
 /TIME:seconds Time delay to wait for receiver to acknowledge msg.
 /V Display information about actions being performed.
 /W Wait for response from user, useful with /V.
 message Message to send. If none specified, prompts for it or reads from stdin. 

Running a command like this one:

​C:'msg /server:poseidon daniel "Please contact help desk immediately!"

Will result in a message being sent to the poseidon computer, to Daniel’s session.


BTW, the MSG.EXE command does NOT require the Messenger service to be running on the target computer.

Got a question? Post it on our Windows Vista Forums!

Related Topics:

Don't leave your business open to attack! Come learn how to protect your AD in this FREE masterclass!REGISTER NOW - Thursday, December 2, 2021 @ 1 pm ET

Active Directory (AD) is leveraged by over 90% of enterprises worldwide as the authentication and authorization hub of their IT infrastructure—but its inherent complexity leaves it prone to misconfigurations that can allow attackers to slip into your network and wreak havoc. 

Join this session with Microsoft MVP and MCT Sander Berkouwer, who will explore:

  • Whether you should upgrade your domain controllers to Windows Server
    2019 and beyond
  • Achieving mission impossible: updating DCs within 48 hours
  • How to disable legacy protocols and outdated compatibility options in
    Active Directory

Sponsored by: