Export-IpamRange

Exports all of the IP address ranges as a file or as an array of objects or both.

Syntax

Export-IpamRange
      -AddressFamily <AddressFamily>
      [-NetworkType <VirtualizationType>]
      [-Path <String>]
      [-PassThru]
      [-Force]
      [-CimSession <CimSession[]>]
      [-ThrottleLimit <Int32>]
      [-AsJob]
      [<CommonParameters>]

Description

The Export-IpamRange cmdlet exports all of the IP address ranges of the specified address family from the computer running the IP Address Management (IPAM) server as a comma-separated values (.csv) file or as an array of Windows PowerShell® objects or both.

At least one of the Path or PassThru parameters must be specified with the cmdlet. The object array returned using the PassThru parameter can be pipelined for further filtering, if required.

Unlike localized object export from IPAM client user interface (UI), the field header names and the enumeration value names of IP address range objects exported by Windows PowerShell have English names and are not be localized in the language used by the computer running the IPAM server. The field header names must follow the Windows PowerShell property naming conventions.

The format of date and time values of the exported objects are in localized format of the computer running the IPAM server and not in Universal Time Coordinate (UTC).

The IPAM client UI and IPAM Windows PowerShell support interoperability between import and export functionality of English and localized .csv files, provided that the language and locale of importing and exporting computers running the IPAM servers and associated UI is the same. In other words a localized .csv file exported from IPAM client UI can be imported using IPAM Windows PowerShell and an English .csv file exported from IPAM Windows PowerShell can be imported from IPAM client UI provided the language and locale of the computers running the IPAM client and IPAM server are the same.

Examples

Example 1: Export IPv4 address range to a file

PS C:\> Export-IpamRange -AddressFamily IPv4 -Path "C:\Ranges_v4.csv"

This command outputs all of the IPv4 address ranges to the file named Ranges_v4.csv.

Example 2: Export IPv6 address range to a file

PS C:\> Export-IpamRange -AddressFamily IPv6 -Path "C:\Ranges_v6.csv" -Force

This command outputs all of the IPv6 address ranges to the file Ranges_v6.csv, and overwrites the file if it already exists.

Example 3: Export IPv4 address range

PS C:\> Export-IpamRange -AddressFamily IPv4 -PassThru
NetworkId       StartIPAddress    EndIPAddress    PercentageUtilized    ManagedByService    ServiceInstance 
---------       --------------    ------------    ------------------    ----------------    --------------- 
172.22.2.0/24      172.22.2.1      172.22.2.254       20.00                 IPAM                Localhost 
10.10.0.0/24       10.10.0.1       10.10.0.254        0.00                  IPAM                Localhost 
172.17.14.0/24     172.17.14.1     172.17.14.254      85.00                 MS DHCP             s2-infra.contoso.com 
192.168.0.0/16     192.168.0.1     192.168.255.254    48.75                 MS DHCP             s2-infra.contoso.com

This command outputs all of the IPv4 address range objects.

The command includes the PassThru parameter, so it displays results to the console.

Example 4: Export over-utilized IPv4 address range objects

PS C:\> Export-IpamRange -AddressFamily IPv4 -PassThru | Where-Object -FilterScript { $_.Utilization -Eq "Over" }
NetworkId       StartIPAddress    EndIPAddress    PercentageUtilized    ManagedByService    ServiceInstance 
---------       --------------    ------------    ------------------    ----------------    --------------- 
172.17.14.0/24  172.17.14.1       172.17.14.254   85.00                 MS DHCP             s2-infra.contoso.com

This command filters all of the over-utilized IPv4 address range objects.

The command includes the PassThru parameter, so it displays results to the console.

Example 5: Export over-utilized IPv4 address range objects to a file

PS C:\> Export-IpamRange -AddressFamily IPv4 -PassThru | Where-Object -FilterScript { $_.Utilization -Eq "Over" } | Export-Csv -Path "C:\overutilized.csv"

This command filters all of the over-utilized IPv4 address range objects and exports the objects to the specified file name.

The command includes the PassThru parameter, so it displays results to the console.

Example 6: Export address ranges from a file

PS C:\> Export-IpamRange -AddressFamily IPv4 -Path "C:\Ranges.csv" -PassThru
NetworkId       StartIPAddress    EndIPAddress    PercentageUtilized    ManagedByService    ServiceInstance 
---------       --------------    ------------    ------------------    ----------------    --------------- 
172.22.2.0/24     172.22.2.1       172.22.2.254       20.00                 IPAM                Localhost 
10.10.0.0/24      10.10.0.1        10.10.0.254        0.00                  IPAM                Localhost 
172.17.14.0/24    172.17.14.1      172.17.14.254      85.00                 MS DHCP             s2-infra.contoso.com 
192.168.0.0/16    192.168.0.1      192.168.255.254    48.75                 MS DHCP             s2-infra.contoso.com

This command outputs all of the IPv4 address ranges in the file named C:\Ranges.csv and also displays the exported ranges.

The command includes the PassThru parameter, so it displays results to the console.

Parameters

-AddressFamily

Specifies the address family of IP address range objects being exported. The acceptable values for this parameter are:

  • IPv4
  • IPv6

This parameter specifies whether the IPv4 or IPv6 records need to be exported. Only one address family at a time can be specified with this cmdlet.

Type:AddressFamily
Accepted values:IPv4, IPv6
Position:Named
Default value:None
Required:True
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

-Force

Specifies that new .csv file generated by export must overwrite the existing .csv file (if present), as specified in the Path parameter.

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-NetworkType

Specifies the type of network of the given IP subnet.

The acceptable values for this parameter are:

  • Provider
  • Customer
  • NonVirtualized

If the address space specified by the AddressSpace parameter is Default, specify a value of Provider or NonVirtualized. If the address space specified by AddressSpace parameter is of type Provider, if you specify this parameter, specify a value of Provider. Specifying any other value for this parameter causes an error. If the address space specified by the AddressSpace parameter is of type Customer, then, if you specify this parameter, specify a value of Customer. Specifying any other value for this parameter causes an error. If you do not specify this parameter, the cmdlet uses a network type NonVirtualized.

Type:VirtualizationType
Accepted values:NonVirtualized, Provider, Customer
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-PassThru

Returns an object representing the item with which you are working. By default, this cmdlet does not generate any output.

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Path

Specifies the literal path and name of the .csv file which are created during export.

This parameter is used to export all of the IP address range objects in a .csv file format.

Type:String
Position:Named
Default value:None
Required:False
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

Inputs

None

Outputs

Microsoft.Windows.Ipam.Commands.IpamIPRangePSObject[]

This cmdlet returns an array of objects that contain an IPAM IP address range.