Last active
June 1, 2020 09:25
-
-
Save raulunzue/73780a21ddacbb170621cbd20f7892a6 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# RAUL UNZUE - ELBLOGDENEGU | |
# https://www.maquinasvirtuales.eu/powershell-script-para-matar-procesos-windows-enlazados/ | |
# Revisar si existen en el sistema dos procesos java.exe y acslaunch_win-32 | |
# SABER EL USUARIO | |
$usuario=C:\windows\system32\whoami.exe | |
# ELIMINAR DOMINIO | |
$usuariomodificado=$usuario.Substring(5) | |
# EXTRAER USUARIO, SESION ID Y PROCESOS ASOCIADOS AL USUARIO | |
Get-Process -IncludeUserName | Select-Object Username,SessionID | Where-Object { $_.UserName -ne $null -and $_.UserName.Equals("NEGU\$usuariomodificado") } | |
Get-Process -IncludeUserName | Select-Object UserName,SessionId,ProcessName | Where-Object { $_.UserName -ne $null -and $_.UserName.Equals("NEGU\$usuariomodificado") } | Set-Content C:\Users\$usuariomodificado\Desktop\proceso1.txt | |
Get-Process -IncludeUserName | Select-Object UserName,SessionId,ProcessName | Where-Object { $_.UserName -ne $null -and $_.UserName.Equals("NEGU\$usuariomodificado") } | Set-Content C:\Users\$usuariomodificado\Desktop\proceso2.txt | |
# BUSCAMOS CADENA DE TEXTO | |
(Get-Content C:\Users\$usuariomodificado\Desktop\proceso1.txt) | Select-String -Pattern "acslaunch_win-32" | foreach {$_.Matches} | Set-Content C:\Users\$usuariomodificado\Desktop\proceso1.txt | |
(Get-Content C:\Users\$usuariomodificado\Desktop\proceso2.txt) | Select-String -Pattern "java" | foreach {$_.Matches} | Set-Content C:\Users\$usuariomodificado\Desktop\proceso2.txt | |
# Limpiamos los espacios en blanco y exportamos a TXT | |
(Get-Content C:\Users\$usuariomodificado\Desktop\proceso1.txt) | ? {$_.trim() -ne "" } | Set-Content C:\Users\$usuariomodificado\Desktop\proceso1.txt | |
(Get-Content C:\Users\$usuariomodificado\Desktop\proceso2.txt) | ? {$_.trim() -ne "" } | Set-Content C:\Users\$usuariomodificado\Desktop\proceso2.txt | |
# PASAMOS RESULTADO A VARIABLE PARA TRATARLO | |
$sesion=Get-Content C:\Users\elblogdenegu\Desktop\proceso1.txt | |
$sesion2=Get-Content C:\Users\elblogdenegu\Desktop\proceso2.txt | |
# MATAMOS PROCESO SI ES NECESARIO | |
if ($sesion -eq "acslaunch_win-32") | |
{ | |
#echo "Existe acslaunch_win-32.exe en la sesión de $usuariomodificado, no matamos java" | |
# LOG | |
$date=Get-Date | |
Write-Output "$date - Existe acslaunch_win-32.exe en la sesión de $usuariomodificado, no matamos java" > C:\Scripts\matar-java-as400.log | |
} | |
else | |
{ | |
if ($sesion2 -eq "java") | |
{ | |
#echo "No existe acslaunch_win-32.exe en la sesión de $usuariomodificado, matamos java.exe" | |
# LOG | |
$date=Get-Date | |
Write-Output "$date - No existe acslaunch_win-32.exe en la sesión de $usuariomodificado, matamos java.exe" > C:\Scripts\matar-java-as400.log | |
# MATAR PROCESO | |
Get-Process -Name java | Stop-Process -Force | |
} | |
else | |
{ | |
#echo "No existe java tampoco en la sesión de $usuariomodificado, no matamos procesos" | |
# LOG | |
$date=Get-Date | |
Write-Output "$date - No existe acslaunch_win-32 ni java en la sesión de $usuariomodificado, no matamos procesos" > C:\Scripts\matar-java-as400.log | |
} | |
} | |
# BORRAR FICHEROS | |
Remove-Item C:\Users\$usuariomodificado\Desktop\proceso1.txt | |
Remove-Item C:\Users\$usuariomodificado\Desktop\proceso2.txt |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment