2017-10-05 5 views
0

J'ai un script qui configure SQL Server après son installation. Il détecte si le pare-feu Windows est activé et ajoute des ports au service de pare-feu Windows.est le pare-feu Windows ou le script

Cependant, il semble très difficile de savoir comment établir réellement si c'est "vraiment" en cours d'exécution ou non. Je pensais en vérifiant si le service fonctionnait 'alors faire des choses ou pas' suffirait, mais il semble que même si le pare-feu de Windows est éteint, le service fonctionne toujours, donc le port ajoutant la section de script netsh s'exécute inutilement.

J'ai également examiné les paramètres du registre et ils peuvent également être activés, même si le service est en cours d'exécution mais que le pare-feu est désactivé.

Des pointeurs vers une meilleure méthode pour éviter d'exécuter des parties du script sans avoir vraiment besoin de le faire.

Habituellement, l'installation du serveur 2008 principalement, certains 2012 & l'impair 2016. Merci.

sc query MpsSvc | find "RUNNING" >nul 
IF %ERRORLEVEL% EQU 0 (goto firewall) ELSE (goto start) 
+1

Vous pouvez enquêter sur ce que la commande 'netsh advfirewall' produira. Voir aussi https://community.spiceworks.com/how_to/71739-check-windows-firewall-status-via-command-line – lit

Répondre

2

La bonne méthode pour désactiver le pare-feu de Windows Defender est de désactiver le pare-feu Windows Defender Profils et laissez le fonctionnement du service.

Alors ...

Turn Off en utilisant le fichier batch:

@NetSh AdvFirewall Set AllProfiles State Off 

Activer en utilisant le fichier batch:

@NetSh AdvFirewall Set AllProfiles State On 

Désactiver l'aide Powershell d'un fichier batch:

@Powershell -C "Set-NetFirewallProfile -Profile Domain,Public,Private -Enabled False" 

Tur n En utilisant Powershell à partir d'un fichier batch:

@Powershell -C "Set-NetFirewallProfile -Profile Domain,Public,Private -Enabled True" 

Pour déterminer l'état, vous pouvez analyser le résultat de Show:

@NetSh AdvFirewall Show AllProfiles State|Find /I " ON">Nul&&(@Echo Is On)||@Echo Is Off