What he’s doing with the * though is sending a message to all users of that particular computer, versus specifying a username, sessionname, sessionid. In my testing it always comes up as a message box already. What exactly are you seeing on the remote machines?
Please note the following.
You can use msg.exe natively, you don’t need to invoke a powershell command. Simply use msg /server:remotepc * 'message'
You need administrative rights on the target nodes otherwise the message will be be sent to the local machine.