Hola a todos,
Me he encontrado este post que tenía guardado desde hace …. un año o_O . Otra píldora sobre Powershell, ese gran y desconocido amigo que nos hace las tareas administrativas mucho más fáciles.
«Hace poco (ahora hace un año!!!), me pidieron chequear con qué usuario se estaban ejecutando cada servicio en todos los servidores y me dije, esto con Powershell seguro que lo hacemos sin ningún problema»
Estube buscando como enfocarlo y pensé que si tenía la lista de todos los servidores podía volcarla a un fichero de texto y, despues, chequear y obtener las cuentas que ejecutan los servicios. Eso es!!! 😀
Primero necesitamos un fichero txt con un listado de los servidores, en este caso no eran mas de 10 y lo denominaremos «Server_list.txt«, super ocurrentes los nombre que pongo 😉
Y también, había visto cómo obtener los servicios de un servidor, utilizando Get-WmiObject Win32_service para recuperar la información sobre un objeto de un servicio.
Hice un par de pruebas y me quedé con este script:
1 2 3 4 |
<strong><em>$server_names = Get-Content "C:\Servers_list.txt" Foreach ($server in $server_names){ Get-WmiObject Win32_service | Where-Object {$_.state -eq "Running"} | Group-Object -Property StartName | Format-Table $server,Name, Count -auto >> c:\ServiceAccounts.txt }</em></strong> |
El resultado es un listado del número de servicios que cada usuario ejecuta en cada servidor. Et voilá!!!
De esta primera prueba se pueden hacer variaciones con permutaciones y obtener fantásticos resultados, detalle que os recomiendo encarecidamente y me los hagais llegar.
Que tengais muy buena semana….