Script para control de servicios en servers
Publicado por Adrian (5 intervenciones) el 15/03/2018 16:31:12
Hola a todos!
Soy nuevo en el foro y quisiera hacerles una consulta sobre un código que me está haciendo doler mucho la cabeza.
A través del siguiente script quisiera controlar ciertos servicios en varios servidores remotos a los cuales tengo acceso a través de una VPN sin problema.
El inconveniente es que al querer optimizar el script para que haga los controles a través de un FOR llamando a una función no me está trayendo información cuando controla si lo encuentra corriendo o no.
Como adicional y para que comprendan el script tengo también un TXT con todos los servers listados, una carpeta (Services) donde hay varios TXTs con el nombre de cada server como nombre de archivo y como contenido los servicios de cada server. Y por otro lado otra carpeta (Outs) donde se genera un TXT para cada server.
Le agradeceré mucho si me pueden ayudar con esto.
Y por otro lado, les comento que la idea es tener un script que pueda acceder a los servidores y que además de controlar ciertos servicios también pueda controlar el espacio en discos, memoria, CPU, etc. Si saben de algún script que pueda hacer eso y me lo pueden pasar se los agradeceré mucho también. Podría ser en VB también, lenguaje que manejo bien.
Desde ya, muchas gracias!
Soy nuevo en el foro y quisiera hacerles una consulta sobre un código que me está haciendo doler mucho la cabeza.
A través del siguiente script quisiera controlar ciertos servicios en varios servidores remotos a los cuales tengo acceso a través de una VPN sin problema.
El inconveniente es que al querer optimizar el script para que haga los controles a través de un FOR llamando a una función no me está trayendo información cuando controla si lo encuentra corriendo o no.
Como adicional y para que comprendan el script tengo también un TXT con todos los servers listados, una carpeta (Services) donde hay varios TXTs con el nombre de cada server como nombre de archivo y como contenido los servicios de cada server. Y por otro lado otra carpeta (Outs) donde se genera un TXT para cada server.
Le agradeceré mucho si me pueden ayudar con esto.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
@echo off
Setlocal EnableDelayedExpansion
del /f /q .\Outs\out_*.txt
cls
for /f %%z in (.\Servers.txt) do call :Control %%z
exit
:Control
echo ANALYZING SERVICES IN SERVER "%1" ...
for /f "tokens=*" %%x in (.\Services\%1.txt) do (
sc \\%1 query %%x | find "STATE" | find "RUNNING"
if %errorlevel%==0 (echo Server: "%1" - Service: "%%x" - State: "RUNNING") else (echo Server: "%1" - Service: "%%x" - State: "NOT RUNNING") >> .\Outs\Out_%1.txt
)
exit
Y por otro lado, les comento que la idea es tener un script que pueda acceder a los servidores y que además de controlar ciertos servicios también pueda controlar el espacio en discos, memoria, CPU, etc. Si saben de algún script que pueda hacer eso y me lo pueden pasar se los agradeceré mucho también. Podría ser en VB también, lenguaje que manejo bien.
Desde ya, muchas gracias!
Valora esta pregunta


0