DSCResources/Grani_TCPAckFrequency/Grani_TCPAckFrequency.psm1
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 |
function Set-TargetResource { [CmdletBinding()] param ( [parameter(Mandatory = $true)] [System.Boolean]$Enable ) $value = if ($Enable) { 2 } else { 1 } Get-NetworkInterfaceRegisty ` | where TcpAckFrequency -ne $value ` | % { Set-ItemProperty -Path $_.PSPath -Name TcpAckFrequency -Value $value -Force -PassThru } } function Get-TargetResource { [CmdletBinding()] [OutputType([System.Collections.Hashtable])] param ( [parameter(Mandatory = $true)] [System.Boolean]$Enable ) $tcpAckFrequency = Get-NetworkInterfaceRegisty | % {$_.GetValue("TCPAckFrequency")} | sort -Unique $result = switch ($tcpAckFrequency) { 1 { $false } 2 { $true } default { $true } } return @{ Enable = $result } } function Test-TargetResource { [CmdletBinding()] [OutputType([System.Boolean])] param ( [parameter(Mandatory = $true)] [System.Boolean]$Enable ) $result = Get-TargetResource -Enable $Enable return $result.Enable -eq $Enable } function Get-NetworkInterfaceRegisty { [CmdletBinding()] [OutputType([Microsoft.Win32.RegistryKey[]])] param () return Get-ChildItem -Path "registry::HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Interfaces" ` | where { Get-ItemProperty -Path "registry::$_" ` | where AddressType -eq 0 } } Export-ModuleMember -Function *-TargetResource |