web-dev-qa-db-fra.com

Comment ouvrir un port de pare-feu dans Windows à l'aide de PowerShell

J'aimerais savoir comment ouvrir un port de pare-feu sous Windows à l'aide de Power Shell.Ceud quiconque écrit un script pour ouvrir un pare-feu. J'ai vu un post similaire sur https://stackoverflow.com/questions/24760821/Changement-Windows-Firewall-Rules - Port-PowerShell-Ouvrir-Fermer-A-spécifique-Port Mais je ne pouvais pas comprendre comment le faire.

Je voudrais juste ouvrir un port: 8983 sous Windows Parce que lorsque j'exécute l'application (Dump de la pile), il est indiqué pysolr.SolrError: Failed to connect to server at 'http://localhost:8983/solr/stackdump/admin/ping', are you sure that URL is correct?.Atlast dit: No connection could be made because the target machine actively refused it.

7
justin

Vous pouvez vous référer au guide ici .

La commande d'ouvrir le port 80 est:

netsh advfirewall firewall add rule name="Open Port 80" dir=in action=allow protocol=TCP localport=80

Vous devez spécifier:

  • nom pour la règle
  • direction
  • s'il faut autoriser la connexion
  • protocole utilisé
  • numéro de port

Vous pouvez utiliser cette commande du niveau PowerShell.

Si vous devez absolument utiliser PowerShell, vous pouvez utiliser quelque chose comme le script ci-dessous (pour le port 80 également):

#==============================================================
# Creates a rule to open an incomming port in the firewall.
#==============================================================

#$numberAsString = read-Host "type an port number"
#$mynumber = [int]$numberAsString


$port1 = New-Object -ComObject HNetCfg.FWOpenPort

$port1.Port = 80

$port1.Name = 'MyTestPort' # name of Port

$port1.Enabled = $true

$fwMgr = New-Object -ComObject HNetCfg.FwMgr

$profiledomain=$fwMgr.LocalPolicy.GetProfileByType(0)

$profiledomain.GloballyOpenPorts.Add($port1)

Pris de - ici .

17
mnmnc