DSCResources/ooRouter/ooRouter.schema.psm1
Configuration ooRouter { Script 'EnableRouting' { GetScript = { if ((Get-RemoteAccess).VpnStatus -ne 'Installed') { @{ Result = "false"; } } $nat = &netsh routing ip nat show global if ($nat -like 'No information found*') { @{ Result = "false"; } } $ExternalInterface = 'WAN' $wan = &netsh routing ip nat show interface $ExternalInterface if ($wan -like 'No information found*') { @{ Result = "false"; } } <# Get-NetAdapter | Where-Object { $_.Name -ne 'WAN' -and $_.Name -notlike '*_HB' } | ForEach-Object { $adapter = &netsh routing ip nat show interface $_.Name if ($adapter -like 'No information found*') { @{ Result = "false"; } } } #> @{ Result = "true"; } } TestScript = { if ((Get-RemoteAccess).VpnStatus -ne 'Installed') { return $false } $nat = &netsh routing ip nat show global if ($nat -like 'No information found*') { return $false } $ExternalInterface = 'WAN' $wan = &netsh routing ip nat show interface $ExternalInterface if ($wan -like 'No information found*') { return $false } <# Get-NetAdapter | Where-Object { $_.Name -ne 'WAN' -and $_.Name -notlike '*_HB' } | ForEach-Object { $adapter = &netsh routing ip nat show interface $_.Name if ($adapter -like 'No information found*') { return $false } } #> return $true } SetScript = { if ((Get-RemoteAccess).VpnStatus -ne 'Installed') { Install-RemoteAccess -VpnType Vpn } &netsh routing ip nat install $ExternalInterface = 'WAN' $wan = &netsh routing ip nat show interface $ExternalInterface if ($wan -like 'No information found*') { &netsh routing ip nat add interface $ExternalInterface } &netsh routing ip nat set interface $ExternalInterface mode=full <# Get-NetAdapter | Where-Object { $_.Name -ne 'WAN' -and $_.Name -notlike '*_HB' } | ForEach-Object { $adapter = &netsh routing ip nat show interface $_.Name if ($adapter -like 'No information found*') { &netsh routing ip nat add interface $_.Name } } #> } } } |