我正在尝试创建一个脚本,以便从一个文本文件中读取,我希望逐行向每个服务器添加防火墙规则。
它似乎不是一行一行地阅读它,它看起来只占用我放入的第一行。
$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;
}}
答案 0 :(得分:0)
如果您尝试在一堆计算机中创建防火墙规则,
使用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
}