search
Categories
Sponsors
VirtualMetric Hyper-V Monitoring, Hyper-V Reporting
Archive
Blogroll

Badges
MCSE
Community

Cozumpark Bilisim Portali
Posted in Windows Powershell, Windows Server | No Comment | 3,905 views | 20/07/2011 12:44

Öncelikle Windows Advanced Firewall üzerinden kurallarınızın bir yedeğini almayı unutmayın.

Bu basit scripti, bir müşterimin isteğinden sonra Windows firewall kurallarını değiştirebilmek için yazdım.
Description’a göre arama yaparak, Remote Address bölümüne tanımlamak istediğiniz IP adresini ekliyor.

1
2
3
4
5
6
7
$Rules=New-object -comObject HNetCfg.FwPolicy2
$Rules=$Rules.Rules | where {$_.Description -like "Inbound *" }
Foreach ($Rule in $Rules)
{
        $Rule.RemoteAddresses = "10.10.10.1-10.10.10.50"
        Write-Host "Kural değişti."
}

Eğer yukarıda girdiğiniz firewall kuralını sonradan değiştirmek istiyorsanız, aşağıdakini kullanabilirsiniz.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
$Rules=New-object -comObject HNetCfg.FwPolicy2
$Rules=$Rules.Rules | where {$_.Description -like "Inbound *" }
Foreach ($Rule in $Rules)
{
	if ($Rule.RemoteAddresses -like "*10.10.10.1*")
	{
		$Rule.RemoteAddresses = "10.10.10.1-10.10.10.50,172.16.254.0/24"
		Write-Host "Kural değişti."
	}
	else
	{
		Write-Host "Kural değişmedi çünkü vermiş olduğunuz IP adresi ile eşleşmedi."
	}
}

Arama için çok sayıda bileşen kullanabilirsiniz. Ben sadece basitce mantığını göstermeye çalıştım.