29 lines
1.2 KiB
PowerShell
29 lines
1.2 KiB
PowerShell
function Get-PSIPAMNameserver {
|
|
[CmdletBinding(DefaultParameterSetName="ByID")]
|
|
param (
|
|
[parameter(Mandatory=$false,ValueFromPipeline=$true,ValueFromPipelineByPropertyName=$true,Position=0,ParameterSetName="ByID")]
|
|
[ValidateScript({ $_ -match "^\d+$" })]
|
|
[ValidateNotNullOrEmpty()]
|
|
[string]
|
|
$Id
|
|
)
|
|
process {
|
|
[string[]]$visiblePropertiesList = @('Id','Name','Address','Description')
|
|
$visibleProperties = [System.Management.Automation.PSPropertySet]::new('DefaultDisplayPropertySet',$visiblePropertiesList)
|
|
|
|
$_params = @{
|
|
Controller = "tools"
|
|
SubController = "nameservers"
|
|
Method = "GET"
|
|
}
|
|
switch ($PSCmdlet.ParameterSetName) {
|
|
"ByID" { $_nameserverId = $Id }
|
|
}
|
|
$_identifiers = @($_nameserverId)
|
|
$_params.Add("Identifiers",$_identifiers)
|
|
|
|
Invoke-PSIPAMRequest @_params | Select-Object @{n="address";e={$_.namesrv1}},* | Select-Object -ExcludeProperty namesrv1 | `
|
|
Add-Member -MemberType MemberSet -Name PSStandardMembers -Value $visibleProperties -PassThru
|
|
}
|
|
}
|
|
Export-ModuleMember -Function Get-PSIPAMNameserver |