Get-IpamSubnet

Get-IpamSubnet

Gets a set of subnets from IPAM.

Syntax

Parameter Set: ByAF
Get-IpamSubnet [-AddressFamily] <AddressFamily[]> [-AddressSpace <String[]> ] [-AsJob] [-CimSession <CimSession[]> ] [-NetworkType <VirtualizationType[]> ] [-ThrottleLimit <Int32> ] [-Unmapped] [ <CommonParameters>]

Parameter Set: ByBlock
Get-IpamSubnet -MappingToBlock <CimInstance> [-AsJob] [-CimSession <CimSession[]> ] [-ThrottleLimit <Int32> ] [ <CommonParameters>]

Parameter Set: ById
Get-IpamSubnet -NetworkId <String[]> [-AddressSpace <String[]> ] [-AsJob] [-CimSession <CimSession[]> ] [-NetworkType <VirtualizationType[]> ] [-ThrottleLimit <Int32> ] [ <CommonParameters>]

Detailed Description

The Get-IpamSubnet cmdlet gets a set of IP subnets from IP Address Management (IPAM). By default, the cmdlet gets all IP addresses of a given address family from all address spaces configured in IPAM. Use the NetworkType and AddressSpace parameters to filter the result for Provider and Customer subnets, or NonVirtualized subnets.

This cmdlet also provides parameter sets to retrieve all subnets that map to a given IP address block.

Parameters

-AddressFamily<AddressFamily[]>

Specifies an address family of IP addresses.The acceptable values for this parameter are:

-- IPv4
-- IPv6

Aliases

none

Required?

true

Position?

2

Default Value

none

Accept Pipeline Input?

True (ByPropertyName)

Accept Wildcard Characters?

false

-AddressSpace<String[]>

Specifies an array of names of address spaces. If you not specify an address space, the cmdlet gets data for all address spaces configured in IPAM.

Aliases

none

Required?

false

Position?

named

Default Value

none

Accept Pipeline Input?

True (ByPropertyName)

Accept Wildcard Characters?

false

-AsJob

Aliases

none

Required?

false

Position?

named

Default Value

none

Accept Pipeline Input?

false

Accept Wildcard Characters?

false

-CimSession<CimSession[]>

Runs the cmdlet in a remote session or on a remote computer. Enter a computer name or a session object, such as the output of a New-CimSession or Get-CimSession cmdlet. The default is the current session on the local computer.

Aliases

Session

Required?

false

Position?

named

Default Value

none

Accept Pipeline Input?

false

Accept Wildcard Characters?

false

-MappingToBlock<CimInstance>

Specifies the subnets that map to an address block.

Aliases

none

Required?

true

Position?

named

Default Value

none

Accept Pipeline Input?

True (ByValue)

Accept Wildcard Characters?

false

-NetworkId<String[]>

Specifies an array of networks and prefixes. Specify the network ID in Classless Interdomain Routing (CIDR) notation in the format Network/Prefix.

Aliases

none

Required?

true

Position?

named

Default Value

none

Accept Pipeline Input?

True (ByPropertyName)

Accept Wildcard Characters?

false

-NetworkType<VirtualizationType[]>

Specifies the type of network for the given subnet. The acceptable values for this parameter are:

-- Provider
-- Customer
-- NonVirtualized

If the value of the parameter is Default, then this parameter can take the value Provider or NonVirtualized. If the value of the parameter is Provider, then the value of this parameter, if specified, must be Provider. Specifying any other value for this parameter will result in an error. Similarly, if the value of the parameter is Customer, then the value of this parameter, if specified, must be Customer. Specifying any other value for this parameter will result in an error.

If you do not specify this parameter, the cmdlet returns all subnets that match the criteria, regardless of network type.

Aliases

none

Required?

false

Position?

named

Default Value

none

Accept Pipeline Input?

True (ByPropertyName)

Accept Wildcard Characters?

false

-ThrottleLimit<Int32>

Specifies the maximum number of concurrent operations that can be established to run the cmdlet. If this parameter is omitted or a value of 0 is entered, then Windows PowerShell® calculates an optimum throttle limit for the cmdlet based on the number of CIM cmdlets that are running on the computer. The throttle limit applies only to the current cmdlet, not to the session or to the computer.

Aliases

none

Required?

false

Position?

named

Default Value

none

Accept Pipeline Input?

false

Accept Wildcard Characters?

false

-Unmapped

Indicates that the cmdlet gets subnets that are not mapped to any IP address block.

Aliases

none

Required?

false

Position?

named

Default Value

none

Accept Pipeline Input?

True (ByPropertyName)

Accept Wildcard Characters?

false

<CommonParameters>

This cmdlet supports the common parameters: -Verbose, -Debug, -ErrorAction, -ErrorVariable, -OutBuffer, and -OutVariable. For more information, see    about_CommonParameters (https://go.microsoft.com/fwlink/p/?LinkID=113216).

Inputs

The input type is the type of the objects that you can pipe to the cmdlet.

Outputs

The output type is the type of the objects that the cmdlet emits.

  • IpamSubnet

Examples

Example 1 Get all overlapping subnets

This command gets all overlapping subnets in the default address space, including Provider and NonVirtualized subnets in the default address space.

PS C:\> Get-IpamSubnet -AddressFamily IPv4 -AddressSpace Default | where {$_.Overlapping -eq $false} 

Example 2: Get all non-virtualized subnets in a site

This command gets all non-virtualized subnets assigned to the site named Contoso AD-Site.

PS C:\> Get-IpamSubnet -AddressFamily IPv4 -NetworkType NonVirtualized|where {$_.CustomConfiguration -Like "*ADSite=Contoso*"}| Format-List Name, NetworkId, CustomConfiguration

Example 3: Get all IPv4 subnets

This command gets all provider IPv4 subnets in the default address space.

PS C:\> Get-IpamSubnet -AddressFamily IPv4 -NetworkType Provider -AddressSpace Default

Example 4: Get all unmapped non-virtualized subnets

This command gets all unmapped non-virtualized subnets in the default address space

PS C:\> Get-IpamSubnet -AddressFamily IPv4 -NetworkType NonVirtualized -Unmapped

Example 5: Get all subnets in a customer address space

This command gets all subnets that belong to the ContosoWest customer address space and a logical network.

PS C:\> Get-IpamSubnet -AddressFamily IPv4 -NetworkType Customer -AddressSpace ContosoWest|Where {$_.VmmLogicalNetwork -eq "Storage"}

Add-IpamSubnet

Export-IpamSubnet

Import-IpamSubnet

Remove-IpamSubnet

Set-IpamSubnet