PowerShellでIP固定/DHCPを1クリック切替!時短術
「会社のデスクではIPアドレスを固定、自宅では自動取得(DHCP)…」そんな風に、場所に合わせてPCのネットワーク設定を手動で切り替えるの、正直めんどうではありませんか?
この記事を読めば、その面倒な作業をアイコンのダブルクリック一発で完了させる、あなた専用の「設定切り替えツール」の作り方が分かります。

TIPSの概要
今回使うのは、Windowsに標準搭載されている「PowerShell(パワーシェル)」という多機能ツールです。黒い画面にコマンドを打ち込むイメージがあるかもしれませんが、一度スクリプト(命令をまとめたファイル)を作ってしまえば、あとはそれを実行するだけ。驚くほど簡単にPC操作を自動化できます。
このTIPSの背景にあるのは、まさに「面倒な繰り返し作業をなくしたい」という思いです。GUI(マウスでポチポチする画面)での設定変更は分かりやすい反面、手順が多く、急いでいる時にはイライラの原因にもなりがち。PowerShellを使えば、その手順をまるごとPCに覚えさせることができるのです。
【公式ソース】 今回使用するコマンドレット(PowerShellの命令)は、Microsoftの公式ドキュメントで詳細が解説されています。 NetTCPIP Module | Microsoft Docs
▼こんなシーンで大活躍!
オフィス(固定IP)と自宅やカフェ(DHCP)で同じノートPCを使うとき
特定のネットワーク機器(開発用サーバや複合機など)に接続するため、一時的にIPアドレスを固定したいとき
ネットワークの調子が悪いとき、原因切り分けのために設定をサッと切り替えたいとき
すぐ試せるステップ
ここからは、実際にスクリプトを作成していく手順です。コピー&ペーストで使えるサンプルコードも用意しましたので、ぜひ一緒に試してみてください。
【所要時間】 約10分 【前提条件】
手順1. ネットワークアダプター名を確認する
まず、設定を変更したいネットワークアダプター(LANケーブルの差込口やWi-Fi機能のこと)の正式名称を調べます。
Windowsのスタートメニューを右クリックし、「ターミナル (管理者)」または「Windows PowerShell (管理者)」を選択します。
開いた青い(または黒い)画面に、以下のコマンドを入力してEnterキーを押します。
<!-- end list -->
Plaintext
Get-NetAdapter

