Как читать из текстового файла при добавлении правил брандмауэра с помощью new-netfirewallrule - PullRequest
0 голосов
/ 10 мая 2018

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

Не похоже, что он читает его построчно, и похоже, что он занимает только первую строку, которую я вставил.

$ComputersPath = "C:\temp\kofaxcomputers.txt"

Get-Content $ComputersPath | ForEach {

if ($ComputersPath -ne $null) {

        New-NetFirewallRule -DisplayName "Kofax - KTM" -Direction Inbound -RemoteAddress Any -Action Allow -Protocol TCP -LocalPort 2424
        Write-Host "$_ installed" -ForegroundColor Green;
        } else {
        Write-Host "$_ failed" -ForegroundColor Red;
        }}

1 Ответ

0 голосов
/ 10 мая 2018

Если вы пытаетесь создать правило брандмауэра на нескольких компьютерах,

  • Содержит список компьютеров в вашем текстовом файле (убедитесь, что нет пробелов)
  • Считайте все компьютеры из текстового файла и сохраните его в переменной.
  • Используйте Invoke-command для выполнения New-NetFireWallRule на всех этих компьютерах.

     $Computers = get-Content -Path "C:\temp\kofaxcomputers.txt"
    
     Invoke-Command -ComputerName $Computers -ScriptBlock {
         New-NetFirewallRule -DisplayName "Kofax - KTM" -Direction Inbound -RemoteAddress Any -Action Allow -Protocol TCP -LocalPort 2424
     }
    
...