Aprende Informatica Conmigo

  • Inicio
  • Contenido Anterior
    • VIDEOTUTORIALES
    • Windows Server 2008
    • POWERSHELL

6 junio, 2009 Por oscar 4 comentarios

Script Powershell – Apagar equipos remotamente – Ver. 3.0

Esto parece que va funcionando, ¿no?

A mi por lo menos si que me es util este script y espero que a vosotros tambien.

Bueno, como os comente en el articulo de la version 2.0 de este script, ahora vamos  a ver como podemos utilizar un fichero de texto en el que previamente hemos introducido los nombres de los equpios que queremos apagar para que los vaya comprobando uno a uno y apagando si es el caso.

En primer lugar creamos un fichero de texto que yo le voy a llamar «equiposapagar.txt» y en el introducimos los equipos que queramos apagar. Como ejemplo podemos poner:

fabrica1

fabrica2

compras3

Podemos poner todos los equipos que queramos. Ojo con incluir servidores o equipos que no deberian apagarse, eh!

Lo primero a tener en cuenta es que en este script no necesitamos ningun dato de entrada, es decir, que al ejecutar el script unicamente escribiremos el nombre del fichero: apagarequipos.ps1

Una vez que tenemos claro esto, nos ponemos manos a la obra con la novedad de esta version: el famoso fichero de texto del cual deberemos cargar su contenido. La linea en custion es la siguiente:

$equiposapagar = get-content -path «c:\power\scripts\equiposapagar.txt»

Interpretamos que, mediante el cmdlet «get-content«, guardamos la informacion del fichero «c:\power\scripts\equiposapagar.txt» en la variable $equiposapagar.

Esto nos queda claro, ¿no?

Otra de las novedades de este script es que utilizaremos la orden «foreach-object» para recorrer todos y cada uno de los equipos que ahora tenemos guardados en la variable $equiposapagar.

A continuacion tenemos el codigo:


#Script: apagarequipos.ps1
#Version: 3.0
#
#Autor: Oscar Abad Folgueira
#Web:   https://www.aprendeinformaticaconmigo.com
#Fecha: 25 de Abril de 2009
#
#Tipo: Powershell
#Funcion: Recorre un fichero de texto con nombres de equipo y los va apando uno a uno.
#
#Parametros: No necesita parametros de entrada.
#Uso: apagarequipos.ps1
#
#
#obtener la lista de equipos que se pueden apagar y guardarla en la variable»$equiposapagar»
$equiposapagar = get-content -path «c:\power\scripts\equiposapagar.txt»
#
#Bucle «foreah-object» que recorre todos los equipos del fichero para ver si estan apagados y si es asi
#los apaga
#
$equiposapagar | foreach-object {
$equipo = $_
$estado = get-wmiobject -query «select statuscode from win32_pingstatus where address = ‘$equipo'»
if ($estado.statuscode -eq 0) {
(get-wmiobject -class win32_operatingsystem -computername $equipo).win32shutdown(12)
}
}


Creo que no es nada dificil entender el fucnionamiento.

Probad tambien este script si podeis. Yo personalmente lo he puesto en varias fabricas para revisar los equipos que se quedan encendidos por las noches y si estan encendidos, apagarlos.

Yo he añadido unas lineas para crear un log de los equipos que estan encendidos por que siempre esta bien saber cuantos equipos apagamos y, de este modo, si el trabajo merece la pena por el ahorro de consumo.

Venga, espero que me comenteis que tal os ha funcionado.

A pasarlo bien!!

—–
Oscar Abad
http://www.xulak.com – Consultoría informática

oscar
oscar

Programador WordPress freelance

Publicado en: powershell, programacion, scripts powershell, sistemas, tutoriales Etiquetado como: apagar equipos remotamente, aprendeinformaticaconmigo, powershell, scripts

31 mayo, 2009 Por oscar 2 comentarios

Script Powershell – Apagar equipos remotamente

Bueno, como lo prometido es deuda, hoy vamos a escribir nuestro primer script en Powershell.

En este caso vamos a utilizarlo para apagar equipos remotamente.

A continuacion muestro el codigo completo:


