Get-IpamRange
Gets a set of IP address ranges from an IPAM server.
Syntax
Get-IpamRange
-StartIPAddress <IPAddress[]>
-EndIPAddress <IPAddress[]>
[-ManagedByService <String[]>]
[-ServiceInstance <String[]>]
[-NetworkType <VirtualizationType[]>]
[-AddressSpace <String[]>]
[-CimSession <CimSession[]>]
[-ThrottleLimit <Int32>]
[-AsJob]
[<CommonParameters>]
Get-IpamRange
-AddressFamily <AddressFamily[]>
[-AddressCategory <AddressCategory[]>]
[-ManagedByService <String[]>]
[-ServiceInstance <String[]>]
[-NetworkType <VirtualizationType[]>]
[-AddressSpace <String[]>]
[-Unmapped]
[-CimSession <CimSession[]>]
[-ThrottleLimit <Int32>]
[-AsJob]
[<CommonParameters>]
Get-IpamRange
-MappingToBlock <CimInstance>
[-CimSession <CimSession[]>]
[-ThrottleLimit <Int32>]
[-AsJob]
[<CommonParameters>]
Get-IpamRange
-MappingToSubnet <CimInstance>
[-CimSession <CimSession[]>]
[-ThrottleLimit <Int32>]
[-AsJob]
[<CommonParameters>]
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.
Examples
Example 1: Get all IPv4 address ranges
PS C:\> Get-IpamRange -AddressFamily IPv4 -AddressCategory Private -AddressSpace "Default"
This command gets all private physical IPv4 address ranges, either provider or non virtualized.
Example 2: Get all IPv4 ranges for a network type
PS C:\> Get-IpamRange -AddressFamily IPv4 -AddressCategory Private -NetworkType Provider
This command gets all private IPv4 ranges of network type provider that belong to any provider address space.
Example 3: Get all IPv4 ranges in the default address space for a provider network type
PS C:\> Get-IpamRange -AddressFamily IPv4 -AddressCategory Private -NetworkType Provider -AddressSpace "Default"
This command gets all private IPv4 ranges of network type provider that belong to the default address space.
Example 4: Get all IPv4 ranges for a customer network type
PS C:\> $PrivateCustomerRanges = Get-IpamRange -AddressFamily IPv4 -AddressCategory Private -NetworkType Customer
This command gets all private IPv4 ranges of network type customer, and stores the result in the variable named $PrivateCustomerRanges.
Example 5: Get all IPv4 ranges for a network type and address space
PS C:\> $PrivateCustomerRanges = Get-IpamRange -AddressFamily IPv4 -AddressCategory Private -NetworkType Customer -AddressSpace Contoso
This command gets all private IPv4 addresses that are of network type Customer that belong to the Contoso customer address space. The command stores the result in the variable named $PrivateCustomerRanges.
Example 6: Get all IPv4 ranges between two addresses
PS C:\> $Range= Get-IpamRange -StartIPAddress 10.12.1.1 -EndIPAddress 10.12.1.254 -ManagedByService IPAM -ServiceInstance "localhost"
This command gets the details of a given IP address range, and stores the result in the variable named $Range.
Example 7: Get all overlapping ranges
PS C:\> Get-IpamRange -AddressFamily IPv4 -AddressCategory Private -AddressSpace "Default" | where {$Overlapping -eq $True}
Overlapping : True
NetworkID : 172.16.19.0/24
StartAddress : 172.16.19.10
EndAddress : 172.16.19.110
ManagedByService : VMM
ServiceInstance : vmm1.contoso.com
NetworkType : Provider
Owner :
Overlapping : True
NetworkID : 172.16.19.0/24
StartAddress : 172.16.19.50
EndAddress : 172.16.19.150
ManagedByService : IPAM
ServiceInstance : Localhost
NetworkType : NonVirtualized
Owner :
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.
Example 8: Get all IPv4 ranges for a subnet
PS C:\> $ContosoPhysicalSubnet = Get-IpamSubnet -NetworkId 10.12.0.0/16
PS C:\> $AddressMappingToSubnet = Get-IpamRange -MappingToSubnet $ContosoPhysicalSubnet
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.
Parameters
-AddressCategory
Specifies an array of address families of IP addresses. The acceptable values for this parameter are:
- IPv4
- IPv6
Type: | AddressCategory[] |
Accepted values: | Public, Private, Global |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-AddressFamily
Specifies an array of address families of IP address range objects that this cmdlet gets. The acceptable values for this parameter are:
- IPv4
- IPv6
Type: | AddressFamily[] |
Accepted values: | IPv4, IPv6 |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-AddressSpace
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.
Type: | String[] |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-AsJob
Runs the cmdlet as a background job. Use this parameter to run commands that take a long time to complete.
The cmdlet immediately returns an object that represents the job and then displays the command prompt.
You can continue to work in the session while the job completes.
To manage the job, use the *-Job
cmdlets.
To get the job results, use the Receive-Job cmdlet.
For more information about Windows PowerShell background jobs, see about_Jobs.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-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.
Type: | CimSession[] |
Aliases: | Session |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-EndIPAddress
Specifies an array of IP addresses. For this parameter, the addresses represent the high end of the ranges to get.
Type: | IPAddress[] |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-ManagedByService
Specifies an array of services that manage the range to get.
Type: | String[] |
Aliases: | MB |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-MappingToBlock
Specifies the ranges that map to an address block.
Type: | CimInstance |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-MappingToSubnet
Specifies an IP range that maps to a subnet.
Type: | CimInstance |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-NetworkType
Specifies an array of network types for the addresses that this cmdlet gets.
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 the NetworkType parameter but do not specify the AddressType parameter, the cmdlet returns all IP address ranges of the given network type.
Type: | VirtualizationType[] |
Accepted values: | NonVirtualized, Provider, Customer |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-ServiceInstance
Specifies an array of service instances that manage the address ranges to get.
Type: | String[] |
Aliases: | SI |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-StartIPAddress
Specifies an array of IP addresses. For this parameter, the addresses represent the high end of the ranges to get.
Type: | IPAddress[] |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-ThrottleLimit
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.
Type: | Int32 |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Unmapped
Indicates that the cmdlet gets the unmapped ranges.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Outputs
CimInstance
This cmdlet returns an array of IP address ranges that are present in IPAM datastore.