Войти

Показать полную графическую версию : [решено] Удаление *.exe


ogay
19-06-2017, 13:24
Добрый день!
Подскажите как написать скрипт, на удаление файлов exe
Есть сеть около 300 пк все в домене.
Задача в том, что бы удалять определенные exe файл принудительно. если exe сидит в процессах то останавливать процесс и удалять.
Дело в том что по сети гуляет вирус на антивирус нормальный денег нет (руководство жадное) а вирус как-то искоренить надо )))

Прикинул должно быть так... но если висит в процессе то удаление не происходит
Remove-Item "C:\111.exe" -Recurse
Remove-Item "C:\222.exe" -Recurse

Iska
19-06-2017, 13:46
Дело в том что по сети гуляет вирус »
Какой именно?

а вирус как-то искоренить надо ))) »
Метод искоренения будет напрямую зависеть от конкретной версии конкретного вируса.

И правильнее Вам будет обратиться в профильный раздел: Лечение систем от вредоносных программ (http://forum.oszone.net/forum-87.html).

ogay
19-06-2017, 13:47
Iska, Win32/Exploit.CVE-2017-0147.A

Я понимаю, что так не правильно. но как временное средство хотим попробовать, да и для себя интересно как можно удалить используемый файл

Iska
19-06-2017, 13:54
ogay, я указал направление.

ogay
19-06-2017, 13:59
Iska, за направление спасибо, почитаю... а вот все же на счет удаления не подскажите?

ogay
19-06-2017, 14:31
Ответ нашел... кому интересно:

Stop-Process -name "111" #Остановка процесса
sleep 1 #пауза 1 сек
Remove-Item "C:\111.exe" -Recurse #удаление

Luka666
22-06-2017, 09:28
Я бы так напейсал бы. )


cls
import-module ActiveDirectory

$wslist = Get-ADComputer -filter * -SearchBase "ou=компы(workstations), ou=флиал, ou=подразделение, dc=домимя1, dc=домимя2, dc=домимя3, dc=ru"|Select -ExpandProperty name

foreach( $ws in $wslist)
{

$dir1 = "\\" + $ws + "\C$\111.exe"

if (test-connection -computername $ws -count 2 -quiet)
{
write-host $ws "available, check it..." -BackgroundColor Green

if (-not(Get-Process ComputerName $ws| where {$_.ProcessName -eq '111'}))

{
write-host $ws "process not active" -ForegroundColor black
}
else
{
write-host $ws "Process is active, Killing process..." -ForegroundColor red
get-process -name 111 -ComputerName $ws| stop-process
# Убиваем процесс 111
}


if (Test-Path $dir1 )
{
sleep 1 #пауза 1 сек
Remove-Item $dir1 -Recurse #удаление
write-host $ws "removing muck" -BackgroundColor yellow
}

else
{
write-host "At" $ws "muck not found... skip." -BackgroundColor blue
}
}

else
{
write-host $ws "not available, skip" -background red
}
}


Как-то так. Набрасывал прямо тут, но вродь должно работать. )
P.S. После проверил, была куча косяков, вродь всё исправил.




© OSzone.net 2001-2012