Нам нужно:
3)Скрипт блокировки.
Итак, думаю о первых двух пунктах Вы найдете много информации не из этой статьи.
Третий пункт, собственно сценарий:
$Events=Get-EventLog security -after (Get-date).AddMinutes(-15) | ?{$_.eventid -eq 4625 }
if($Events.Count -gt 1){
$IPs = New-Object System.Collections.ArrayList
$Data = New-Object System.Management.Automation.PSObject
$Data | Add-Member NoteProperty Address ($null)
$Events | %{ $message = $_.message.split("`n") | %{$_.trimstart()} | %{$_.trimend()}
$Data.Address = ($message | ?{$_ -like "Сетевой адрес источника:*"} | %{$_ -replace "^.+:."})
# здесь укажем маску внутренней сети, чтобы не блокировать наших пользователей
if(($data.address -notlike "192.168.1*") -and $data.address.length -gt 7)
{ $IPs += $Data.address } }
$IPs = $IPs | sort -property Address| get-unique
$IPs = $IPs | sort-object | Get-Unique
foreach ($objItem in $IPs) {"IP"+":"+$objItem + "-" + $objItem | Out-File "C:\Scripts\IPfilter.p2p" -append -encoding oem} }
$P=get-process peerblock* if($P.Name -like "peerblock*") {$P |stop-process}
Start-process "C:\Program Files\PeerBlock\peerblock.exe"
Теперь нужно настроить Peerblock на получившийся бан лист C:\Scripts\IPfilter.p2p", т.е запустить и указать путь к нему.
Следующим шагом будет добавление задания в планировщик заданий с интервалом 15 минут.
Описанный выше скрипт можно модифицировать под собственные нужды. Для Windows 2003 необходимо изменять параметры eventid и message.
В комментариях есть полное описание скрипта