Если вы создаете CSV, который содержит необходимые вам правила, вы можете использовать Import-Csv
и цикл foreach
для создания правил, содержащихся в csv.
Пример kofaxrules.csv
содержимое:
"Name", "Direction", "Port"
"k1 (TCP- In)", "Inbound", "2424"
"k2 (TCP- Out)", "Outbound", "1212"
"k3 (TCP- In)", "Inbound", "3434"
"k4 (TCP- Out)", "Outbound", "6565"
Код:
$Computers = Get-Content -Path "C:\temp\kofaxcomputers.txt"
$Rules = Import-Csv -Path "C:\temp\kofaxrules.csv"
Write-Host "Checking firewall rules now...." -ForegroundColor Cyan
Invoke-Command -ComputerName $Computers -ScriptBlock {
foreach ($Rule in $Using:Rules) {
if (Get-NetFirewallRule -DisplayName $Rule.Name -ErrorAction SilentlyContinue) {
Write-Host "Firewall rule already exists $($Rule.Name)" -ForegroundColor Green
}
else {
Write-Host "Creating Firewall rule: $($Rule.Name)"
New-NetFirewallRule -DisplayName $Rule.Name -Direction $Rule.Direction -RemoteAddress Any -Action Allow -Protocol TCP -LocalPort $Rule.Port
}
}
}