#Script: apagarequipos.ps1
#Version: 1.0
#
#Autor: Oscar Abad Folgueira
#Web:   https://www.aprendeinformaticaconmigo.com
#Fecha: 25 de Abril de 2009
#
#Tipo: Powershell
#Funcion: Apagar equipos remotamente.
#
#Parametros: nombre el equipo a apagar.
#Uso: apagarequipos.ps1 equipo
#
#

Param($equipo)         #parametro de entrada (Nombre del equipo a apagar).

(get-wmiobject -class win32_operatingsystem -computername $equipo).win32shutdown(12)


Ahora toca explicar un poco lo que hace el script y como lo hace.

En primer lugar debemos saber, si no lo sabemos ya o nos lo imaginamos, que todo lo que escribimos despues del caracter almoadilla (#) es un comentario. Por consiguiente, si nos fijamos, nuestro script consta de 2 lineas unicamente.

La primera linea efectiva: Param($equipo) la utilizamos para recoger en la variable $equipo el nombre del equipo que hemos tecleado despues de apagarequipos.ps1 y que se corresponde con el equipo que queremos apagar.

Por ejemplo, cuando utilicemos el script, lo haremos de la siguiente forma: apagarequipos.ps1 compras1

Esto lo que hara sera intentar apagar el equipo «compras1» si es que esta encendido, claro. Si no está encendido nos dara un mensaje de error. De todas formas, como este script es solo para que veamos como funciona esto y no nos compliquemos demasiado, no os preocupeis por que lo vamos a mejorar un poco en posteriores artiulos.

La segunda linea efectiva lo que hace es utilizar las clases WMI de Windows. En este caso utilizamos la clase «win32_operatingsystem» la cual, entre otros, dispone de un metodo llamado «win32shutdown» y admite una serie de valores.

Para saber mas sobre este metodo y sobre los valores que admite, podemos visitar esta pagina web.

Para poder probar este script, ya sabeis, y si no lo sabeis os lo comento ahora. Teneis que copiar el codigo que os he puesto arriba y guardarlo en un fichero con extension «ps1«. El resto corre de vuestra cuenta.

No estaria de mas que le echarais un vistazo al apartado de Powershell del Blog para que os aclare algunas cosillas que puede que no las tengamos claras en este momento.

Bueno, creo que con esto tenemos suficiente para empezar con los scripts en Powershell. Ya iremos viendo mas y mas poco a poco.

Venga, a pasarlo bien!!

—–
Oscar Abad
http://www.xulak.com – Consultoría informática

oscar
oscar

Programador WordPress freelance

Publicado en: programacion, scripts powershell, sistemas, tutoriales Etiquetado como: apagar equipos remotamente, aprendeinformaticaconmigo, powershell, script powershell

Hazte con el tema Divi

Divi WordPress Theme
Libro windows server 2008

Libro certificación Windows Server 2016

Libro certificación Windows Server 2016

Libro Windows Server 2016

Libro Windows Sever 2016
Web Hosting

Últimos artículos

  • PHP función var_dump(): Mostrar el contenido de una variable
  • PHP función unset(): Eliminar variables
  • MySQL LIMIT: Limitar la canidad de filas en una consulta
  • PHP función isset(): Evaluar si una variable está definida
  • PHP función empty(): Comprobar si una variable está vacía
  • MySQL SELECT DISTINCT para encontrar registros con diferente valor en el mismo campo
  • Los mejores libros en español para aprender WordPress

Mis Webs

  • Aprende Informática Conmigo
  • Dinapyme
  • MUSIKP
  • Oscar Abad Folgueira

Proyectos

  • Basabe Baserria
  • Batukada Battuere
  • Bicicletas Sin Pedales
  • Bordalan
  • C.R. Pantano del Rumblar
  • Dinapyme
  • DiverBiblio
  • Egia Ingenieros
  • Hermanos Vivas construcciones
  • Ibartxi – Suministros de Gas y Soldadura
  • LANBASE
  • LS Fotografía
  • Luke and Phil
  • Masajes Mas Sana
  • MUSIKP
  • Oh! Yeah Dev
  • Oscar Abad Folgueira
  • Participación ciudadana Basauri
  • Restaurante Bideko
  • Taldesport
  • Vicente Choya
  • WooCommerce Knowledge2K
  • Inicio
  • Contenido Anterior

Copyright © 2023 · Oscar Abad Folgueira Y DINAPYME· Acceder