powershell - 从文本文件将多个值传递给 PowerShell 脚本
问题描述
我对 PowerShell 很陌生,所以请不要怪我,我完全处于黑暗中……我有一个包含数百个 IP 范围的文本文件。我想要实现的是创建一个防火墙规则,该规则应该阻止到这些 IP 范围的所有出站连接。
我想要一个防火墙规则,在防火墙规则的“远程 IP 地址 - > 此范围”下具有所有 IP 范围。
以下脚本有效,但它创建了 500 条防火墙规则,每个 IP 范围都有一条。我想在一个规则中包含所有 IP 范围。
我应该使用什么命令代替New-NetFirewallRule
?
$Contents = Get-Content "C:\Temp\fb.txt"
foreach($Line in $Contents) {
New-NetFirewallRule -DisplayName "Block FB" -Direction Outbound -LocalPort Any -Protocol TCP -action Block -RemoteAddress $Line
}
我也尝试过Set-NetFirewallRule
,但它所做的只是替换 IP 范围,而不是添加新范围。
解决方案
从文档中,RemoteAddress 接受一个字符串数组作为输入(由 [-RemoteAddress <String[]>] 中的 [] 表示)。
这对您的需要有用吗?与您的问题无关 - 我喷了参数,因为它们对我来说大多不在屏幕上。
$FirewallParams = @{
DisplayName = 'Block FB'
Direction = 'Outbound'
LocalPort = 'Any'
Protocol = 'TCP'
Action = 'Block'
RemoteAddress = (Get-Content 'C:\Temp\fb.txt')
}
New-NetFirewallRule @FirewallParams
推荐阅读
- asp.net-mvc - 将文件流式传输到 MVC 控制器时无法捕获 HttpWebRequest 异常
- security - Thales HSM 生成 thales 格式 05(ISO 9564-1 格式 1)的 pinblock,无需 pan 并使用 zpk 加密
- go - 修改结构值给定的字段名称和值映射
- dart - 颤振应用程序缓慢
- ruby-on-rails - 将参数从 Json Httparty 传递给 ostruct
- sql-server - SSDT 从表定义中排除填充因子
- python - 如何在python数据框中找到与另一个值不同的先前值
- java - 在 Java 中的 String.replaceAll 上获取 java.lang.StackOverflowError
- javascript - PHP to javascript - 我想将 php 多维数组转换为 javascript 数组
- java - 使用字符串数组和字符数组时,如何将字符串转换为 int 以获得自定义数组长度