windows-firewall – netsh advfirewall设置商店gpo:%COMPUTERNAME%不起作用

我负责处理高度机密数据的一组计算机.它们无法连接到Internet甚至是公司网络,只能连接到网络驱动器.所以我在网络驱动器上写了一个批处理文件,并在每台计算机上运行它以始终如一地应用安全设置.

批处理文件使用以下脚本调用netsh exec:

advfirewall
set store gpo = %COmpuTERNAME%
reset
set store local
reset

问题是环境变量%COmpuTERNAME%无法解析为实际的计算机名称,因此GPO不会重置,并且两个位置的设置之间存在冲突.此外,netsh advfirewall reset仅重置本地存储,而set store只能从netsh脚本运行(批处理文件中的直接netsh advfirewall set store gpo不起作用).

如何设置存储以访问运行批处理文件的计算机的GPO?或者是否有另一种方法可以从命令行重置GPO设置(对于具有高级安全性的Windows防火墙)?我知道这些设置不存储在Registry.pol中.

我怀疑你是想尝试将%COmpuTERNAME%直接传递给netsh.它不会扩展环境变量.让shell为你扩展变量,如下所示:
@echo off
SET F="%TEMP%\%rANDOM%.txt"

echo advfirewall>%F%
echo set store gpo = %COmpuTERNAME%>>%F%
echo reset>>%F%
echo set store local>>%F%
echo reset>>%F%

netsh -f %F%
del %F%

netsh最终得到一个已经包含扩展环境变量的脚本.

相关文章

Windows2012R2备用域控搭建 前置操作 域控主域控的主dns:自...
主域控角色迁移和夺取(转载) 转载自:http://yupeizhi.blo...
Windows2012R2 NTP时间同步 Windows2012R2里没有了internet时...
Windows注册表操作基础代码 Windows下对注册表进行操作使用的...
黑客常用WinAPI函数整理之前的博客写了很多关于Windows编程的...
一个简单的Windows Socket可复用框架说起网络编程,无非是建...