none
Powershell에서 NIC Duplex 설정 RRS feed

답변

  • 안녕하십니까? 김도남 님

    Microsoft TechNet Forum 사이트를 방문해 주셔서 감사합니다.

     

    문의 하신 “Powershell에서 NIC Duplex 설정에 대한 답변을 드리겠습니다.

     

    Step 1 : NIC 검색

     

    Win32_NetworkAdapter Instance 목록을 제공해서 Network Adapter를 검색을 할 수 있습니다.

     

    Get-WMIObject Win32_NetworkAdapter

     

     

    Step 2 : Duplex

     

    NIC Duplex Registry에서 설정을 할 수 있습니다.

    경로 : HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\{4D36E972-E325-11CE-BFC1-08002BE10318}

     

    속성 이름 : *SpeedDuplex

     

             설명

    0    Auto Detect
    1    10Mbps \ Half Duplex

    2    10Mbps \ Full Duplex

    3    100Mbps \ Half Duplex

    4    100Mbps \ Full Duplex

     

     

    Step 3 : Full Script

     

    아래의 함수는 NetConnectionID, Duplex값을 인자로 받아서 해당 NIC에 설정을 합니다.

     

    function Set-NetworkDuplex

    {

        param(

            [Parameter(Mandatory=$true)]

            $netConnectionID,

            [Parameter(Mandatory=$true)]

            $duplex

        )

       

        $keyroot = "HKLM:SYSTEM\CurrentControlSet\Control\Class\{4D36E972-E325-11CE-BFC1-08002BE10318}"

       

        $nic = Get-WmiObject Win32_NetworkAdapter | ? { $_.NetConnectionID -eq $netConnectionID }

       

        if(!($nic -is [wmi]))

        {

            Write-Host "$netConnectionID 네트워크 아답터를 찾지 못했습니다."

            return;

        }

       

        $data = $nic.Caption -split "]"

        $suffix = $data[0].Substring(($data[0].length-4),4)

        $key = $keyroot + "\$suffix"

       

        Set-ItemProperty -Path $key -Name "*SpeedDuplex" -Value $duplex

           

        switch ($duplex) {

            "0" {$dup = "Auto Detect"}

            "1" {$dup = "10Mbps \ Half Duplex"}

            "2" {$dup = "10Mbps \ Full Duplex"}

            "3" {$dup = "100Mbps \ Half Duplex"}

            "4" {$dup = "100Mbps \ Full Duplex"}

        }  

        $dup

    }

     

     

    Set-NetworkDuplex "MicrosoftNET" "1"

     

     

    참고 자료

     

    Win32_NetworkAdapterConfiguration class

    http://msdn.microsoft.com/en-us/library/windows/desktop/aa394217(v=vs.85).aspx

     

    Win32_NetworkAdapter class

    http://msdn.microsoft.com/en-us/library/windows/desktop/aa394216(v=vs.85).aspx

     

    Win32_OperatingSystem class

    http://msdn.microsoft.com/en-us/library/windows/desktop/aa394239(v=vs.85).aspx

     

    제가 문제에 대해 더 알아야 할 것이 있다면 응답 주시면 감사하겠습니다.

    제시해 드린 답변이 도움이 되었기를 바랍니다.

    • 답변으로 표시됨 김도남 2011년 12월 16일 금요일 오전 9:13
    2011년 12월 15일 목요일 오전 5:07
    중재자