Get-DhcpServerv4FreeIPAddress

Gets one or more free, or unassigned, IPv4 Addresses from the specified scope.

Syntax

Get-DhcpServerv4FreeIPAddress
   [-ComputerName <String>]
   [-ScopeId] <IPAddress>
   [[-NumAddress] <UInt32>]
   [-StartAddress <IPAddress>]
   [-EndAddress <IPAddress>]
   [-CimSession <CimSession[]>]
   [-ThrottleLimit <Int32>]
   [-AsJob]
   [<CommonParameters>]

Description

This Get-DhcpServerv4FreeIPAddress cmdlet gets one or more free IP Addresses from the specified scope.

If the NumAddress parameter is specified, then the requested number of free IPv4 addresses is returned. If the NumAddress parameter is not specified, then a single free IP address will be returned. The maximum number of free IP addresses returned is capped at 1024.

If the StartAddress parameter is specified and the EndAddress parameter is not specified, then the free IP addresses starting from the specified StartAddress parameter value through the end of the IP address range of the scope are returned.

If the EndAddress parameter is specified and the StartAddress parameter is not specified, then the free IP addresses starting from the beginning of the IP address range of the scope through the specified EndAddress parameter value are returned.

If both the StartAddress* and EndAddress parameters are specified, then the free IP addresses between the specified StartAddress and EndAddress parameter values are returned.

The exclusion address ranges, reservations, active, offered, and bad, or declined, leases are excluded while returning the free IP addresses.

The IP address ranges associated with a policy will be included while returning the free IP addresses.

The IP addresses which are in expired, or doomed, state will be included while returning the free IP addresses.

If the requested number of free IP addresses could not be found, then a warning is displayed.

Examples

Example 1: Get a free address

PS C:\>Get-DhcpServerv4FreeIPAddress -ComputerName dhcpserver.contoso.com -ScopeId 10.10.10.0

This example gets a free IPv4 addresses from the specified scope.

Example 2: Get ten free addresses

PS C:\>Get-DhcpServerv4FreeIPAddress -ComputerName dhcpserver.contoso.com -ScopeId 10.10.10.0 -NumAddress 10

This example gets a list of 10 free IPv4 addresses from the specified scope.

Example 3: Get a free address from a range

PS C:\>Get-DhcpServerv4FreeIPAddress -ComputerName dhcpserver.contoso.com -ScopeId 10.10.10.0 -StartAddress 10.10.10.10 -EndAddress 10.10.10.50

This example gets a free IPv4 address from the specified scope within the IP address range from 10.10.10.10 through 10.10.10.50.

Parameters

-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

-ComputerName

Specifies the DNS name, or IPv4 or IPv6 address, of the target computer running the Dynamic Host Configuration Protocol (DHCP) server service.

Type:String
Aliases:Cn
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-EndAddress

Specifies the ending IP address of the range from which the free IP addresses are to be returned.

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

-NumAddress

Specifies the number of free IP addresses requested.

Type:UInt32
Position:2
Default value:1
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-ScopeId

Specifies the scope identifier (ID), in IPv4 address format, from which one or more free IP addresses are requested.

Type:IPAddress
Position:1
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-StartAddress

Specifies the starting IP address of the range from which the free IP addresses are to be returned.

Type:IPAddress
Position:Named
Default value:None
Required:False
Accept pipeline input:False
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

CimInstance

The Microsoft.Management.Infrastructure.CimInstance object is a wrapper class that displays Windows Management Instrumentation (WMI) objects. The path after the pound sign (#) provides the namespace and class name for the underlying WMI object.

Outputs

String[]