The *check-subnet-mask.ps1* Script =========================== This PowerShell script checks the given subnet mask for validity. Parameters ---------- ```powershell /home/markus/Repos/PowerShell/scripts/check-subnet-mask.ps1 [[-address] ] [] -address Specifies the subnet mask to check Required? false Position? 1 Default value Accept pipeline input? false Accept wildcard characters? false [] This script supports the common parameters: Verbose, Debug, ErrorAction, ErrorVariable, WarningAction, WarningVariable, OutBuffer, PipelineVariable, and OutVariable. ``` Example ------- ```powershell PS> ./check-subnet-mask.ps1 255.255.255.0 ✅ subnet mask 255.255.255.0 is valid ``` Notes ----- Author: Markus Fleschutz | License: CC0 Related Links ------------- https://github.com/fleschutz/PowerShell Script Content -------------- ```powershell <# .SYNOPSIS Checks the given subnet mask for validity .DESCRIPTION This PowerShell script checks the given subnet mask for validity. .PARAMETER address Specifies the subnet mask to check .EXAMPLE PS> ./check-subnet-mask.ps1 255.255.255.0 ✅ subnet mask 255.255.255.0 is valid .LINK https://github.com/fleschutz/PowerShell .NOTES Author: Markus Fleschutz | License: CC0 #> param([string]$address = "") function IsSubNetMaskValid { param([string]$IP) $RegEx = "^(254|252|248|240|224|192|128).0.0.0$|^255.(254|252|248|240|224|192|128|0).0.0$|^255.255.(254|252|248|240|224|192|128|0).0$|^255.255.255.(255|254|252|248|240|224|192|128|0)$" if ($IP -match $RegEx) { return $true } else { return $false } } try { if ($address -eq "" ) { $address = read-host "Enter subnet mask to validate" } if (IsSubNetMaskValid $address) { "✅ subnet mask $Address is valid" exit 0 # success } else { write-warning "Invalid subnet mask: $address" exit 1 } } catch { "⚠️ Error in line $($_.InvocationInfo.ScriptLineNumber): $($Error[0])" exit 1 } ``` *(generated by convert-ps2md.ps1 as of 11/20/2024 11:51:52)*