CIA*_*CIA 1 scripting windows-7 vbscript windows-firewall windows-registry
这是关于在将机器加入域之前在机器上工作的问题,虽然我很想依赖 GPO,但目前这不是一个选项。
在我工作的环境中,防火墙策略是使用来自 Total Endpoint Solution 的第 3 方防火墙应用程序,因此我必须禁用默认的 Windows 防火墙顶部以防止冲突。我使用在想象过程结束时运行的脚本或在我没有重新成像的系统上手动执行此操作。有一段时间,我能够使用以下方法进行管理:
netsh advfirewall set allprofiles state off
Run Code Online (Sandbox Code Playgroud)
但是,由于某种原因,这停止了工作。所以,我发现我需要清除本地安全策略(手动):
Local Security Policy MSC > Windows Firewall with Advanced Security
Right-Click Windows Firewall with Advanced Security - Local Group Policy Object
Clear Policy
Run Code Online (Sandbox Code Playgroud)
这是我用来避免手动执行的脚本:
secedit /configure /db reset /cfg securityprofile
Run Code Online (Sandbox Code Playgroud)
这两个步骤的组合工作了大约一个月,然后,没有明显的原因,它停止工作。
我开始测试注册表黑客来实现我所需要的,它给了我混合的结果。我有两套带有我需要更改的配置文件的密钥;对于本地配置文件:
[HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\WindowsFirewall]
[HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\WindowsFirewall\DomainProfile]
"EnableFirewall"=dword:00000000
[HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\WindowsFirewall\PrivateProfile]
"EnableFirewall"=dword:00000000
[HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\WindowsFirewall\PublicProfile]
"EnableFirewall"=dword:00000000
Run Code Online (Sandbox Code Playgroud)
对于域配置文件:
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\SharedAccess\Parameters\FirewallPolicy]
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\SharedAccess\Parameters\FirewallPolicy\DomainProfile]
"EnableFirewall"=dword:00000000
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\SharedAccess\Parameters\FirewallPolicy\PublicProfile]
"EnableFirewall"=dword:00000000
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\SharedAccess\Parameters\FirewallPolicy\StandardProfile]
"EnableFirewall"=dword:00000000
Run Code Online (Sandbox Code Playgroud)
我遇到的问题是本地配置文件在防火墙打开的情况下不断重新生成原始设置。我试过了:
用于测试的旧机器上的结果)很好
a) 应用本地策略注册表黑客
用于测试的旧机器上的结果)很好
a) 使用 secedit 清除本地安全策略
用于测试的旧机器上的结果)很好
a) 使用 secedit 清除本地安全策略
我的目标是通过脚本/自动化禁用 Windows 防火墙。有什么想法吗?
注意:这是在将机器加入域之前。如果我从 MSC 手动清除本地安全策略,则注册表黑客将起作用。 netsh
仍然无法工作,我不想手动清除每台成像机器的策略。
我想在开头说,我强烈敦促禁用 Windows 防火墙的任何人花时间了解它的工作原理以及如何通过 GPO 操作它,而不是直接将其关闭。没有理由关闭基于主机的防火墙。Microsoft 提供了出色的工具来管理防火墙规则,您应该使用它们。
这篇 TechNet 文章概述了禁用 Windows 防火墙的正确方法。不要像其他人告诉您的那样关闭服务,这会使您的服务器处于不受支持的配置中,并在各种难以排除故障的情况下导致不稳定。
从 TechNet 文章中,netsh 语法是
netsh advfirewall 设置 配置文件 状态关闭
其中配置文件的有效值为:AllProfiles、CurrentProfile、DomainProfile、PrivateProfile 或 PublicProfile。
看来您已经尝试过这个确切的命令,但它不起作用。您还推送了此命令操作的注册表项。基于它曾经可以工作而现在不能工作的事实,并且这些计算机在您执行此操作时未加入域,因此只有一个结论:
您的图像中有一些东西覆盖了这一点。故事结局。由于我们没有您的图像可供查看,因此除了“您做得对,如果它不起作用,您的图像中的某些内容配置错误”之外,我们真的无法为您提供特定的修复方法
老实说,如果您必须secedit /configure /db reset /cfg securityprofile
在图像以及所有其他内容上运行,那么最好按照您想要的方式制作包含所有内容的新图像。
呃,整理一下你的 GPO,然后在那里禁用它。或者,至少,在堆栈顶部创建一个新的 GPO(最高优先级)并禁用防火墙。然后回去整理你的其他 GPO。本地安全策略被 GPO 覆盖,您写入的注册表的第一个区域专门用于 GPO 处理。
简短回答...组策略。长答案...组策略。(对不起!)
归档时间: |
|
查看次数: |
17735 次 |
最近记录: |