見出し画像

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


この記事が気に入ったらサポートをしてみませんか?