Public/Get-DynDnsRecord.ps1
function Get-DynDnsRecord { [CmdLetBinding()] param( [Parameter(Mandatory=$true)] [string]$Zone, [ValidateSet('SOA','NS','MX','TXT','SRV','CNAME','PTR','A','All',IgnoreCase=$false)] [string]$RecordType = 'All', [string]$Node ) if (-Not (Test-DynDnsSession)) { return } if ($Node) { if ($Node -match $Zone ) { $Fqdn = $Node } else { $Fqdn = $Node + '.' + $Zone } } else { $Fqdn = $Zone } $Records = Invoke-DynDnsRequest -UriPath "/REST/$($RecordType)Record/$Zone/$Fqdn/" Write-DynDnsOutput -DynDnsResponse $Records -SkipSuccess if ($Records.Data.status -eq 'failure') { return } foreach ($UriPath in $Records.Data.data) { $RecordData = Invoke-DynDnsRequest -UriPath $UriPath Write-DynDnsOutput -DynDnsResponse $RecordData } } |