内容へ移動
Mako Wiki
ユーザ用ツール
ログイン
サイト用ツール
検索
ツール
文書の表示
以前のリビジョン
バックリンク
最近の変更
メディアマネージャー
サイトマップ
ログイン
>
最近の変更
メディアマネージャー
サイトマップ
トレース:
ja:windows:powershell:dhcpサーバを操作する
この文書は読取専用です。文書のソースを閲覧することは可能ですが、変更はできません。もし変更したい場合は管理者に連絡してください。
====== DHCPサーバ設定をPowerShellで行う ====== 今までnetshコマンドを使ってDHCPサーバの制御を行っていたのですが、いつの間にかnetshでのDHCPサポートは将来削除されるかもしれませんよー!と警告が出るようになっていたので、将来削除されちゃっても良いようにPowerShellでやってみようかと。\\ なお、作業には管理者権限が必要なので、PowerShellのプロンプトを起動する時やスクリプトを実行する時には管理者権限に昇格するように! ===== モジュール ===== PowerShellでDHCPサーバを制御する為にはDhcpServerモジュールが必要です。 <code powershell> PS C:\Windows\system32> Import-Module DhcpServer </code> とりあえず、処理を行う前に実行しとけばおk。\\ モジュール内にあるコマンドも確認しておくと良い。 <code powershell> PS C:\Windows\system32> Get-Command -Module DhcpServer </code> ついでに出てきたコマンドの詳細を知りたい場合は <code powershell> Get-Help コマンド </code> や <code powershell> Get-Help コマンド -examples </code> ってすると幸せになれます。 ===== スコープを作成する ===== **書式** <code powershell> Add-DhcpServerv4Scope -StartRange 開始IP -EndRange 終了IP -SubnetMask サブネットマスクIP -Name "名前" -State InActive </code> **例** <code powershell> PS C:\Windows\system32> Add-DhcpServerv4Scope -StartRange 192.168.1.50 -EndRange 192.168.1.60 -SubnetMask 255.255.255.0 -Name "サンプルスコープ" -State InActive </code> 他にもいろいろオプション付けられるけど、とりあえずこのくらいかと。\\ **-State**オプションは**Active**にしておくとスコープ作成直後から有効になってしまうので、スコープの作成後にオプションを設定したりするのであれば、一旦**InActive**にして非アクティブ状態で作成されるようにしておくと良い。 ==== スコープIDを確認する ==== スコープを作成すると、その後でオプションの設定時等にやたらとスコープIDを入力するシーンが出てくる。\\ IDと言っても生成したスコープのネットワークアドレスなんだけど、それを一覧で確認したい場合は**Get-DhcpServerv4Scope**コマンドで参照できる <code powershell> PS C:\Windows\system32> Get-DhcpServerv4Scope ScopeId SubnetMask Name State StartRange EndRange LeaseDuration ------- ---------- ---- ----- ---------- -------- ------------- 192.168.1.0 255.255.255.0 サンプルスコープ InActive 192.168.1.50 192.168.1.60 8.00:00:00 </code> ==== スコープにオプションを設定する ==== === よくあるオプション === 各スコープにDNSサーバやゲートウェイを設定するってのはよくあると思います。\\ == DNSサーバを追加する == <code powershell> PS C:\Windows\system32> Set-DhcpServerv4OptionValue -ScopeID 192.168.1.0 -DnsServer 192.168.1.10 PS C:\Windows\system32> Set-DhcpServerv4OptionValue -ScopeID 192.168.1.0 -DnsServer 192.168.1.10 -Force </code> DNSサーバは設定時に実際にDNSサービスが稼働しているかどうかの有効性確認が行われます。\\ **-Force**オプションをつけるとこの有効性確認をキャンセル(というか有効じゃなくても強制的に設定)できます。\\ まだDNSが構築される前などではつけると良いかと。\\ なお、DNSサーバを複数設定する場合は、設定値をカンマ区切りで並べてください。 <code powershell> PS C:\Windows\system32> Set-DhcpServerv4OptionValue -ScopeID 192.168.1.0 -DnsServer 192.168.1.10,192.168.1.11 </code> == ゲートウェイを設定する == ネットワークの設定ではよく**(デフォルト)ゲートウェイ**、**デフォゲ**などと言われますが、DHCPサーバでは**Router**という項目になります。 <code powershell> PS C:\Windows\system32> Set-DhcpServerv4OptionValue -ScopeID 192.168.1.0 -Router 192.168.1.254 </code> == 補足 == 勘の良い人ならもうわかってそうですが、上記のDNSやGatewayは一つにまとめて実行できます。 <code powershell> PS C:\Windows\system32> Set-DhcpServerv4OptionValue -ScopeID 192.168.1.0 -DnsServer 192.168.1.10,192.168.1.11 -Router 192.168.1.254 </code> 他にも**DnsDomain**や、**WinsServer**も同様に設定できるので、必要に応じて設定しましょう。 === その他のオプション === DHCPについて良くご存知の方は上記のオプションの他にも様々なオプションがある事を知っているかと思います。\\ これらについては、オプションのIDを使って直接指定することで設定が可能です。 <code powershell> PS C:\Windows\system32> Set-DhcpServerV4OptionValue -OptionId オプションの番号 -Value "オプションの値" -ScopeId スコープID </code> 例えばNo12のホスト名だと、こんな感じになります。 <code powershell> PS C:\Windows\system32> Set-DhcpServerV4OptionValue -OptionId 12 -Value "client01" -ScopeId 192.168.1.0 </code> ===== スコープを有効にする ===== 最初のスコープ作成コマンドを使うと、**-State**で**InActive**を指定しているので、スコープは非アクティブ状態になり、IPアドレスのリースが行われません。\\ スコープをアクティブにする場合は、下記のようにします。 <code powershell> PS C:\Windows\system32> Set-DhcpServerv4Scope -ScopeID 192.168.1.0 -State Active </code> ===== IPアドレスを予約する ===== 接続するクライアントのMACアドレスがわかっている場合、IPアドレスを予約することができます。\\ 予約する場合のコマンドは下記の通り。\\ **書式** <code powershell> PS C:\Windows\system32> Add-DhcpServerv4Reservation -ScopeId スコープID -IPAddress 予約するIPアドレス -ClientId MACアドレス(ハイフン区切り、大文字) -Name "名称" -Type Both </code> **例** <code powershell> PS C:\Windows\system32> Add-DhcpServerv4Reservation -ScopeId 192.168.1.0 -IPAddress 192.168.1.50 -ClientId 08-00-27-00-40-6B -Name "client01" -Type Both </code> ===== フェイルオーバー構成の設定をレプリケートする ===== Windows Server 2012 R2とかだと、2台のDHCPサーバを冗長構成(フェイルオーバー構成)にすることができます。\\ フェイルオーバー構成に設定した後、何らかの設定変更を行った場合、その変更された設定をフェイルオーバー構成の相手側に同期(レプリケート)する必要があります。\\ **書式** <code powershell> PS C:\Windows\system32> Invoke-DhcpServerv4FailoverReplication -ScopeId スコープID </code> **例** <code powershell> PS C:\Windows\system32> Invoke-DhcpServerv4FailoverReplication -ScopeId 192.168.1.0 </code>
ja/windows/powershell/dhcpサーバを操作する.txt
· 最終更新: 2016/12/28 08:09 by
makoto
ページ用ツール
文書の表示
以前のリビジョン
バックリンク
文書の先頭へ