Windows 10でPowerShellを使ってIPアドレスやWebサイトをブロックする方法
PowerShellには、Windowsファイアウォールを構成できるNetSecurityモジュールが標準で搭載されています。このモジュールに含まれるNew-NetFirewallRule関数を使用すると、PowerShellからIPアドレスやWebサイトへのアクセスをブロックできます。この機能では、新しい受信(インバウンド)または送信(アウトバウンド)のファイアウォールルールを作成し、対象のコンピューターに追加することが可能です。

PowerShellでIPアドレスやWebサイトをブロックする
IPアドレス範囲のブロックは確実に機能しますが、Webサイトやドメイン単位でのブロックは少し厄介です。その理由は、1つのドメインに複数のIPアドレスが紐付けられていることが多く、たとえそれらをブロックしても、DNSリゾルバが照会のたびに別のIPアドレスを返してくる可能性があるためです。さらに、同じIPアドレスが関連サービス間で共有されている場合もあり、そのIPをブロックすると意図せず他のサービスまで利用できなくなってしまう恐れがあります。
- ローカルまたはインターネット上のIPアドレスをブロックする
- Webサイトまたはドメイン名をブロックする
以下の手順を実行するには、管理者権限が必要です。
1] PowerShellでIPアドレスまたはIP範囲をブロックする

このコマンドでは、単一のIPアドレスでもIPアドレスの範囲でも指定できます。PowerShellで次のコマンドを実行してください。
New-NetFirewallRule -DisplayName "Block XYZ.com IP address" -Direction Outbound –LocalPort Any -Protocol TCP -Action Block -RemoteAddress 146.185.220.0/23
「Block XYZ.com IP address」の部分は、後で見返したときに内容が分かりやすいように、任意の名前に置き換えてかまいません。RemoteAddressオプションの末尾に記載したIPアドレスがブロック対象となり、そのIPアドレスに解決されるWebサイトやサービスはすべてアクセスできなくなります。なお、ローカルネットワーク内のIPアドレスをブロックしたい場合は、RemoteAddressオプションをLocalAddressオプションに変更してください。

コマンドの実行が完了すると、「The rule was parsed successfully from the store. (65536)」というステータスメッセージが表示されます。Windowsファイアウォールを開いて、ルールが正しく登録されているか確認しましょう。問題なければ、同様の手順でPowerShellからさらにルールを追加できます。
2] PowerShellでWebサイトやドメインをブロックする

この関数はURLによるブロックに対応していないため、選択肢は2つあります。1つ目は、対象ドメインに関連するすべてのIPアドレスを照会してブロックする方法。2つ目は、公式に公開されている既知のIPアドレス範囲を調べてブロックする方法です。後者の方が、前者に比べて他のサービスを誤ってブロックしてしまうリスクが低くなります。ただし、どうしてもドメイン単位で確実にブロックしたい場合は、専用のソフトウェアを利用するのが確実です。
Resolve-DnsName "facebook.com"
まず上記のコマンドでドメインのIPアドレスを調べ、次の方法で使うIPアドレスを控えておきます。
New-NetFirewallRule -DisplayName "Block XYZ.com IP address" -Direction Outbound –LocalPort Any -Protocol TCP -Action Block -RemoteAddress 146.185.220.0/23
実際に試したところ、YouTubeに対してはダイレクトにIPをブロックしても効果がありませんでしたが、Facebookに対しては機能しました。つまり、Webサイトが複数のIPアドレスで運用されている場合、この方法はうまく機能しないことがある点に注意が必要です。
PowerShellコマンドの使い方は非常にシンプルです。コマンドプロンプトを使った経験があれば、同じ感覚で操作できるでしょう。WindowsでPowerShellを使ってIPアドレスやWebサイトを正常にブロックできれば幸いです。後日ルールを削除したい場合は、Windowsファイアウォールの設定画面から削除するか、Remove-NetFirewallRuleコマンドを使用してください。

-
Windows 11でPowerShellを更新する3つの方法【初心者向け完全ガイド】
Windowsオペレーティングシステムを常に最新のソフトウェアとセキュリティアップデートの状態に保つことは、パソコンを快適に維持するために欠かせません。特にWindows 11は、以前のバージョンよりもセキュリティが強化されて設計されていますが、だからといってセキュリティ上の問題が一切起こらないわけではありません。OSを最新の状態に保てば、Microsoftが提供する新機能や新しい能力にもいち早くアクセスできるようになります。 当ブログを定期的にお読みの方なら、ソフトウェアの更新とパッチ適用の重要性はすでにご存じかもしれません。通常、これは最新のOSアップデート、サードパーティ製ソフトウェアの
-
Windows 10のPowerShellでファイルを圧縮・解凍する方法【コマンド実例付き】
ZIP機能を使うと、ファイルとその関連設定を1つのファイルにまとめて、容量を小さく圧縮できます。こうして作成したZIPファイルは、メールやその他のファイル共有サービスを通じて、簡単に他の人へ送信できるのが大きなメリットです。 ZIP圧縮といえば、WinRARや7-Zipといった専用ソフトを使うのが一般的ですが、実はWindowsに標準搭載されているPowerShellでも、追加ソフトなしでファイルの圧縮・解凍が可能です。この記事では、その具体的な手順をわかりやすく解説します。 関連記事:WindowsとMacでファイルを圧縮する方法 PowerShellでファイルをZIP圧縮する方法 まずは、