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

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

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

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

コマンドプロンプト

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

ネットワーク

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

Q&A

解決済

2回答

798閲覧

PowerShell【ネットワーク設定】ネットワークアダプターのDHCPが有効にチェックが付かない

takokaina

総合スコア8

PowerShell

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

コマンドプロンプト

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

ネットワーク

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

0グッド

1クリップ

投稿2024/07/11 04:02

編集2024/07/11 06:15

実現したいこと

PC画面右下のアクションセンター
イメージ説明
からSSIDを切り替えて、出張先のWi-Fiに接続しようとしてます。
最近Windows11に切り替えがほぼ終わり、ほぼすべてのパソコンでWindows11から以下の設定で
SSIDのみの切り替えとパスワードでWi-Fiにつなごうとしています。
①アクションセンターからSSID選択もしくはステルスのものはSSIDを設定
②セキュリティーキーを入力
③SSIDを設定して
④アダプターの設定はプロパティからDHCPにする設定をしようとしています。

実現したいこと「アダプターの設定」DHCPにチェックをつけたい。
現状はIPなどの入力窓の中身が消えているだけで、DHCPにチェックがついていない。

イメージ説明

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

以下のコマンドを走らせると上のような結果になります。

該当のソースコード

commandpronpt

1chcp 65001 2# 管理者権限で実行されていることを確認 3<# : 4@echo off 5openfiles >nul 2>&1 6if errorlevel 1 ( 7 powershell start-process "'%~f0'" -verb runas 8 goto :EOF 9) 10powershell -noprofile -command "invoke-expression (get-content '%~f0' -raw)" 11goto :EOF 12#> 13 14# PowerShellスクリプト開始 15$adapter = Get-NetAdapter | Where-Object {$_.InterfaceAlias -eq "Wi-Fi"} 16 17# IPアドレスとデフォルトゲートウェイの設定をクリア 18$conf = $adapter | Get-NetIPConfiguration 19If ($conf.IPv4Address.IPAddress) { 20 $adapter | Remove-NetIPAddress -AddressFamily IPv4 -Confirm:$false 21} 22If ($conf.Ipv4DefaultGateway) { 23 $adapter | Remove-NetRoute -AddressFamily IPv4 -Confirm:$false 24} 25 26ipconfig /release 27 28Set-DnsClientServerAddress -InterfaceAlias "Wi-Fi" -ResetServerAddresses 29 30# DHCPと自動DNS取得を有効化 31$adapter | Set-NetIPInterface -DHCP Enabled 32$adapter | Set-DnsClientServerAddress -InterfaceAlias "Wi-Fi" -ResetServerAddresses

試したこと・調べたこと

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

①スタートアップフォルダに入れてPCを立ち上げたときに自動実行する
(条件)×powershell ○コマンドプロンプト

②プログラム
(条件)管理者で実行

1)管理者権限コマンドプロンプトで立ち上げてpowershell管理者を次に立ち上げる
2)途中まではコマンドプロンプトで実行
3)powershellが立ち上がってからはスクリプトで実行

③(条件)IPは解放してからでないと上書き変更できない※理由 前の接続設定を継承してつなぎにいく

④コマンドプロンプは通常「SHIFT_jis」(文字コード932)→UTF-8 (文字コード65001)
powershellも同様に設定

⑤Windowsでは、DHCPによるIPアドレスの切り替え時に、いったん解放してから再割り当てする
https://atmarkit.itmedia.co.jp/ait/articles/0705/25/news145.html

補足

今はスクリプトの問題ではなく
ネットワークの設定には何か条件があるか、
powershellとコマンドプロンプトの組みわせバッチなので何かうまくいかないことがあるのではと考えています。

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

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

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

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

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

otn

2024/07/11 04:22

> ③SSIDプロパティからIP・サブネットマスク・デフォルトゲートウェイ・DNS(プライマリ・セカンダリー)をせっていして > ④アダプターの設定はプロパティからDHCPにする設定をしようとしています。 ③と④が矛盾してますが、③のようにIP・サブネットマスク・デフォルトゲートウェイ・DNSを手動で全部設定したいのか、④のようにDHCPでIP・サブネットマスク・デフォルトゲートウェイ・DNSを全部、自動設定したいのか、どちらなのでしょうか?手動と自動は両立しません。
takokaina

2024/07/11 04:59

そのとおりでした。 つなぎ方は無線(Wi-Fi)でDHCPになります。設定はしません。
otn

2024/07/11 08:14

であれば、画像を見る限り、「IPアドレスを自動的に取得する」がグレーアウトされておらずに チェックできそうですけど?そのボタンがDHCPという意味です。
takokaina

