Stopper un service sur tout un parc

Stopper un service sur tout un parc - Windows & Software

Marsh Posté le 13-09-2004 à 18:09:52    

Bonjour à toutes et à tous,
 
J'aurais voulu savoir s'il était possible, depuis un DC par exemple, de lancer la commande "net stop this_service" sur tous les ordis du domaine?
 

  • Si oui, quelle en serait la syntaxe? Genre "net stop \\pc1\this_service" (j'ai déjà essayé!!!)
  • Si non, y a-t-il des outils qui font ça, et si oui, lesquels?
  • Si re-non, je peux faire un script dos (ou autre) qui lance la commande en remote après avoir récupéré les noms de toutes les machines du domaine, mais comment fait-on l'équivalent d'un rsh sous Windows? (Si possible sans installer Cygwin sur toutes les bécanes!!!)


Merci d'avance pour vos tuyaux.
Tchô


---------------
Combien de programmeurs travaillant chez Microsoft est-ce que cela prend pour changer une ampoule électrique? Aucun: Si l'ampoule est grillée, Microsoft déclare l'obscurité comme nouveau standard.
Reply

Marsh Posté le 13-09-2004 à 18:09:52   

Reply

Marsh Posté le 13-09-2004 à 18:12:58    

Reply

Marsh Posté le 13-09-2004 à 18:32:36    

Rhâââââââââââ Lovely!!!!!!!!!!!!!! Pile poil ce que je voulais!!!!!
 
En plus je les adore les mecs de SysInternals, y a plein d'outils géniaux GRA-TUITS sur leur site!!!!! Donc, je ne connais pas toutes les pages du site!
 
Merci pour l'info!
Tchô


---------------
Combien de programmeurs travaillant chez Microsoft est-ce que cela prend pour changer une ampoule électrique? Aucun: Si l'ampoule est grillée, Microsoft déclare l'obscurité comme nouveau standard.
Reply

Marsh Posté le 14-09-2004 à 02:59:09    

On peut scripter ca tres simplement avec un scrip vbs!
par exemple le script suivant stop le service 'spooler' sur tout les ordinateurs present dans la base AD. le script verifie que le pc est disponible avant de ce connecter au service WMI avec un ping.
on peut interroger seulement une OU plutot que tout le domaine si on veut, il y'a juste a rajouter 'OU=ouname,' apres le 'LDAP://' a la 4eme ligne.

Code :
  1. On Error Resume Next
  2. Const ADS_SCOPE_SUBTREE = 2
  3. Set objRootDSE = GetObject("LDAP://rootDSE" )
  4. strADsPath = "LDAP://" & objRootDSE.Get("defaultNamingContext" )
  5. Set objConnection = CreateObject("ADODB.Connection" )
  6. Set objCommand = CreateObject("ADODB.Command" )
  7. objConnection.Provider = ("ADsDSOObject" )
  8. objConnection.Open "Active Directory Provider"
  9. objCommand.ActiveConnection = objConnection
  10. objCommand.Properties("Page Size" ) = 1000
  11. objCommand.Properties("Searchscope" ) = ADS_SCOPE_SUBTREE 
  12. objCommand.CommandText = _
  13. "SELECT Name FROM " _ 
  14.  & "'" & strADsPath & "'" _
  15.   & " WHERE objectClass='computer'"
  16. Set objRecordSet = objCommand.Execute
  17. objRecordSet.MoveFirst
  18. Do Until objRecordSet.EOF
  19.   strComputer = objRecordset.fields("Name" ).Value
  20.   Set objShell = CreateObject("WScript.Shell" )
  21.   Set objScriptExec = objShell.Exec("ping -n 2 -w 1000 " & strComputer)
  22.   strPingResults = LCase(objScriptExec.StdOut.ReadAll)
  23.   If InStr(strPingResults, "reply from" ) Then
  24. Set objWMIService = GetObject("winmgmts:" _
  25.     & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2" )
  26. Set colServices = objWMIService.ExecQuery _
  27.     ("SELECT * FROM win32_Service WHERE Name = 'Spooler'" )
  28. For Each objService in colServices
  29.     errReturnCode = objService.StopService()
  30.                         Wscript.echo objservice.name, "service stopped on computer", strComputer
  31.    Next
  32.   Else
  33.         Wscript.Echo "Unable to connect to " & strComputer
  34.   End If
  35. objRecordSet.MoveNext
  36. Loop


Message édité par knives le 14-09-2004 à 02:59:49
Reply

Marsh Posté le 14-09-2004 à 03:05:38    

ah aussi, on peut modifier le mode de demarrage des services avec les GPO, ca prend effet au prochain redemarrage ou a la prochaine actualisation des GPO.
computer config --> windows settings --> security settings --> system services

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed