Public/Move-NicRuDnsZone.ps1
<#
.SYNOPSIS Move domain zone to another service .DESCRIPTION Перемещение зоны домена с одной услуги DNS-хостинга на другую .PARAMETER Service DNS hosting service name .PARAMETER ZoneName DNS Zone name .PARAMETER AccessToken Access token to use .LINK https://www.nic.ru/help/upload/file/API_DNS-hosting.pdf #> function Move-NicRuDnsZone { [CmdletBinding()] param( [Parameter(Mandatory)] [string]$Service, [Parameter(Mandatory)] [string]$ZoneName, [Parameter(Mandatory)] [string]$NewService, [string]$AccessToken ) if (-not $AccessToken) { $AccessToken = if ($GMNicRuDefaultToken) { $GMNicRuDefaultToken.access_token } else { $null } } if (-not $AccessToken) { throw "AccessToken required" } $Headers = @{ "Authorization" = "Bearer $AccessToken" } $requestParams = @{ Uri = "https://api.nic.ru/dns-master/services/$Service/zones/$(Get-Punycode $ZoneName)/move/$NewService" Headers = $Headers ContentType = "application/json; charset=utf-8" Method = 'POST' } Write-Verbose $requestParams.Uri $r = Invoke-RestMethod @requestParams @GMNicRuProxySettings if ($r -and $r.response) { if ($r.response.status -eq 'success') { $r.response.data.address } else { Write-Error $r.response.errors } } } |