Pasar un servicio a modo Deshabilitado

Iniciado por Gorky, 5 Mayo 2006, 00:31 AM

0 Miembros y 1 Visitante están viendo este tema.

Gorky

Buenas foreros. Me gustaria saber como hacer que un servicio se ponga en deshabilitado. Pero no confundirlo con detener el servicio que son dos cosas distintas y eso si se hacerlo. Gracias por cualquier consejo.

Gorky

Ya que veo que esto es algo no muy usual, sabrian decirme algun lugar donde informarme sobre la manipulacion de servicios? Gracias.

Eternal Idol

Con la API de Windows:
OpenSCManager
OpenService
ChangeServiceConfig

Esta ultima tiene un parametro llamado dwStartType (el tercero) que tenes que ponerlo a SERVICE_DISABLED.
La economía nunca ha sido libre: o la controla el Estado en beneficio del Pueblo o lo hacen los grandes consorcios en perjuicio de éste.
Juan Domingo Perón

Gorky

Muchas gracias Eternal Idol. Ya con eso me informo de su uso y a darle caña.  ;)

Eternal Idol

Cita de: Gorky en  6 Mayo 2006, 12:05 PM
Muchas gracias Eternal Idol. Ya con eso me informo de su uso y a darle caña.  ;)

De nadas, esa era la intencion. Por cierto usando la misma logica podes parar un servicio:

OpenSCManager
OpenService
ControlService.

;D
La economía nunca ha sido libre: o la controla el Estado en beneficio del Pueblo o lo hacen los grandes consorcios en perjuicio de éste.
Juan Domingo Perón

Gorky

Gracias pero el ControlService si lo conocia. El ChangeServiceConfig lo pretendo usar para un servicio que no me permite usar el ControlService. Gracias por tu tiempo.

tRekU

Pues na .. hay vamos con otra opcion mas FREAK..

Con la ventanuca negra .. nuestra consola de comandos ..

el famoso   "SC.EXE"

Intrinseco en sistemas como 2003 y XP ...


C:\>sc /?
*** Unrecognized Command ***
DESCRIPTION:
        SC is a command line program used for communicating with the
        NT Service Controller 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 (persistant).
          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



Por lo tanto ..


C:\>sc config /?
Modifies a service entry in the registry and Service Database.
SYNTAX:
sc <server> config [service name] <option1> <option2>...
CONFIG OPTIONS:
NOTE: The option name includes the equal sign.
type= <own|share|interact|kernel|filesys|rec|adapt>
start= <boot|system|auto|demand|disabled>
error= <normal|severe|critical|ignore>
binPath= <BinaryPathName>
group= <LoadOrderGroup>
tag= <yes|no>
depend= <Dependencies(separated by / (forward slash))>
obj= <AccountName|ObjectName>
DisplayName= <display name>
password= <password>

C:\>


Y entoncesss.....


C:\>sc query WZCSVC

SERVICE_NAME: WZCSVC
        TYPE               : 20  WIN32_SHARE_PROCESS
        STATE              : 4  RUNNING
                                (STOPPABLE,NOT_PAUSABLE,ACCEPTS_SHUTDOWN)
        WIN32_EXIT_CODE    : 0  (0x0)
        SERVICE_EXIT_CODE  : 0  (0x0)
        CHECKPOINT         : 0x0
        WAIT_HINT          : 0x0

C:\>


Por lu tanto ....


C:\>sc config WZCSVC start= disabled
[SC] ChangeServiceConfig SUCCESS



LISTO !!!!!

Si miramos la lista de servicios lo veremos como deshabilitado ..

Salu2

Eternal Idol

Genial ... ¿Solo necesitamos que tenga ese programa?
La economía nunca ha sido libre: o la controla el Estado en beneficio del Pueblo o lo hacen los grandes consorcios en perjuicio de éste.
Juan Domingo Perón

Gorky

Cita de: Eternal Idol en  8 Mayo 2006, 10:15 AM
Genial ... ¿Solo necesitamos que tenga ese programa?

Pero... por lo que tReKu dice, viene incluido en los Windows basados en NT. Es decir, los mismos en los que existen los NT Services. No es asi?

Eternal Idol

Cita de: Gorky en  8 Mayo 2006, 10:22 AMPero... por lo que tReKu dice, viene incluido en los Windows basados en NT. Es decir, los mismos en los que existen los NT Services. No es asi?

Servicios como tal solo hay en Windows NT (no en 9x) pero creo que ese programa no esta en todas las versiones; de cualquier manera no me parece que la solucion ideal pase por usar programas en vez de llamar a la API de Windows.

PD. Windows NT:
3.51
4.0
5.0 (Windows 2000)
5.1 (Windows XP)
5.2 (Windows 2003 Server)
6.0 (Windows Vista)
La economía nunca ha sido libre: o la controla el Estado en beneficio del Pueblo o lo hacen los grandes consorcios en perjuicio de éste.
Juan Domingo Perón