Files
ps.ipam/functions/public/Get-Nameserver.ps1
2022-12-12 18:58:13 +03:00

28 lines
1.2 KiB
PowerShell

function Get-Nameserver {
[CmdletBinding(DefaultParameterSetName="ByID")]
param (
[parameter(Mandatory=$false,ValueFromPipeline=$true,ValueFromPipelineByPropertyName=$true,Position=0,ParameterSetName="ByID")]
[ValidateNotNullOrEmpty()]
[int]
$Id
)
process {
[string[]]$visiblePropertiesList = @('Id','Name','Address','Description')
$visibleProperties = [System.Management.Automation.PSPropertySet]::new('DefaultDisplayPropertySet',$visiblePropertiesList)
$_params = @{
Controller = [PS.IPAM.controllers]::tools
SubController = [PS.IPAM.subcontrollers]::nameservers
Method = "GET"
}
switch ($PSCmdlet.ParameterSetName) {
"ByID" { $_nameserverId = $Id; break }
}
$_identifiers = @($_nameserverId)
$_params.Add("Identifiers",$_identifiers)
Invoke-Request @_params | Select-Object @{n="address";e={$_.namesrv1}},* | Select-Object -ExcludeProperty namesrv1 | `
Add-Member -MemberType MemberSet -Name PSStandardMembers -Value $visibleProperties -PassThru
}
}
Export-ModuleMember -Function Get-Nameserver