2024/07/11 23:21

この画像でままでDHCPは有効なんですか? ということはコマンドでチェックすれば、有効と出てくるんですね! 確認してみます。 ありがとうございます。
otn

2024/07/12 02:18

> この画像でままでDHCPは有効なんですか? いいえ。ボタンのオンとオフの状態の意味が分かりませんか? DHCPを意味する「IPアドレスを自動的に取得する」のボタンがオンになっておらず、 固定IPを意味する「次のIPアドレスを使う」のボタンがオンになっているので、 DHCP状態では無いと思います。 DHCPオフで、固定IPをオンにしておきながら、その固定IPアドレス未記入というのは普通ありえないので、この状態のままだとどういう状態なのかは分かりませんが、通信できるとは思えないですね。
otn

2024/07/12 02:26

あと、DHCP状態にしたいだけなのに、なぜPowerShellスクリプトが登場するのか全く分かりません。 「IPアドレスを自動的に取得する」のボタンをクリックする、それだけですが。 質問文には全く書かれていませんが、もしかすると、固定IPアドレス設定になっているPCが数え切れないくらい沢山あって、それらを全部DHCP状態にしたいのでスクリプトでやりたいということですかね? 新規にセットアップしたWindowsPCであれば、DHCPが初期状態のはずなので、何もしなくて良いのですが。
takokaina

2024/07/12 02:55

やっぱり違うんですよね。 DHCPを有効にするには上側にラジオボタンが来ないといけないんですよね。 登場する理由は「netsh」使えなくなるという点です。そのためコマンドはやめてpowershellにしています。 またpawershellだとスタートアップフォルダで起動しないためいったんコマンドでスタートアップで起動して途中でpowershellに切り替えている次第です。
takokaina

2024/07/12 02:57

前提がクリックさせずに起動と同時に自動起動とDHCPクリックをコマンド(powershell)にさせるが狙いです。
takokaina

2024/07/12 03:00

状況的に説明するとネットワークの繰り替えがあるために、設定を変更しないといけない機種が80台ほどあるじょうたいです。 また以前の接続を覚えていて出張先でつながらないということが斌夫圧するので個人ごとのPCにDHCPを上書きするファイルを仕込みという計画をしております。
otn

2024/07/12 03:21

本当にやりたいことを全く質問に書かないと適切な回答は得られないですよ。 「固定IP設定になっているPC約80台を、各ユーザーにアダプターに関するGUI操作をさせることなくDHCPに切り替えたいがどうしたらいいか。バッチファイルなどをクリックして実行させることは可能(あるいはログインスクリプトで?)」 が、本当にやりたいことですかね?
takokaina

2024/07/12 03:27

もうちょっと追加すると。社内には切り替えを待つファイルサーバーのつながったネットワークと新しい基幹システムがある新ネットワークが共存して使われている状態で、来年3月には完全切り替えなんですが、いまは使う機能によって繋ぎ変えている状態です。
takokaina

2024/07/12 05:16

そのとおりです。
guest

回答2

0

自己解決

自己解決に至っていませんが、再度質問を変えて
https://teratail.com/questions/7kfqn2n0q3snfv

あげていきます

投稿2024/07/18 02:06

takokaina

総合スコア8

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

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

0

やりたいことが、私がコメントに書いた、
「固定IP設定になっているPC約80台を、各ユーザーにアダプターに関するGUI操作をさせることなくDHCPに切り替えたいがどうしたらいいか。バッチファイルなどをクリックして実行させることは可能(あるいはログインスクリプトで?)」
だけなのであれば、管理者権限のPowerShellで、

Powershell

1Set-NetIPInterface -InterfaceAlias "Wi-Fi" -Dhcp Enabled 2Set-DnsClientServerAddress -InterfaceAlias "Wi-Fi" -ResetServerAddresses 3# 念のためアダプター再起動 4Restart-NetAdapter Wi-Fi

だけ実行すれば良いかと思います。上記以外の要件はない前提です。
管理者権限での実行方法には知見をお持ちなので、それで。

お書きのスクリプトの、

IPアドレスとデフォルトゲートウェイの設定をクリア

の部分はDHCPになれば、クリアーされるか無視されるかなので、不要でしょうね。

ipconfig /release

も、DHCPにしてからの話なので、ここで実行しても意味ないと思います。DHCPに切り替えた直後に実行しても意味ないですが。

上記3行は、お書きの最後の2行とほぼ同じなので、それで反映されないとすると、
反映にはRestart-NetAdapter Wi-Fiが必要なのかも知れません。

投稿2024/07/12 04:14

otn

総合スコア85901

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.35%

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

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

質問する

関連した質問