lunes, 26 de diciembre de 2011

Cerrando aplicaciones de forma remota con PowerShell

Cerrando aplicaciones de forma remota con PowerShell:

PowerShell es una interfaz de consola que nos brinda un gran abanico de posibilidades para trabajar con nuestro equipo desde Windows Vista en adelante, y nos aporta una mayor flexibilidad a la hora de realizar acciones mediante un completo lenguaje de scripting.


En este artículo veremos un pequeño script para cerrar procesos en equipos remotos mediante PowerShell.


Para ello, iniciaremos como administrador la interfaz de comandos de PowerShell, localizada en la siguiente ruta: '%SystemRoot%\system32\WindowsPowerShell\v1.0\powershell.exe'.


image


Ejecutaremos 'notepad.exe script.ps1' y editaremos el fichero con el siguiente script. El cuál se conecta remotamente al equipo indicado y filtra de la lista de procesos que están corriendo en el equipo el indicado en los argumentos del script. Una vez obtenido el PID cerrará el proceso.










[cmdletbinding()]
param(
$ComputerName=$env:COMPUTERNAME,
[parameter(Mandatory=$true)]
$ProcessName
)
$Processes = Get-WmiObject -Class Win32_Process -ComputerName $ComputerName -Filter "name='$ProcessName'"
if($processes) {
foreach ($process in $processes) {
$returnval = $process.terminate()
$processid = $process.handle
if($returnval.returnvalue -eq 0) {
write-host "`nThe process $ProcessName `($processid`) terminated successfully"
}
else {
write-host "`nThe process $ProcessName `($processid`) termination has some problems"
}
}
} else {
Write-host "`n No processes found with the name $ProcessName"
}
write-host ""




Una vez tengamos el fichero guardado, necesitaremos habilitar la ejecución de scripts mediante el comando 'Set-ExecutionPolicy Unrestricted', como se ve a continuación:


image


Ahora, bastará con ejecutar el comando '.\script.ps1 -ComputerName PC -ProcessName proceso', donde ‘PC’ indica el nombre del equipo, y ‘proceso’ el nombre de la aplicación que se desea cerrar. A continuación se ve una captura de pantalla donde se cierra de forma remota la aplicación 'notepad.exe'.


image


Una vez ejecutado este script podremos ver la salida de su ejecución, mostrándonos el PID del proceso cerrado en caso de que no se hayan producido errores.


Por último, recordarte que si te ha gustado el artículo puedes suscribirte al Canal RSS de Windows Técnico para estar al día de las novedades e información técnica de interés.


image

No hay comentarios:

Comparte en Facebook

Mi gran Blogg: