質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.40%
PowerShell

Windows PowerShellはコマンドラインインターフェースであり、システム管理を含むWindowsタスク自動化のためのスクリプト言語です。

コマンドプロンプト

コマンドプロンプト(cmd.exe)はMicrosoftによって提供されているコマンドラインインタプリタです。OS/2・Windows CE・Windows NTで使用可能です。

ネットワーク

ネットワークとは、複数のコンピューター間を接続する技術です。インターネットが最も主流なネットワークの形態で、TCP/IP・HTTP・DNSなどの様々なプロトコルや、ルータやサーバーなどの様々な機器の上に成り立っています。

Q&A

0回答

424閲覧

powershellのスクリプトを自動実行させて自動取得(DHCP)にしたい

takokaina

総合スコア5

PowerShell

Windows PowerShellはコマンドラインインターフェースであり、システム管理を含むWindowsタスク自動化のためのスクリプト言語です。

コマンドプロンプト

コマンドプロンプト(cmd.exe)はMicrosoftによって提供されているコマンドラインインタプリタです。OS/2・Windows CE・Windows NTで使用可能です。

ネットワーク

ネットワークとは、複数のコンピューター間を接続する技術です。インターネットが最も主流なネットワークの形態で、TCP/IP・HTTP・DNSなどの様々なプロトコルや、ルータやサーバーなどの様々な機器の上に成り立っています。

0グッド

1クリップ

投稿2024/07/18 01:15

編集2024/07/18 23:31

実現したいこと

システム室サポートで勤務中。
会社のPCもただいまバージョンアップ最終段階[(約90台)Windows 11 Pro 23H2]
機種はHPのProbook(21年から23年販売のモデル)
intel core i7 メモリは16G

■2024年4月より以前はネットワーク設定

コントロール パネル\ネットワークとインターネット\ネットワーク接続\アダプターの設定変更
Wi-Fi>プロパティ>インターネットプロトコルバージョン4(TCP/IPv4)から固定のIPを設定

■Windows11バージョンアップ後

この7月までの間に出張先で別のネットワークに接続する段階で、
事務所のDNSが残ってインターネット接続なしが頻発しており、客先で困る営業マンが多発。

■現在の対応策

出張先では会社支給のスマホで有線テザリングで対応(ただし20Gまでの制限あり)

■出張後
事務所までもどってきたときにDNS設定が残っている問題の
https://nihonkai-dengyo.co.jp/it-blog/2389
https://blog.jbs.co.jp/entry/2022/09/26/140000
を参考にレジストリーやデバイスマネージャーで対応していますが、出張先に戻った時に
また同じことが再発してしまいます。

■ネットワーク設定の方針

①コントロールパネルのネットワークアダプターの設定は「自動取得(DHCP)」
②(Windows11からあらわれた)設定>ネットワークとインターネット>アプリ IP・DNSを設定
③アクションセンター(トップ画面右下)の「Wi-Fiの接続管理」からSSIDを切り替えてセキュリティーキーを入れてネットに接続

との方針が決定。
根拠

https://atmarkit.itmedia.co.jp/ait/articles/2203/31/news038.html

■DNSサーバーのアドレスが残る問題解決策の方向性

スタートアップにファイルを入れてアダプターの設定変更をコマンドプロンプトで自動設定

と決定。

だが問題が、

①netshのコマンドは今後廃止の方向性が決定している⇒powershellで作成に変更
②スタートアップ内のフォルダではpowershellは起動しない仕様⇒ファイルはコマンドプロンプトで作成

いびつなことになり
ファイルはバットファイル
①コマンドプロンプトで管理者権限で立ち上げて
②powershellを開き
③スクリプトを実行

という風に方向転換

前のPCのネットワークの状態はどうであれ、
PCのアダプターに接続IP、DNSアドレスは残っていないようにして
トップ画面右下のアクションセンターのWi-Fiの接続の関rにからSSIDを切り替えて
セキュリティーキーをいれて接続してもらおうというのが狙いです。

発生している問題・分からないこと

わからないこと
①IPやDNSの入力はなして、次のIPアドレスを使うと次のDNSサーバーアドレスを使うにチェックが入っていいるままが自動取得のところにチェックが付かない
②IPは空でDNS(プライマリーもセカンダリーも)が残ったまま、次のIPアドレスを使うと次のDNSサーバーアドレスを使うにチェックが入っていいるままが自動取得のところにチェックが付かない
③IP(デフォルトゲートウエイが残っている)やDNS(プライマリーもセカンダリーも)が残ったまま、次のIPアドレスを使うと次のDNSサーバーアドレスを使うにチェックが入っていいるままが自動取得のところにチェックが付かない

①②③のパタンがあります。

通らないので
直接打ち込んで管理者権限で実行させると

DHCP.bat

1netsh int ip set addr "Wi-Fi" dhcp 2netsh int ip set dnsserver "Wi-Fi" dhcp

うまくいくことがありました。

またこのような記事もあり

https://atmarkit.itmedia.co.jp/ait/articles/0705/25/news145.html

試してはいますが、うまくいきません。

該当のソースコード

powershell,コマンドプロンプト

