Script de apagado remoto de pcs con PowerShell

Un script muy sencillo os dejo que recoge los nombres de los equipos que queremos apagar del fichero “computers.txt” y ejecuta el comando de apagado remoto para cada uno de ellos.

Puede ser muy util para apagar los ordenadores que tus usuarios de dejan encendidos.

Se puede utilizar en el programador de tareas de windows poniendo  Powershell.exe Ruta_hasta_el_fichero_ps1 en la linea de comando a ejecutar.

[vb]
$reference=”c:\Scripts-PowerShell\computers.txt”
#[System.Reflection.Assembly]::LoadWithPartialName(“System.Windows.Forms”)
$pingsender=new-object system.net.networkinformation.ping
$file1 = [System.IO.File]::OpenText((dir $reference))
$line = 1
while (!$file1.EndOfStream)
{
$line1 = $file1.ReadLine()
#[System.Windows.Forms.MessageBox]::Show($line1)
$reply=$pingsender.send($line1)
$estado=$reply.Status;
#write-output $estado
if($estado -ne “Success”){write-warning “$_ no esta disponible <$line1>“;}
else {
(get-wmiobject -class win32_operatingsystem -computername $line1).win32shutdown(12);
}
$line++
}
$file1.Close()
[/vb]