Link to home
Start Free TrialLog in
Avatar of CBIA
CBIA

asked on

How to enable NETSEND for each workstation on network in order to broadcast system message.

Our exchange server went down today, which left me with no way to contact everyone to let them know I was aware of the situation.

My network setup is 5 Server 2003 Standard Servers, and 50 Windows XP workstations.

I have three questions:

1)  What is the best way to enable NETSEND on each workstation on the network?
2)  How can I broadcast the NETSEND message to everyone?
3)  Is there a better method for notifying co-workers beyond NETSEND or, obviously in this case, email?
Avatar of haim96
haim96

to enable net send to machines across network you need to start the massenger service (not MSN massenger)
you can do that with script.
SOLUTION
Avatar of Lee W, MVP
Lee W, MVP
Flag of United States of America image

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
to broadcast net send just type : net send /?
in the command line.

and a better method will be microsoft communiction server,it's like massenger (MSN)
but for organizations. or some other application similar
to broadcast net send just type : net send /?
in the command line. you will get the exact syntex you need ....  :)
Avatar of CBIA

ASKER

Each workstation does not currently have it running.  What is the best way to enable this service for the entire network?
for each machine you should run :net start messenger
but you need to make sure that it's not in disable mode. (menual is good ...)
you can do thet with login script or startup script via GPO.
Avatar of CBIA

ASKER

Each workstation is in disable mode.

Where can I find an example script?
this VBscript example to change services from menual to disabled :
http://www.microsoft.com/technet/scriptcenter/scripts/os/services/ossvvb18.mspx

play with ths a bit and i hope it will be useful ....
ASKER CERTIFIED SOLUTION
Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
And regarding commandline :

no need to use vbs :

Change state by commandline :

sc config Messenger start= auto


complete sc syntax possible :

DESCRIPTION:
        SC is a command line program used for communicating with the
        Service Control Manager and services.
USAGE:
        sc <server> [command] [service name] <option1> <option2>...


        The option <server> has the form "\\ServerName"
        Further help on commands can be obtained by typing: "sc [command]"
        Commands:
          query-----------Queries the status for a service, or
                          enumerates the status for types of services.
          queryex---------Queries the extended status for a service, or
                          enumerates the status for types of services.
          start-----------Starts a service.
          pause-----------Sends a PAUSE control request to a service.
          interrogate-----Sends an INTERROGATE control request to a service.
          continue--------Sends a CONTINUE control request to a service.
          stop------------Sends a STOP request to a service.
          config----------Changes the configuration of a service (persistent).
          description-----Changes the description of a service.
          failure---------Changes the actions taken by a service upon failure.
          qc--------------Queries the configuration information for a service.
          qdescription----Queries the description for a service.
          qfailure--------Queries the actions taken by a service upon failure.
          delete----------Deletes a service (from the registry).
          create----------Creates a service. (adds it to the registry).
          control---------Sends a control to a service.
          sdshow----------Displays a service's security descriptor.
          sdset-----------Sets a service's security descriptor.
          GetDisplayName--Gets the DisplayName for a service.
          GetKeyName------Gets the ServiceKeyName for a service.
          EnumDepend------Enumerates Service Dependencies.

        The following commands don't require a service name:
        sc <server> <command> <option>
          boot------------(ok | bad) Indicates whether the last boot should
                          be saved as the last-known-good boot configuration
          Lock------------Locks the Service Database
          QueryLock-------Queries the LockStatus for the SCManager Database
EXAMPLE:
        sc start MyService
when the server goes down, you cant do this, it assumes the server is up.
note that if the user is not admin he mey have a problem to start the service
or change the state from disable to menual.
in this case the best way is using GPO or startup script (using VB or  command line)
because they run as admin even user is login to network.
in any way you should considere the security risks when enable the messenger service.
(some virus like alot this service )

ps , by using VB the user will not get the black cmd window while startup
this whay i prefer VB ....
Here's one that will go through an OU (and any sub-OUs) and change the service startup type to Manual, then start the service.  Change the strComputerOU.  I've tested it on my small test OU and it works fine.  This recursively steps though the OU, and applies this to all Computer objects.  I've commecnted out the WScript.Echo line, but you can uncommment it to see it as its happening.  

Just save the file with a .vbs extension and run.  Enjoy.

----------------------
On Error Resume Next
'connect to the directory
Dim rootDSE, domainObject
Set rootDSE=GetObject("LDAP://RootDSE")
strComputerOU = "OU=Computers,DC=domain,DC=com"
Set oOU = GetObject("LDAP://" & strComputerOU)

'start with the parent OU
WorkWithObject(oOU)

Sub WorkWithObject(oContainer)
   Dim oADObject
   For Each oADObject in oContainer
      Select Case oADObject.Class
         Case "computer"
               'oADObject represents a COMPUTER object;
               'do something with it
                     strComputer = Split(oADObject.Name, "=")(1)
                     'WScript.Echo strComputer
                        Set oWMI = GetObject("winmgmts://" & strComputer)
                        strServiceName = "Messenger"
                        strWQL = "Select state from Win32_Service " _
                            & "Where displayname='" & strServiceName & "'"
                        Set oResults = oWMI.ExecQuery(strWQL)
                        For Each oService In oResults
                                oService.ChangeStartMode("Manual")
                                If Not LCase(oService.State) = LCase("Running") Then
                                  oService.StartService
                                End If
                        Next
         Case "organizationalUnit" , "container"
               'oADObject is an OU or container...
               'go through its objects
               WorkWithObject(oADObject)
      End select
   Next
End Sub
----------------------------------
Oh, and by the way, you can also use psservice from Sysinternals to remotely start services.  That can take input from a text file, so you can just right click on the appropriate OU, select "Export List", format resulting list to fix it up, then start the service that way
I don’t recommend enabling the messenger service, especially if the computer is internet facing (like traveling laptops). There are lots of security reasons messenger come disabled by default on XP. Still in a small network messenger and net send my be your best practical cheep communication method – minus having someone yell across the office that e-mail is down.

If you are interested in one way communications Vypress Auvis may work for you:
http://www.vypress.com/products/auvis/ 
i agree with fahhudi's answer. force the messenger service to start with group policy on your worstation and then you can send your net send messager. net send * "message"