PowerShell VNCが使えるようにファイアーウォールを設定したい
パソコンをリモート操作できる有名なフリーソフトにVNCがあるのですが、ファイアーウォールがオンになっているとVNCが使えません。かといってVNCを使うためだけにファイアーウォールをオフにするのは危険です。そこでファイアーウォールをオンにしつつ、VNCが使えるような設定にするスクリプトを書きました。
WindowsのファイアーウォールをすべてONにするスクリプト
# ファイアーウォール有効化(全て)
netsh advfirewall set all state on
VNCを使うためのスクリプト
# ルールの削除
netsh advfirewall firewall delete rule name="vnc5800"
netsh advfirewall firewall delete rule name="vnc5900"
netsh advfirewall firewall delete rule name="winvnc.exe"
netsh advfirewall firewall delete rule name="vncviewer.exe"
# ポートを開放
netsh advfirewall firewall add rule name= "vnc5800" dir=in action=allow protocol=TCP localport=5800 enable=yes profile=domain,private
netsh advfirewall firewall add rule name= "vnc5900" dir=in action=allow protocol=TCP localport=5900 enable=yes profile=domain,private
# プログラムを開放
netsh advfirewall firewall add rule name="winvnc.exe" dir=in action=allow program="%ProgramFiles%\uvnc bvba\UltraVNC\winvnc.exe" enable=yes profile=domain,private
netsh advfirewall firewall add rule name="winvnc.exe" dir=in action=allow program="%ProgramFiles(x86)%\uvnc bvba\UltraVNC\winvnc.exe" enable=yes profile=domain,private
netsh advfirewall firewall add rule name="vncviewer.exe" dir=in action=allow program="%ProgramFiles%\uvnc bvba\UltraVNC\vncviewer.exe" enable=yes profile=domain,private
netsh advfirewall firewall add rule name="vncviewer.exe" dir=in action=allow program="%ProgramFiles(x86)%\uvnc bvba\UltraVNC\vncviewer.exe" enable=yes profile=domain,private
ドメインとプライベート接続だけONにしてVNCを使えるようにしています。
すべて通るようにするには「profile=domain,private 」を「profile=any」にすればOKです。
#PowerShell #プログラミング学習 #プログラミング入門 #コマンドレット #Windows #ファイアーウォール #セキュリティ #VNC
この記事が気に入ったらサポートをしてみませんか?