Get-IpamRange

Get-IpamRange

Gets a set of IP address ranges from an IPAM server.

Syntax

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

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

Parameter Set: ByID
Get-IpamRange -EndIPAddress <IPAddress[]> -StartIPAddress <IPAddress[]> [-AddressSpace <String[]> ] [-AsJob] [-CimSession <CimSession[]> ] [-ManagedByService <String[]> ] [-NetworkType <VirtualizationType[]> ] [-ServiceInstance <String[]> ] [-ThrottleLimit <Int32> ] [ <CommonParameters>]

Parameter Set: BySubnet
Get-IpamRange -MappingToSubnet <CimInstance> [-AsJob] [-CimSession <CimSession[]> ] [-ThrottleLimit <Int32> ] [ <CommonParameters>]

Detailed Description

The Get-IpamRange cmdlet gets a set of IP address ranges from IP Address Management (IPAM). Use this cmdlet to get IP address ranges of a particular address family or to get a particular range based on starting and ending IP addresses. The cmdlet includes parameter sets to get all ranges that map to a given IP address block or a subnet.

Parameters

-AddressCategory<AddressCategory[]>

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

-- IPv4
-- IPv6

Aliases

none

Required?

false

Position?

named

Default Value

none

Accept Pipeline Input?

True (ByPropertyName)

Accept Wildcard Characters?

false

-AddressFamily<AddressFamily[]>

Specifies an array of address families of IP address range objects to get. The acceptable values for this parameter are:

-- IPv4
-- IPv6

Aliases

none

Required?

true

Position?

named

Default Value

none

Accept Pipeline Input?

True (ByPropertyName)

Accept Wildcard Characters?

false

-AddressSpace<String[]>

Specifies an array of address spaces of the IP address ranges to query. If you do not specify a value, the cmdlet gets data for all address spaces 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

-EndIPAddress<IPAddress[]>

Specifies an array of IP addresses. For this parameter, the addresses represent the high end of the ranges to get.

Aliases

none

Required?

true

Position?

named

Default Value

none

Accept Pipeline Input?

True (ByPropertyName)

Accept Wildcard Characters?

false

-ManagedByService<String[]>

Specifies an array of services that manage the range to get.

Aliases

MB

Required?

false

Position?

named

Default Value

none

Accept Pipeline Input?

True (ByPropertyName)

Accept Wildcard Characters?

false

-MappingToBlock<CimInstance>

Specifies the ranges that map to an address block.

Aliases

none

Required?

true

Position?

named

Default Value

none

Accept Pipeline Input?

True (ByValue)

Accept Wildcard Characters?

false

-MappingToSubnet<CimInstance>

Specifies an IP range that maps to a subnet.

Aliases

none

Required?

true

Position?

named

Default Value

none

Accept Pipeline Input?

True (ByValue)

Accept Wildcard Characters?

false

-NetworkType<VirtualizationType[]>

Specifies an array of network types for the addresses to be retrieved. 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 specify a NetworkType but do not specify an AddressSpace, the cmdlet returns all IP address ranges of the given network type.

Aliases

none

Required?

false

Position?

named

Default Value

none

Accept Pipeline Input?

True (ByPropertyName)

Accept Wildcard Characters?

false

-ServiceInstance<String[]>

Specifies an array of service instances that manage the address ranges to get.

Aliases

SI

Required?

false

Position?

named

Default Value

none

Accept Pipeline Input?

True (ByPropertyName)

Accept Wildcard Characters?

false

-StartIPAddress<IPAddress[]>

Specifies an array of IP addresses. For this parameter, the addresses represent the high end of the ranges to get.

Aliases

none

Required?

true

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 the unmapped ranges.

Aliases

none

Required?

false

Position?

named

Default Value

none

Accept Pipeline Input?

false

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.

  • CimInstance#ROOT/microsoft/ipam/MSFT_IPAM_Range

    An array of IP address ranges that are present in IPAM datastore.

Examples

Example 1: Get all IPv4 address ranges

This command gets all private physical IPv4 address ranges, either provider or non virtualized.

PS C:\> Get-IpamRange -AddressFamily IPv4 -AddressCategory Private -AddressSpace Default 

Example 2: Get all IPv4 ranges for a network type

This command gets all private IPv4 ranges of network type provider that belong to any provider address space.

PS C:\> Get-IpamRange -AddressFamily IPv4 -AddressCategory Private -NetworkType Provider

Example 3: Get all IPv4 ranges in the default address space for a provider network type

This command gets all private IPv4 ranges of network type provider that belong to the default address space.

PS C:\> Get-IpamRange -AddressFamily IPv4 -AddressCategory Private -NetworkType Provider -AddressSpace Default

Example 4: Get all IPv4 ranges for a customer network type

This command gets all private IPv4 ranges of network type customer, and stores the result in the variable named $PrivateCustomerRanges.

PS C:\> $PrivateCustomerRanges=Get-IpamRange -AddressFamily IPv4 -AddressCategory Private -NetworkType Customer

Example 5: Get all IPv4 ranges for a network type and address space

This command gets all private IPv4 addresses that are of network type Customer that belong to the Contoso customer address space.

PS C:\> $privateCustomerRanges = Get-IpamRange -AddressFamily IPv4 -AddressCategory Private -NetworkType Customer -AddressSpace Contoso

Example 6: Get all IPv4 ranges between two addresses

This command gets the details of a given IP address range, and stores the result in the variable named $Range.

PS C:\> $Range= Get-IpamRange -StartIPAddress 10.12.1.1 -EndIPAddress 10.12.1.254 -ManagedByService IPAM -ServiceInstance localhost

Example 7: Get all overlapping ranges

This command gets all overlapping ranges from the default address space. Both Provider and NonVirtualized ranges can exist in the default address space. In IPAM, IP ranges are marked overlapping if they belong to same address space and their start and end IP addresses overlap.

PS C:\> Get-IpamRange -AddressFamily IPv4 -AddressCategory Private -AddressSpace Default| where {$Overlapping -eq $True}

Example 8: Get all IPv4 ranges for a subnet

This example gets all IP ranges which map to a given subnet. Since the network type of the subnet here is non-virtualized, the results contain only the physical addresses and the fabric addresses from the default address space that maps to this subnet.

The first command uses the Get-IpamSubnet cmdlet to get a subnet, and stores the result in the variable named $ContosoPhysicalSubnet.

The second command gets the IP address ranges and stores the result in the $AddressMappingToSubnet variable.

PS C:\> $ContosoPhysicalSubnet = Get-IpamSubnet -NetworkId 10.12.0.0/16PS C:\>$AddressMappingToSubnet = Get-IpamRange -MappingToSubnet $ContosoPhysicalSubnet

Add-IpamRange

Export-IpamRange

Import-IpamRange

Remove-IpamRange

Set-IpamRange