web-dev-qa-db-ja.com

Powershellを使用してWindowsでファイアウォールポートを開く方法

Power Shellを使用してWindowsでファイアウォールポートを開く方法を知りたいのですが、ファイアウォールポートを開くスクリプトを誰かが書いてもらえますか? https://stackoverflow.com/questions/24760821/changing-windows-firewall-rules-with-powershell-open-close-a-specific-port しかし、それを行う方法を理解できませんでした。

私がアプリケーションを実行すると(スタックダンプ)、pysolr.SolrError: Failed to connect to server at 'http://localhost:8983/solr/stackdump/admin/ping', are you sure that URL is correct?.Atlastそれは言う:No connection could be made because the target machine actively refused it

7
justin

ガイド here を参照してください。

ポート80を開くコマンドは次のとおりです。

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

以下を指定する必要があります。

  • ルールの名前
  • 方向
  • 接続を許可するかどうか
  • 使用されるプロトコル
  • ポート番号

このコマンドは、Powershellレベルから使用できます。

Powershellを使用する必要がある場合は、以下のスクリプトのようなものを使用できます(ポート80の場合も同様)。

#==============================================================
# 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)

here から取得。

17
mnmnc