Configures DNS server encryption protocol settings for DNS over HTTPS (DoH) on Windows Server 2025 or later.
Networking / Security · Risk: High · Documentation Verified
Last verified: 2026-10-26
Microsoft DnsServer reference: Configures DNS server encryption protocol settings for DNS over HTTPS (DoH) on Windows Server 2025 or later. 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 Set-DnsServerEncryptionProtocol. Modifying administrative cmdlets may require elevation or delegated administration. This catalog does not assert that ordinary users can execute the command.
Supported environments
Windows / DnsServer · Windows Server 2025 documentation; feature/module prerequisites apply
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.
-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.
-ComputerName
Specifies a DNS server. The acceptable values for this parameter are: - An IP V4 address - An IP V6 address - Any other value that resolves to an IP address, such as a fully qualified domain name (FQDN), host name, or NETBIOS name.
-Confirm
Prompts you for confirmation before running the cmdlet.
-EnableDoh (required)
Specifies whether to enable or disable DNS over HTTPS (DoH) on the DNS server. Set the value to $true to enable DoH, or $false to disable it. When disabled, any configured URI templates are also cleared.
-Force
Forces the command to run without asking for user confirmation.
-PassThru
Returns an object representing the item with which you are working.
-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.
-UriTemplate
Specifies one or more URI templates for DNS over HTTPS (DoH) queries. URI template(s) must be valid HTTPS URIs compliant with RFC 3986, Uniform Resource Identifier (URI): Generic Syntax. Ensure that a valid SSL/TLS certificate is configured for the DNS server with the hostname(s) specified in the URI template(s). For a single URI template, specify a valid HTTPS URI (for example, "https://dnsserver.example.net/dns-query"). For multiple URI templates, separate them with the pipe character | (for example, "https://dnsserver.example.net/dns-query|https://dnsserver2.example.net/dns-query"). Multiple URI templates may be provisioned to allow client implementations to choose among multiple DoH endpoints. A maximum of three URI templates can be specified. If you don't specify a value when EnableDoh is set to $true, the DNS server automatically generates a URI template using the format https:///dns-query, where is the server's fully qualified domain name. For example, if your DNS server's FQDN is dns1.contoso.com, the template will be https://dns1.contoso.com/dns-query.
-WhatIf
Shows what would happen if the cmdlet runs. The cmdlet isn't run.
Prerequisites
Windows with the DnsServer module and the Windows feature or management tools that provide it. Confirm target connectivity and version compatibility using the linked Microsoft reference.
Security considerations
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.
Examples
Example 1: Enable DNS over HTTPS (DoH) with default URI template
Set-DnsServerEncryptionProtocol -EnableDoh $true
In this example, the command enables DNS over HTTPS (DoH). When you don't specify the UriTemplate parameter, the DNS server automatically generates a URI template based on the server's FQDN with the /dns-query path (for example, https://dnsserver.contoso.com/dns-query). The DNS service must be restarted for the changes to take effect. Source: Microsoft, CC BY 4.0; transcript prompt/output removed. This example was not executed.