Manejar servicios de Windows remotamente

Hola compañeros:

Hoy os voy a hablar de un comando que la verdad es muy útil a la hora de trabajar con servicios de Windows. En muchas ocasiones me he encontrado que he tenido que reiniciar un servicio de Windows en un servidor remoto. Para realizar esa tarea contamos con un comando muy útil que es sc. Este comando tiene una utilidad mucho mayor que simplemente parar o iniciar un servicio, ya que nos permite hasta crear un servicio en el propio servidor.

Para parar un servicio tenemos que usar el comando de la siguiente manera:

sc "nombre del servidor" STOP "nombre del servicio"

Por ejemplo: sc \\svr01 STOP SNMP

Para iniciarlo, usaríamos la siguiente expresión:

sc "nombre del servidor" START "nombre del servicio"

Por ejemplo: sc \\svr01 START SNMP

Para conocer el nombre concreto del servicio, solo tendréis que iros a Panel de Control\Herramientas Administrativas\Servicios. Haciendo doble clic en el servicio que queráis, podréis ver el nombre del servicio que tenéis que usar en el comando en la pestaña General.

Si escribís sc en la línea de comandos, la información que os aparecerá será la siguiente:

C:\> sc

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

Would you like to see help for the QUERY and QUERYEX commands? [ y | n ]: y

QUERY and QUERYEX OPTIONS :

If the query command is followed by a service name, the status
for that service is returned. Further options do not apply in
this case. If the query command is followed by nothing or one of
the options listed below, the services are enumerated.
type= Type of services to enumerate (driver, service, all)
(default = service)
state= State of services to enumerate (inactive, all)
(default = active)
bufsize= The size (in bytes) of the enumeration buffer
(default = 4096)
ri= The resume index number at which to begin the enumeration
(default = 0)
group= Service group to enumerate
(default = all groups)

SYNTAX EXAMPLES

sc query - Enumerates status for active services & drivers
sc query messenger - Displays status for the messenger service
sc queryex messenger - Displays extended status for the messenger service
sc query type= driver - Enumerates only active drivers
sc query type= service - Enumerates only Win32 services
sc query state= all - Enumerates all services & drivers
sc query bufsize= 50 - Enumerates with a 50 byte buffer.
sc query ri= 14 - Enumerates with resume index = 14
sc queryex group= "" - Enumerates active services not in a group
sc query type= service type= interact - Enumerates all interactive services
sc query type= driver group= NDIS - Enumerates all NDIS drivers


Si hacéis una consulta del estado de un servicio, usando sc query, la información que obteneis es la siguiente:

C:\> sc query ssdpsrv

SERVICE_NAME: ssdpsrv
TYPE : 20 WIN32_SHARE_PROCESS
STATE : 4 RUNNING (Nos indica que el servicio ya está arrancado)
(STOPPABLE,NOT_PAUSABLE,IGNORES_SHUTDOWN)
WIN32_EXIT_CODE : 0 (0x0)
SERVICE_EXIT_CODE : 0 (0x0)
CHECKPOINT : 0x0
WAIT_HINT : 0x0

C:\>


Si el servicio que queremos detener es un servicio del que dependen otros, se tendrán que detener éstos antes de parar el que nosotros queremos.

Espero que os haya sido útil al información.

Un saludo.

La evolución del escritorio de Windows

Hola compañeros:

Aquí os dejo un video curioso en el que se puede ver como ha evolucionado el escritorio de Windows a lo largo de los años. Está claro que todas las entradas no van a ser técnicas, ¿no?

Un saludo.




Servidor de Impresión Windows 2003

Hola compañeros:

Para empezar esta nueva andadura, añado una entrada que os puede ser de mucha ayuda.

Pues bien, en honor a mi compañero Jaime, os pongo como poder modificar el número de impresoras que se listan en la página principal de un servidor de impresión de Windows 2003 Server. Tenéis que ir al directorio C:\Windows\Web\Printers. Allí encontrareis un archivo denominado ipp_0001.asp. Lo abrís y buscáis la línea Const iPrinterLength = 10 que se encuentra por el principio del archivo. Solo tendréis que modificar el valor que viene por defecto, 10, y poner el que vosotros queráis. Así de sencillo. Guardáis el documento y ya tendréis modificado el número máximo de impresoras que se pueden listar en la misma página.

Bueno, espero que os pueda servir en alguna ocasión.

Presentación

Hola compañeros:

Ya llevaba tiempo queriendo crear un lugar donde poder poner todas esas cosas relacionadas con Windows y Microsoft en general. A lo largo de las diferentes entradas, intentaré explicar como he solucionado problemas que me he encontrado, y explicar cosas interesantes.

Espero poder servir de ayuda a muchos de vosotros.