COMMAND EVERYTHING.
Adds a new policy either at the server level or at the scope level.
Microsoft DhcpServer reference: Adds a new policy either at the server level or at the scope level. The syntax and selected example below are adapted from the pinned Windows Server 2025 reference. Module availability, target configuration and delegated permissions determine whether it can run in your environment. Documentation and parameter text: Microsoft, CC BY 4.0; formatting adapted by Cmdlet World. No execution testing is claimed.
Use an account with the target resource permissions documented for Add-DhcpServerv4Policy. Modifying administrative cmdlets may require elevation or delegated administration. This catalog does not assert that ordinary users can execute the command.
Windows / DhcpServer · Windows Server 2025 documentation; feature/module prerequisites apply
-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.
-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.
-CircuitId- Specifies the comparator to use and the values with which to compare the circuit id sub-option. The first element is the comparator, either EQ or NE, followed by a single value. If the last character in a value is an asterisk, then the subsequent characters are treated as wildcard characters for the comparison. If the first character in a value-element is an asterisk, the preceding characters are treated as wildcard characters for comparison. The value can again be followed by another comparator, either EQ or NE, which is followed by another value for comparison. The input format for the value is a hexadecimal string with or without hyphen separation.
-ClientId- Specifies the comparator to use and the values with which to compare client identifier. The first element is the comparator, either EQ or NE, and subsequent elements are values. If the last character in a value is an asterisk, then the subsequent characters are treated as wildcard characters for the comparison. If the first character in a value-element is an asterisk, the preceding characters are treated as wildcard characters for comparison. The values can again be followed by another comparator, either EQ or NE, which is followed by another set of values for comparison. The input format is a hexadecimal string with or without hyphen separation. For example: EQ, 00-11-22-33-44-55, AA-BB-CC-DD-EE*. The output format is a hexadecimal string with hyphen separation. The values that follow the EQ operator are treated as multiple assertions which are logically combined (OR'd). The values that follow the NE operator are treated as multiple assertions which are logically differenced (AND'd).
-ComputerName- Specifies the DNS name, or IPv4 or IPv6 address, of the target computer running the DHCP server service.
-Condition (required)- Specifies the logical operator between conditions when multiple conditions are specified. The acceptable values for this parameter are: AND and OR.
-Confirm- Prompts you for confirmation before running the cmdlet.
-Description- Specifies the description string of the policy added.
-Enabled- Specifies the enabled state of a policy.
-Fqdn- Specifies the comparator to use and the values with which to compare the fully qualified domain name (FQDN) in the client request. The first element is the comparator, EQ, NE, Isl, or Insl, and the subsequent elements are values. For the comparators Island Insl, use a blank value. If the last character in a value is an asterisk, then the subsequent characters are treated as wildcard characters for the comparison. If the first character in a value-element is an asterisk, the preceding characters are treated as wildcard characters for comparison. The values can again be followed by another comparator, EQ or NE, which is followed by another set of values. The input format is a string. A trailing wildcard character can be present to indicate partial match. The values that follow the EQ operator are treated as multiple assertions which are logically combined (OR'd). The values that follow the NE operator are treated as multiple assertions which are logically differenced (AND'd).
-LeaseDuration- Specifies the duration of the lease for clients that match the policy.
-MacAddress- Specifies the comparator to use and the values with which to compare the MAC Address in the client request. The first element is the comparator, EQ or NE, and the subsequent elements are values. If the last character in a value is an asterisk, then the subsequent characters are treated as wildcard characters for the comparison. If the first character in a value-element is an asterisk, the preceding characters are treated as for comparison. The values can again be followed by another comparator, EQ or NE, which is followed by another set of values. The input format is a hexadecimal string with or without hyphen separation. A trailing wildcard character can be present to indicate partial match. For example: 00-1F-3B-7C-B7-89, 00-1F-3B-7C-B7-*, 001F3B7CB789. The output format is a hexadecimal string with hyphen separation. The values that follow the EQ operator are treated as multiple assertions which are logically combined (OR'd). The values that follow the NE operator are treated as multiple assertions which are logically differenced (AND'd).
-Name (required)- Specifies the name of the policy to be added.
-PassThru- Returns an object representing the item with which you are working. By default, this cmdlet does not generate any output.
-ProcessingOrder- Specifies the order of this policy with regard to other policies in the scope or server. The DHCP server service processes the policies in the specified order when evaluating client requests.
-RelayAgent- Specifies the comparator to use and values with which to compare the relay agent information. The first element is the comparator, EQ or NE, and subsequent elements are values. If the last character in a value is an asterisk, then the subsequent characters are treated as wildcard characters for the comparison. If the first character in a value-element is an asterisk, the preceding characters are treated as wildcard characters for comparison. The values can again be followed by another comparator, EQ or NE, which is followed by another set of values. The input format is a hexadecimal string with or without hyphen separation.
-RemoteId- Specifies the comparator to use and values with which to compare the remote ID sub-option. The first element is the comparator, EQ or NE, followed by a single value. If the last character in a value is an asterisk, then the subsequent characters are treated as wildcard characters for the comparison. If the first character in a value-element is an asterisk, the preceding characters are treated as wildcard characters for comparison. The value can again be followed by another comparator, EQ or NE, which is followed by another value. The input format for the value is a hexadecimal string with or without hyphen separation.
-ScopeId- Specifies the scope identifier, in IPv4 address format, in which the policy is added.
-SubscriberId- Specifies the comparator to use and the values with which to compare the subscriber ID sub-option. The first element is the comparator, EQ or NE, and followed by a single value. If the last character in a value is an asterisk, then the subsequent characters are treated as wildcard characters for the comparison. If the first character in a value-element is an asterisk, the preceding characters are treated as wildcard characters for comparison. The value can again be followed by another comparator, EQ or NE, which is followed by another value. The input format is a hexadecimal string with or without hyphen separation.
-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.
-UserClass- Specifies the comparator to use and the user class values to compare with the user class field in the client request. The first element to be specified is the comparator, EQ or NE, and the subsequent elements are values. If the last character in a value is an asterisk, then the subsequent characters are treated as wildcard characters for the comparison. If the first character in a value-element is an asterisk, the preceding characters are treated as wildcard characters for comparison. The values can again be followed by another comparator, EQ or NE, which is followed by another set of values. The values to be specified are the user class names which already exist on the server. The values that follow the EQ operator are treated as multiple assertions which are logically combined (OR'd). The values that follow the NE operator are treated as multiple assertions which are logically differenced (AND'd).
-VendorClass- Specifies the comparator to use and vendor class values to compare with the vendor class field in the client request. The first element is the comparator, EQ or NE, and the subsequent elements are values. If the last character in a value is an asterisk, then the subsequent characters are treated as wildcard characters for the comparison. If the first character in a value-element is an asterisk, the preceding characters are treated as wildcard characters for comparison. The values can again be followed by another comparator, EQ or NE, which is followed by another set of values. The values to be specified are the vendor class names which already exist on the server. The values that follow the EQ operator are treated as multiple assertions which are logically combined (OR'd). The values that follow the NE operator are treated as multiple assertions which are logically differenced (AND'd).
-WhatIf- Shows what would happen if the cmdlet runs. The cmdlet is not run.
Windows with the DhcpServer module and the Windows feature or management tools that provide it. Confirm target connectivity and version compatibility using the linked Microsoft reference.
This cmdlet changes system state. Review every target and parameter in the official reference, test outside production, and prepare an appropriate backup or rollback. Do not execute the example automatically.