1chcp 65001 2<# : 3@echo off 4openfiles >nul 2>&1 5if errorlevel 1 ( 6 powershell start-process "'%~f0'" -verb runas 7 goto :EOF 8) 9powershell -noprofile -command "invoke-expression (get-content '%~f0' -raw)" 10goto :EOF 11#> 12 13 14netsh winsock reset 15 16netsh int ip reset 17 18ipconfig /release 19 20ipconfig /renew 21 22ipconfig /flushdns 23 24# Clear-DnsClientCache; Clear-NetIPAddress -AddressFamily IPv4 -Confirm:$false 25 26 27 28$target = Get-NetIPAddress | Where-Object InterfaceIndex -eq 16 | Select-Object -First 1 29 30# 取得失敗対策 31foreach($nonNullTarget in $target){ 32 Remove-NetIPAddress -InterfaceIndex 16 -AddressFamily IPv4 33 Set-NetIPInterface -InterfaceIndex 16 -Dhcp Enabled -AddressFamily IPv4 34 35 $adapterName = $nonNullTarget.InterfaceAlias 36 Restart-NetAdapter $adapterName 37 Write-Host "$adapterNameのDHCPを設定しました" 38} 39# ネットワークアダプターの無効化・有効化 40Disable-NetAdapter -Name "Wi-Fi" -Confirm:$false 41Enable-NetAdapter -Name "Wi-Fi" -Confirm:$false 42# IPDNSのDHCP化 43Set-NetIPInterface -InterfaceIndex 16 -Dhcp Enabled 44Set-DnsClientServerAddress -InterfaceIndex 16 -ResetServerAddresses 45

試したこと・調べたこと

  • teratailやGoogle等で検索した
  • ソースコードを自分なりに変更した
  • 知人に聞いた
  • その他
上記の詳細・結果

現在のところ設定の変化なし

補足

特になし

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

dodox86

2024/07/18 01:26

過去のご質問と本質的に何か違うところがありますか。回答をいただいていて放置はどうかと思います。 [Powershellで実行させてIPの自動取得とDNSの自動取得に有効にチェックをつけたい] https://teratail.com/questions/0olkomv36ut7lc [PowerShell【ネットワーク設定】ネットワークアダプターのDHCPが有効にチェックが付かない] https://teratail.com/questions/ra8e047n2h4ssr
takokaina

2024/07/18 01:33

放置しているわけではなくて、質問が悪いと思い、作りない押しているのですが、いろいろとやり取りもあるので、どうクローズしていいのかわからず、放置になってしまい申し訳ございません。
takokaina

2024/07/18 01:34

解決していないのをいったクローズする方法はあるのでしょうか?
takokaina

2024/07/18 01:34

ご教示ください。
takokaina

2024/07/18 02:07

いったん自己解決にして閉じさせていただきました。
otn

2024/07/18 09:50

質問文が長くなってますが、相変わらず要件が不明瞭なままです。 前回の質問で、 私:「固定IP設定になっているPC約80台を、各ユーザーにアダプターに関するGUI操作をさせることなくDHCPに切り替えたいがどうしたらいいか。バッチファイルなどをクリックして実行させることは可能(あるいはログインスクリプトで?)」が、本当にやりたいことですかね? 質問者さん:その通りです と言うことだったので、固定IP=>DHCPの設定変更で一度だけ実行すれば良いスクリプトを回答しました。 これで解決じゃないと言うことは、私の要件確認に対する、「その通りです」という回答が間違っていたということですかね? 正しい要件としては、上記じゃなくて、 「DHCP切り替えは全て完了している。しかし、切り替えに失敗してしまい、DHCPのみ固定アドレスで残ってしまった。これをスクリプト実行で正常(PCのIPアドレスも、DNSのIPアドレスもDHCP)にしたい」 ということですかね? テストが面倒なので、案だけですが、 ・一旦固定IPアドレス設定にする ・正しくDHCPに切り替える でどうですかね?
takokaina

2024/07/18 23:15

不明瞭なまま。 なるほど。やはりやりたいことが伝わらないということは自分自身で迷っている。 ということりかいしました。 もう一度整理して追加修正させていただきます。
takokaina

2024/07/18 23:44

「DHCP切り替えは全て完了している。しかし、切り替えに失敗してしまい、DHCPのみ固定アドレスで残ってしまった。これをスクリプト実行で正常(PCのIPアドレスも、DNSのIPアドレスもDHCP)にしたい」 ということですかね? 「DHCP切り替えは全て完了している。 ⇒完了していない。 スタートアップに入れたバッチファイルがうまくいっておらず、全台に入れるDHCPの切り替えのためのバッチファイルができていない。 >これをスクリプト実行で正常(PCのIPアドレスも、DNSのIPアドレスもDHCP)にしたい」 はい。したいです。 (現状)何度実行してもネットワークアダプターのプロパティの画面で、次のIP・DNSサーバーのアドレスを使用するにチェックが入って、入力欄が空欄のままか、もしくはプライマリーセカンダリーのDNSサーバーのアドレス欄に数値が一部残ったままでアドレスを使用ラジオボタンにチェックが入っている。 (願望) 自動取得にチェックが入って入力欄が完全に空白でグレーアウトした状態。 ただし以下の懸念があります。 自分の認識では現在使っているスクリプト(バッチファイル)でWi-Fiネットワークアダプターのプロパティが自動取得になって、入力欄がグレーアウトで空白になっているを想定。←この想定自身があやまりであれば、つまりハードウェアのプロパティがDHCP(イメージのとおり)になっているのでこれが正しい結果なら、わたしの想定のあやまりで、別のスクリプトを作ってネットワークアダプターのプロパティの変更するスクリプトを作ることが願望です。 不明点があれば、おっしゃってください。 わかりにくい書き方をするかもしれませんが、解決したいんです。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.40%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問