Get-Subnet fix

This commit is contained in:
Arnike
2022-12-17 01:20:34 +03:00
parent 0913fc2069
commit 4c128f5864

View File

@@ -2,47 +2,122 @@ function Get-Subnet {
[CmdletBinding(DefaultParameterSetName="NoParams")] [CmdletBinding(DefaultParameterSetName="NoParams")]
[OutputType([PS.IPAM.Subnetwork])] [OutputType([PS.IPAM.Subnetwork])]
param ( param (
[parameter(Mandatory=$true,ValueFromPipeline=$true,ValueFromPipelineByPropertyName=$true,Position=0,ParameterSetName="ByCIDR")] [parameter(
Mandatory=$true,
ValueFromPipeline=$true,
ValueFromPipelineByPropertyName=$true,
Position=0,ParameterSetName="ByCIDR"
)]
[ValidateScript({[ipaddress] $_.Split("/")[0] -and $_.Split("/")[1] -match "\d{1,2}"})] [ValidateScript({[ipaddress] $_.Split("/")[0] -and $_.Split("/")[1] -match "\d{1,2}"})]
[ValidateNotNullOrEmpty()] [ValidateNotNullOrEmpty()]
[string] [string]
$CIDR, $CIDR,
[parameter(Mandatory=$true,ValueFromPipeline=$true,ValueFromPipelineByPropertyName=$true,Position=0,ParameterSetName="ByID")] [parameter(
Mandatory=$true,
ValueFromPipeline=$true,
ValueFromPipelineByPropertyName=$true,
Position=0,ParameterSetName="ByID"
)]
[ValidateNotNullOrEmpty()] [ValidateNotNullOrEmpty()]
[int] [int]
$Id, $Id,
[parameter(Mandatory=$true,ValueFromPipeline=$true,ValueFromPipelineByPropertyName=$true,Position=0,ParameterSetName="BySectionId")] [parameter(
[parameter(Mandatory=$false,ValueFromPipeline=$true,ValueFromPipelineByPropertyName=$true,Position=2,ParameterSetName="ByVlanNumber")] Mandatory=$true,
[parameter(Mandatory=$false,ValueFromPipeline=$true,ValueFromPipelineByPropertyName=$true,Position=1,ParameterSetName="ByVlanId")] ValueFromPipeline=$true,
ValueFromPipelineByPropertyName=$true,
Position=0,ParameterSetName="BySectionId"
)]
[parameter(
Mandatory=$false,
ValueFromPipeline=$true,
ValueFromPipelineByPropertyName=$true,
Position=2,
ParameterSetName="ByVlanNumber"
)]
[parameter(
Mandatory=$false,
ValueFromPipeline=$true,
ValueFromPipelineByPropertyName=$true,
Position=1,
ParameterSetName="ByVlanId"
)]
[ValidateNotNullOrEmpty()] [ValidateNotNullOrEmpty()]
[int] [int]
$SectionId, $SectionId,
[parameter(Mandatory=$true,ValueFromPipeline=$true,ValueFromPipelineByPropertyName=$true,Position=0,ParameterSetName="BySectionName")] [parameter(
[parameter(Mandatory=$false,ValueFromPipeline=$true,ValueFromPipelineByPropertyName=$true,Position=3,ParameterSetName="ByVlanNumber")] Mandatory=$true,
[parameter(Mandatory=$false,ValueFromPipeline=$true,ValueFromPipelineByPropertyName=$true,Position=2,ParameterSetName="ByVlanId")] ValueFromPipeline=$true,
ValueFromPipelineByPropertyName=$true,
Position=0,
ParameterSetName="BySectionName"
)]
[parameter(
Mandatory=$false,
ValueFromPipeline=$true,
ValueFromPipelineByPropertyName=$true,
Position=3,
ParameterSetName="ByVlanNumber"
)]
[parameter(
Mandatory=$false,
ValueFromPipeline=$true,
ValueFromPipelineByPropertyName=$true,
Position=2,
ParameterSetName="ByVlanId"
)]
[ValidateNotNullOrEmpty()] [ValidateNotNullOrEmpty()]
[string] [string]
$SectionName, $SectionName,
[parameter(Mandatory=$true,ValueFromPipeline=$true,ValueFromPipelineByPropertyName=$true,Position=0,ParameterSetName="ByVrfId")] [parameter(
Mandatory=$true,
ValueFromPipeline=$true,
ValueFromPipelineByPropertyName=$true,
Position=0,
ParameterSetName="ByVrfId"
)]
[ValidateNotNullOrEmpty()] [ValidateNotNullOrEmpty()]
[int] [int]
$VrfId, $VrfId,
[parameter(Mandatory=$true,ValueFromPipeline=$true,ValueFromPipelineByPropertyName=$true,Position=0,ParameterSetName="ByVlanId")] [parameter(
Mandatory=$true,
ValueFromPipeline=$true,
ValueFromPipelineByPropertyName=$true,
Position=0,
ParameterSetName="ByVlanId"
)]
[ValidateNotNullOrEmpty()] [ValidateNotNullOrEmpty()]
[int] [int]
$VlanId, $VlanId,
[parameter(Mandatory=$true,ValueFromPipeline=$true,ValueFromPipelineByPropertyName=$true,Position=0,ParameterSetName="ByVlanNumber")] [parameter(
Mandatory=$true,
ValueFromPipeline=$true,
ValueFromPipelineByPropertyName=$true,
Position=0,
ParameterSetName="ByVlanNumber"
)]
[ValidateNotNullOrEmpty()] [ValidateNotNullOrEmpty()]
[int] [int]
$VlanNumber, $VlanNumber,
[parameter(Mandatory=$false,ValueFromPipeline=$true,ValueFromPipelineByPropertyName=$true,Position=1,ParameterSetName="ByVlanNumber")] [parameter(
Mandatory=$false,
ValueFromPipeline=$true,
ValueFromPipelineByPropertyName=$true,
Position=1,
ParameterSetName="ByVlanNumber"
)]
[ValidateNotNullOrEmpty()] [ValidateNotNullOrEmpty()]
[int] [int]
$VlanDomainId, $VlanDomainId,
[parameter(Mandatory=$false,ParameterSetName="ByID")] [parameter(
Mandatory=$false,
ParameterSetName="ByID"
)]
[switch] [switch]
$Slaves, $Slaves,
[parameter(Mandatory=$false,ParameterSetName="ByID")] [parameter(
Mandatory=$false,
ParameterSetName="ByID"
)]
[switch] [switch]
$Recurse $Recurse
) )