我有一个 powershell 脚本,旨在通过将 ip 地址添加到指定的过滤器列表来修改域的 ipsec 策略。问题是netsh store location=domain domain=our.domain.com
在我的 powershell 脚本中运行时,它不记得以下命令的存储位置。我尝试了一种解决方法,方法是创建一个文本文件,然后从 powershell 运行,netsh -f "path\to\textfile.txt"
但它似乎不起作用。您将在下面找到相关的脚本块。域设置正确,因为它直接在 netsh 中运行时工作。
$command = "ipsec static
set store location=domain domain=our.domain.com
add filter filterlist=$FILTERLIST
protocol=ANY srcaddr=$ip
srcmask=255.255.255.255
dstaddr=ME
description='IP address blocked'
mirrored=YES"
$($command.Trim()) | out-file $($DIR+"\netsh\temp.txt")
netsh -f $($DIR+"\netsh\temp.txt")
remove-item $($DIR+"\netsh\temp.txt")
我还没有让它工作,但是当我即将这样做时,很高兴知道是否有其他设计更好的解决方案。我正在运行 PowerShell v.1.0