PowerShellがインストールされたWindowsServer 2003SP2を実行しているラップトップがあります。
このシステムは、正しく機能するためにNIC手動で100Mbps /全二重に設定する必要がある環境で使用する必要がある場合があります。他のほとんどの環境では、これを自動に設定する必要があります。 -最高のパフォーマンスを検出します。
通常、私は次の手順でこれを行います。
バッチまたはPowerShellスクリプトを介してこれを行う方法はありますか?私はこのようなことをしたいと思っています:
@ECHO OFF
[Insert 100 Mbps/Full Duplex commands here]
ECHO NIC set to 100 Mbps/Full Duplex
ECHO Press any key to return to Auto-Detect
PAUSE
[Insert Auto-Detect commands here]
ECHO NIC returned to Auto-Detect
ECHO Press any key to exit
PAUSE
WMICまたはPowerShellを介してこれを行う方法がいくつかあると言われましたが、適切なスイッチ、値、または構文を見つけることができませんでした。
Technetスレッドに記載されているように、これはベンダー固有の設定のようです ここ
HKLM\SYSTEM\CurrentControlSet\Control\Class \(GUID)\(INTNUM)\(Vendor-specific-registrykey)の下にあるNICのキーにレジストリを変更するだけで十分であると記載されていますが、何かを追加する必要があると思います。そこに無効にしてから、変更するときにNIC)を再度有効にします。
これは、上記のすべてを質問のテンプレートに組み込んだバッチスクリプトの例です。
@echo off
reg add HKLM\SYSTEM\CurrentControlSet\Control\Class\{4D36E972-E325-11CE-BFC1-08002bE10318}\0001 /v RequestedMediaType /d 6 /t REG_SZ /f
netsh interface set interface "Local Area Connection" DISABLED
netsh interface set interface "Local Area Connection" ENABLED
echo Connection set to 100 Mb/Full Duplex
echo Press any key to change back to Auto
PAUSE
reg add HKLM\SYSTEM\CurrentControlSet\Control\Class\{4D36E972-E325-11CE-BFC1-08002bE10318}\0001 /v RequestedMediaType /d 0 /t REG_SZ /f
netsh interface set interface "Local Area Connection" DISABLED
netsh interface set interface "Local Area Connection" ENABLED
echo Connection set to Auto
echo Press any key to exit
PAUSE
上記のスクリプトを機能させるには、以下を変更する必要がある場合があります。
"\Class\"
の後のすべては、システムの適切なキーと一致するように変更する必要がある場合があります。 {4D36E972
で始まるキーを探し、そこから作業して必要なキーを見つけます。/v
、/d
、および/t
スイッチのパラメーターは、システムのベンダー固有の構成と一致するように設定する必要があります。"Local Area Connection"
を変更します。いつものように、テストされていない変更を試みる前に、必ずレジストリの完全バックアップを作成してください。