In order to offer unsolicited remote assistance, you can use the following command:
%windir%\system32\msra.exe /offerra
If you are not logged in as a user who has elevated privileges, you may have to use:
runas.exe /netonly /user:{domain}\{user} "%windir%\system32\msra.exe /offerra"
If you receive errors like this:
RUNAS ERROR: Unable to run - {program} 1326: Logon failure: unknown user name or bad password.
…you may have to use the ‘/netonly’ argument to logon remotely without creating a local user profile on the remote machine.
runas.exe /netonly /user:{domain}\{user} "%windir%\system32\msra.exe /offerra"
When offering remote assistance to computers across Active Directory domains (i.e. ‘mycomputer.mydomain.com‘ offering assistance to ‘yourcomputer.yourdomain.com‘, make sure you enter the name of the remote computer in full (‘yourcomputer.yourdomain.com‘ instead of just ‘yourcomputer‘). Alternatively, just use the IP address of the remote computer rather than its host name.
If you were to use this to provide computer assistance to home users, you would need to open a port on the firewall of the remote computer and configure port forwarding on the ADSL modem. Not ideal.
Popular services like Teamviewer, RemoteUtilities, LogMeOn, etc. use a client agent that is installed on the remote computer that connects to a service provider (outbound TCP/IP traffic). The other party uses a connecting utility (or simply a web browser) to connect to the service provider (outbound TCP/IP traffic). Once the connection has been initiated from both ends, you can send and receive data packets both ways (i.e. for screen sharing).
The reason you do not need to configure your ADSL modem or computer firewall in this case is because the connection is initiated from both ends. Outbound traffic is not restricted by firewalls and does not require NAT (‘port forwarding’). Once the connection is established, incoming traffic in response to the outbound traffic is allowed to pass through the firewall.
For this reason these utilities will always attempt to connect to a service provider; a ‘man in the middle’ if you like – typically a HTTPS website capable of handling streaming encrypted data.