我有一个脚本,它在安装SQL Server之后设置它。它检测windows防火墙是否打开,并将端口添加到windows防火墙服务中。
然而,对于如何实际确定它是否“真的”运行,这似乎非常混乱。
我认为,通过检查服务是否正在运行,‘那么做些什么’就足够了,但是即使windows防火墙已经关闭,服务也仍然在运行,所以添加netsh脚本的端口就没有必要运行了。
我还查看了注册表中的设置,它们也可以设置为on,即使服务正在运行,但防火墙关闭。
任何指向更好方法的指针都可以避免运行部分脚本,而不需要这样做。
通常安装服务器2008大部分,有些是2012年&奇怪的2016年。谢谢。
sc query MpsSvc | find "RUNNING" >nul
IF %ERRORLEVEL% EQU 0 (goto firewall) ELSE (goto start)发布于 2017-10-05 12:39:51
禁用Windows Defender防火墙的正确方法是禁用Windows Defender防火墙配置文件并保持服务运行。
所以…
使用批处理文件关闭:
@NetSh AdvFirewall Set AllProfiles State Off打开使用批处理文件:
@NetSh AdvFirewall Set AllProfiles State On从批处理文件中关闭使用Powershell:
@Powershell -C "Set-NetFirewallProfile -Profile Domain,Public,Private -Enabled False"打开批处理文件中的Powershell:
@Powershell -C "Set-NetFirewallProfile -Profile Domain,Public,Private -Enabled True"要确定状态,可以解析Show的结果
@NetSh AdvFirewall Show AllProfiles State|Find /I " ON">Nul&&(@Echo Is On)||@Echo Is Offhttps://stackoverflow.com/questions/46584148
复制相似问题