Cerrar aplicaciones con PowerShell de forma remota

Windows Técnico

Sindicación

Proximos HOLs

Loading...

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.

Si quieres aprender mucho más sobre los secretos de lo sistemas Microsoft Windows, deberías leer el libro de Sergio de los Santos "Máxima Seguridad en Windows: Secretos Técnicos" y. por último, te recordamos 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


Enviado dic 26 2011, 10:00 por Manuel Fernandez

Comentarios

oskuro escrito re: Cerrando aplicaciones de forma remota con PowerShell
en 12-26-2011 20:30

Muy interesante. conseguís que no me aburra en el bus }:)  ya lo probaré mañana

Pirri escrito re: Cerrando aplicaciones de forma remota con PowerShell
en 12-27-2011 9:59

Señores, no reinventemos la rueda, que para eso ya tenemos pskill y pslist:

technet.microsoft.com/.../bb795533

jejjee escrito re: Cerrando aplicaciones de forma remota con PowerShell
en 01-03-2012 1:45

jeejje ya te digo Pirri, ademas aqui la hacen cuadrada xddd

incluso existe taskkill y tasklist...

Añadir un comentario

(requerido)  
(opcional)
(requerido)  
Recordarme
If you can't read this number refresh your screen
Enter the numbers above: