Desativa as propriedades avançadas da NIC no servidor Windows 2008/2012

1

Eu tenho algumas VMs Rackspace e preciso desativar essas propriedades avançadas da NIC:

  • Corrigir valor da soma de verificação TCP / UDP
  • Descarregamento de soma de verificação IPv4
  • Grande transferência de carga
  • Versão de descarregamento de envio grande 2
  • Descarregamento de checksum do TCP
  • Descarregamento da soma de verificação do UDP

Agora eu preciso fazer isso usando Powershell / Batch e até agora eu tenho isso.

Disable-NetAdapterChecksumOffload -Name private -UdpIPv4 -TcpIPv4
Disable-NetAdapterLso -Name private

cmd.exe /C "netsh int tcp set global chimney=disabled"
cmd.exe /C "netsh int tcp set global rss=disabled"
cmd.exe /C "netsh int tcp set global netdma=disabled"
cmd.exe /C "netsh int ip set global taskoffload=disabled"

new-ItemProperty -force -Path hklm:\\HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\TCPIP\Parameters -Name DisableTaskOffload -Value 1
new-ItemProperty -force -Path hklm:\\HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\TCPIP\Parameters -Name TCPChecksumOffloadIPv4  -Value 0
new-ItemProperty -force -Path hklm:\\HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\TCPIP\Parameters -Name UDPChecksumOffloadIPv4  -Value 0

Mas eu não posso fazer isso funcionar.

    
por ccamacho 04.11.2014 / 16:36

2 respostas

0

Consigo fazer isso com esse script de powershell.

$root = 'HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\{4D36E972-E325-11CE-BFC1-08002BE10318}'
$items = Get-ChildItem -Path Registry::$Root -Name
Foreach ($item in $items) {
    if ($item -ne "Properties") {
        $path = $root + "\" + $item
        $DriverDesc = Get-ItemProperty -Path Registry::$path | Select-Object -expandproperty DriverDesc
        if ($DriverDesc -eq "Citrix PV Ethernet Adapter") {
            Set-ItemProperty -path Registry::$path -Name LROIPv4 -Value 0
        }
    }
}

new-ItemProperty -force -Path hklm:\\HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\TCPIP\Parameters -Name IPChecksumOffloadIPv4  -Value 0
new-ItemProperty -force -Path hklm:\\HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\TCPIP\Parameters -Name LSOv2IPv4 -Value 0
new-ItemProperty -force -Path hklm:\\HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\TCPIP\Parameters -Name NeedChecksumValue  -Value 0
new-ItemProperty -force -Path hklm:\\HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\TCPIP\Parameters -Name TCPChecksumOffloadIPv4  -Value 0
new-ItemProperty -force -Path hklm:\\HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\TCPIP\Parameters -Name UDPChecksumOffloadIPv4  -Value 0
new-ItemProperty -force -Path hklm:\\HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\TCPIP\Parameters -Name LROIPv4  -Value 0

O importante é ver as propriedades a serem alteradas.

Usando:

PS > Get-NetAdapter

PS > Get-NetAdapterAdvancedProperty name_of_the_nic

PS > Get-NetAdapterAdvancedProperty name_of_the_nic | ft RegistryKeyword

Atualize agora o RegistryKeyword conforme necessário

    
por 05.11.2014 / 09:55
0

Presumindo que 'Ethernet' é o nome da sua NIC:

# Display valid values
Get-NetAdapterAdvancedProperty Ethernet | ft DisplayName , ValidDisplayValues
# Display existing settings:
Get-NetAdapterAdvancedProperty Ethernet | ft DisplayName, DisplayValue, RegistryKeyword ,   RegistryValue
# Set all the settings required to switch of TCP IPv4 offloading to fix SQL Server connection dropouts in high connection, high transaction environment:
# Note that RDP connection to instance will drop out momentarily
Set-NetAdapterAdvancedProperty Ethernet -DisplayName "IPv4 Checksum Offload" -DisplayValue "Disabled" -NoRestart
Set-NetAdapterAdvancedProperty Ethernet -DisplayName "Large Send Offload V2 (IPv4)" -DisplayValue "Disabled" -NoRestart
Set-NetAdapterAdvancedProperty Ethernet -DisplayName "TCP Checksum Offload (IPv4)" -DisplayValue "Disabled" -NoRestart
Set-NetAdapterAdvancedProperty Ethernet -DisplayName "Large Receive Offload (IPv4)" -DisplayValue "Disabled" 
# Check its worked
Get-NetAdapterAdvancedProperty Ethernet | ft DisplayName, DisplayValue, RegistryKeyword ,   RegistryValue
    
por 03.03.2015 / 23:56