表示された一覧の中から、設定したいアダプターを見つけます。有線LANなら「イーサネット」、Wi-Fiなら「Wi-Fi」といった名前になっていることが多いです。このNameの列に表示されている名前(例: イーサネット)を覚えておいてください。
手順2. スクリプトファイルを作成する
メモ帳などのテキストエディタを開き、以下のコードを貼り付けます。これが「IPアドレスを固定するスクリプト」と「DHCPに戻すスクリプト」の2つの土台になります。
【A】IPアドレスを固定するスクリプト
Plaintext
# 1. 事前準備(ここを自分の環境に合わせて書き換える)
$InterfaceName = "イーサネット" # 手順1で調べたアダプター名
$IPAddress = "192.168.1.100" # 固定したいIPアドレス
$SubnetPrefix = 24 # サブネットマスク (255.255.255.0 の場合は 24)
$Gateway = "192.168.1.1" # デフォルトゲートウェイ
$DnsServer = "8.8.8.8" # DNSサーバー (Google Public DNSの例)
# 2. 実行処理(ここから下は変更不要)
# 既存のIP設定をクリアし、指定したIPアドレスで固定する
Get-NetAdapter -Name $InterfaceName | New-NetIPAddress -IPAddress $IPAddress -PrefixLength $SubnetPrefix -DefaultGateway $Gateway
# DNSサーバーを設定する
Set-DnsClientServerAddress -InterfaceAlias $InterfaceName -ServerAddresses $DnsServer
Write-Host "IPアドレスを $IPAddress に固定しました。"
# 5秒後に自動でウィンドウを閉じる
Start-Sleep -Seconds 5
書き換えるのは「1. 事前準備」の部分だけです。 ご自身の環境に合わせて""の中の値を変更してください。書き換えたら、ip-fix.ps1 といった分かりやすい名前でデスクトップなどに保存します。
【B】DHCP(自動取得)に戻すスクリプト
Plaintext
# 1. 事前準備(ここを自分の環境に合わせて書き換える)
$InterfaceName = "イーサネット" # 手順1で調べたアダプター名
# 2. 実行処理(ここから下は変更不要)
# 既存の固定IP設定を削除
Get-NetAdapter -Name $InterfaceName | Remove-NetIPAddress -Confirm:$false
# DHCPを有効にする
Set-NetIPInterface -InterfaceAlias $InterfaceName -Dhcp Enabled
# DNSサーバーを自動取得に設定する
Set-DnsClientServerAddress -InterfaceAlias $InterfaceName -ResetServerAddresses
Write-Host "ネットワーク設定をDHCP(自動取得)に戻しました。"
# 5秒後に自動でウィンドウを閉じる
Start-Sleep -Seconds 5
こちらも同様に、$InterfaceNameをご自身の環境に合わせて書き換え、dhcp-auto.ps1 といった名前で保存します。
手順3. スクリプトを実行可能にする(初回のみ)
セキュリティのため、Windowsは初期設定でPowerShellスクリプトの実行を制限しています。これを一度だけ許可してあげる必要があります。
手順1と同じように「ターミナル (管理者)」を開きます。
以下のコマンドを入力し、Enterキーを押します。
<!-- end list -->
Plaintext
Set-ExecutionPolicy RemoteSigned
「実行ポリシーを変更しますか?」と聞かれたら、Y を入力してEnterを押してください。
手順4. 1クリックで実行できるショートカットを作る
いよいよ仕上げです。このままではファイルを右クリックして「PowerShellで実行」を選ばないと使えません。ダブルクリックで使えるようにしましょう。
保存したスクリプトファイル(例: ip-fix.ps1)を右クリックし、「ショートカットの作成」を選びます。
作成されたショートカットを右クリックし、「プロパティ」を開きます。
「ショートカット」タブの「詳細設定」ボタンをクリックします。
「管理者として実行」にチェックを入れ、「OK」をクリックします。
これをip-fix.ps1とdhcp-auto.ps1の両方のショートカットで行えば完成です! これからは、このショートカットアイコンをダブルクリックするだけで、一瞬でネットワーク設定が切り替わります。
応用アイデア/関連リンク
慣れてきたら、2つのスクリプトを1つにまとめ、実行時に「[1] IP固定 / [2] DHCP」のように選択肢を表示させることも可能です。Read-Hostというコマンドを使えば、ユーザーからの入力を受け付ける対話型のスクリプトも作れます。
また、Wi-Fiの接続先(SSID)を切り替えるコマンドと組み合わせれば、「オフィスに着いたら、社内Wi-Fiに接続してIPを固定する」といった、より高度な自動化も実現できます。
【参考記事・公式ガイド】
まとめ3行
要点: PowerShellスクリプトを使えば、IPアドレスの固定とDHCPへの切り替えを1クリックで自動化できる。
注意点: スクリプト内のアダプター名やIPアドレスは自分の環境に合わせること。初回実行時はSet-ExecutionPolicyの設定が必要。
今後の予測: この方法はWindowsの標準機能のみで完結するため、OSがアップデートされても長く安定して使える可能性が高いです。
おまけ:ナベキンファクトリー紹介
中古PC・OA機器の専門店 ナベキンファクトリー では、本記事のような設定を試せるお買い得な中古パソコンや、ネットワーク構築に欠かせない周辺機器を多数取り扱っています。新しいPCで環境構築を試してみたい方は、ぜひチェックしてみてください!
