private/Resolve-SnmpEndpoint.ps1
|
function Resolve-SnmpEndpoint { [CmdletBinding()] param ( [Parameter(Mandatory)] [string]$ComputerName, [Parameter()] [int]$Port = 161 ) try { $ipAddress = $null if ([System.Net.IPAddress]::TryParse($ComputerName, [ref]$ipAddress)) { return [System.Net.IPEndPoint]::new( $ipAddress, $Port ) } $Addresses = [System.Net.Dns]::GetHostAddresses($ComputerName) if ($Addresses.Count -eq 0) { throw } return [System.Net.IPEndPoint]::new( $Addresses[0], $Port ) } catch { throw "Unable to resolve host '$ComputerName'." } } |