2 に答える
netsh (MS が私たちを引き離そうとし、あきらめたツール)
WLAN インターフェース名を取得するには: netsh wlan show interfaces
help states : show interfaces - システム上のワイヤレス LAN インターフェースのリストを表示します。
LAN インターフェース名を取得するには: netsh lan show interfaces
help states : show interfaces - システム上の現在の有線インターフェースのリストを表示します。
すべてのインターフェースの名前を取得するには: netsh interface show interface
help states : show interfaces - インターフェースを表示します。
LAN のコマンドには、通常は開始されていない Wired AutoConfig サービスが必要です。
このバッチ スクリプトは、サービスを開始し、(最後の) LAN インターフェイス名を取得し、それを新しい名前に変更し、Wired AutoConfig サービスを再度停止します。
sc.exe start dot3svc
for /f "tokens=1* delims=: " %%a in ('netsh lan show interfaces') do if %%a == Name set activeAdapter=%%b
echo %activeAdapter%
netsh interface set interface name="%activeAdapter%" newname="Ethernet"
sc.exe stop dot3svc
制限:
- 有線インターフェイスが 1 つしかないことを前提としています
- 開始時に実行されていたかどうかに関係なく、Wired AutoConfig サービスを停止します。
Wifi インターフェイスの場合、上記のスクリプト「lan」を「wlan」に変更し、sc.exe サービスの開始/停止の両方を削除します
パワーシェル
どのインターフェイスの名前を変更するかをより適切に制御するには、PowerShell を選択する方が簡単です。
これはおそらくほとんどの場合に機能します。
Get-NetAdapter | Where-Object { $_.HardwareInterface -eq $True -and $_.MediaType -eq "802.3" } | Rename-NetAdapter -NewName "Ethernet"
HardwareInterface
仮想インターフェイスを排除します。たとえば、VMWare
MediaType
802.3
は「有線」インターフェイスのみを表示し、Wifi、ブロードバンドなどは表示しません。
スクリプト ファイルでは、上記のバージョンのコマンドを使用します。省略形は次のようになります。
Get-NetAdapter | ? HardwareInterface | ? MediaType -eq "802.3" | Rename-NetAdapter "Ethernet"
目的のインターフェイスを選択する方法は他にもあります。選択できるすべてのパラメーターを確認します。
(Get-NetAdapter)[0] | Format-List -Property * -Force
例:
Realtek (Realtek ベンダー 10ec、Intel: 8086) によって作成されたものをすべてリストします。
Get-NetAdapter | ? ComponentID -like "PCI\VEN_10EC*"
仮想ではない:
Get-NetAdapter | ? Virtual -eq $false
コネクタの存在:
Get-NetAdapter | ? ConnectorPresent
次に、WMIオブジェクトがあります
Get-WmiObject -Class Win32_NetworkAdapterConfiguration
レジストリ
ネットワーク アダプタ カードを変更し、新しいカードがEthernet 2などの名前を使用していて、その名前を「Ethernet」に戻したい場合、次のようなエラーが表示されます。
"You were not connected because a duplicate name exists on the network. If joining a domain, go to System in Control Panel to change the computer name and try again. If joining a workgroup, choose another workgroup name."
もちろん、これはコンピュータの名前変更に関する誤ったエラー メッセージです。
PowerShell は正しく言うでしょう:An attempt was made to create an object and the object name already existed.
しかしControl Panel\Network and Internet\Network Connections
、そこに行ってインターフェースの名前を変更しようとしても役に立ちません。
このような場合の唯一のオプションは、これらのレジストリ パスで対応するキーを見つけることです。
HKEY_LOCAL_MACHINE\SYSTEM\Setup\Upgrade\NetworkDriverBackup\Control\Network\{4d36e972-e325-11ce-bfc1-08002be10318}\
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Network\{4D36E972-E325-11CE-BFC1-08002BE10318}\
HKEY_LOCAL_MACHINE\SYSTEM\Setup\Upgrade\NetworkDriverBackup\Control\NetworkSetup2\Interfaces\
古いインターフェイスのキーを削除し (上記のパス全体ではありません!)、再起動します。
cmd バッチ、PS、またはコントロール パネルでの名前変更が機能するようになりました。
サーバーの新しさに応じて、Powershell を使用して多くのことを実行できます。詳細については、Google の「Get-WmiObject -Class Win32_NetworkAdapterConfiguration」を参照してください。