Skip to content

Commit 1e49713

Browse files
authored
Merge pull request #4073 from MicrosoftDocs/main
[ManualPublish] main to live - 02/10 06:00 AM PST
2 parents ff45e10 + e4688c4 commit 1e49713

3 files changed

Lines changed: 555 additions & 0 deletions

File tree

docset/winserver2025-ps/DnsServer/DnsServer.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -144,6 +144,9 @@ Retrieves DNS Server Active Directory settings
144144
### [Get-DnsServerEDns](./Get-DnsServerEDns.md)
145145
Gets EDNS configuration settings on a DNS server.
146146

147+
### [Get-DnsServerEncryptionProtocol](./Get-DnsServerEncryptionProtocol.md)
148+
Retrieves DNS over HTTPS (DoH) settings on a DNS server.
149+
147150
### [Get-DnsServerForwarder](./Get-DnsServerForwarder.md)
148151
Gets forwarder configuration settings on a DNS server.
149152

@@ -312,6 +315,9 @@ Modifies DNS Active Directory settings.
312315
### [Set-DnsServerEDns](./Set-DnsServerEDns.md)
313316
Changes EDNS settings on a DNS server.
314317

318+
### [Set-DnsServerEncryptionProtocol](./Set-DnsServerEncryptionProtocol.md)
319+
Configures DNS over HTTPS (DoH) settings on a DNS server.
320+
315321
### [Set-DnsServerForwarder](./Set-DnsServerForwarder.md)
316322
Changes forwarder settings on a DNS server.
317323

Lines changed: 197 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,197 @@
1+
---
2+
description: Learn how to retrieve DNS over HTTPS (DoH) settings using the Get-DnsServerEncryptionProtocol cmdlet in Windows PowerShell for Windows Server 2025 and later.
3+
external help file: PS_DnsServerEncryptionProtocol_v1.0.0.cdxml-help.xml
4+
Module Name: DnsServer
5+
ms.date: 02/10/2026
6+
online version: https://learn.microsoft.com/powershell/module/dnsserver/get-dnsserverencryptionprotocol?view=windowsserver2025-ps&wt.mc_id=ps-gethelp
7+
schema: 2.0.0
8+
title: Get-DnsServerEncryptionProtocol
9+
---
10+
11+
# Get-DnsServerEncryptionProtocol
12+
13+
## SYNOPSIS
14+
Retrieves DNS server encryption protocol settings for DNS over HTTPS (DoH) on Windows Server 2025 or later.
15+
16+
## SYNTAX
17+
18+
```
19+
Get-DnsServerEncryptionProtocol [-ComputerName <String>] [-PassThru <Boolean>] [-CimSession <CimSession[]>]
20+
[-ThrottleLimit <Int32>] [-AsJob] [<CommonParameters>]
21+
```
22+
23+
## DESCRIPTION
24+
25+
The `Get-DnsServerEncryptionProtocol` cmdlet can be used to verify the current DoH configuration
26+
on a DNS server. The cmdlet retrieves the current settings as an object with the properties
27+
**EnableDoh** and **UriTemplate** to indicate whether DoH is enabled and the configured URI
28+
templates for DNS queries over HTTPS. The cmdlet retrieves the persistent encryption protocol
29+
settings. Changes made using `Set-DnsServerEncryptionProtocol` require a DNS server restart to take
30+
effect before being retrieved.
31+
32+
> [!IMPORTANT]
33+
> The `Get-DnsServerEncryptionProtocol` cmdlet is available on Windows Server 2025 or
34+
> later beginning with 2026-02 Security Update.
35+
36+
## EXAMPLES
37+
38+
### Example 1: Retrieve encryption settings from local DNS server
39+
40+
In this example, the command retrieves the current encryption settings from the local DNS server.
41+
42+
```powershell
43+
Get-DnsServerEncryptionProtocol
44+
```
45+
46+
```Output
47+
EnableDoh : True
48+
UriTemplate : https://dnsserver.example.net/dns-query
49+
```
50+
51+
The output shows that DNS over HTTPS (DoH) is enabled with a configured URI template.
52+
53+
### Example 2: Retrieve encryption settings from remote DNS server
54+
55+
In this example, the command retrieves the encryption settings from a remote DNS server named
56+
"dns1.contoso.com".
57+
58+
```powershell
59+
Get-DnsServerEncryptionProtocol -ComputerName "dns1.contoso.com"
60+
```
61+
62+
```Output
63+
EnableDoh : False
64+
UriTemplate :
65+
```
66+
67+
The output shows that DNS over HTTPS (DoH) is currently disabled for the specified remote DNS
68+
server.
69+
70+
## PARAMETERS
71+
72+
### -AsJob
73+
74+
Runs the cmdlet as a background job. Use this parameter to run commands that take a long time to
75+
complete.
76+
77+
The cmdlet immediately returns an object that represents the job and then displays the command
78+
prompt. You can continue to work in the session while the job completes. To manage the job, use the
79+
`*-Job` cmdlets. To get the job results, use the
80+
[Receive-Job](https://go.microsoft.com/fwlink/?LinkID=113372) cmdlet.
81+
82+
For more information about Windows PowerShell background jobs, see
83+
[about_Jobs](https://go.microsoft.com/fwlink/?LinkID=113251).
84+
85+
```yaml
86+
Type: SwitchParameter
87+
Parameter Sets: (All)
88+
Aliases:
89+
90+
Required: False
91+
Position: Named
92+
Default value: None
93+
Accept pipeline input: False
94+
Accept wildcard characters: False
95+
```
96+
97+
### -CimSession
98+
99+
Runs the cmdlet in a remote session or on a remote computer. Enter a computer name or a session
100+
object, such as the output of a [New-CimSession](https://go.microsoft.com/fwlink/p/?LinkId=227967)
101+
or [Get-CimSession](https://go.microsoft.com/fwlink/p/?LinkId=227966) cmdlet. The default is the
102+
current session on the local computer.
103+
104+
```yaml
105+
Type: CimSession[]
106+
Parameter Sets: (All)
107+
Aliases: Session
108+
109+
Required: False
110+
Position: Named
111+
Default value: None
112+
Accept pipeline input: False
113+
Accept wildcard characters: False
114+
```
115+
116+
### -ComputerName
117+
118+
Specifies a DNS server. The acceptable values for this parameter are:
119+
120+
- An IP V4 address
121+
- An IP V6 address
122+
- Any other value that resolves to an IP address, such as a fully qualified domain name (FQDN), host
123+
name, or NETBIOS name.
124+
125+
```yaml
126+
Type: String
127+
Parameter Sets: (All)
128+
Aliases: Cn
129+
130+
Required: False
131+
Position: Named
132+
Default value: None
133+
Accept pipeline input: False
134+
Accept wildcard characters: False
135+
```
136+
137+
### -PassThru
138+
139+
Returns an object representing the item with which you are working.
140+
141+
```yaml
142+
Type: Boolean
143+
Parameter Sets: (All)
144+
Aliases:
145+
146+
Required: False
147+
Position: Named
148+
Default value: None
149+
Accept pipeline input: True (ByPropertyName)
150+
Accept wildcard characters: False
151+
```
152+
153+
### -ThrottleLimit
154+
155+
Specifies the maximum number of concurrent operations that can be established to run the cmdlet. If
156+
this parameter is omitted or a value of `0` is entered, then Windows PowerShell calculates an
157+
optimum throttle limit for the cmdlet based on the number of CIM cmdlets that are running on the
158+
computer. The throttle limit applies only to the current cmdlet, not to the session or to the
159+
computer.
160+
161+
```yaml
162+
Type: Int32
163+
Parameter Sets: (All)
164+
Aliases:
165+
166+
Required: False
167+
Position: Named
168+
Default value: None
169+
Accept pipeline input: False
170+
Accept wildcard characters: False
171+
```
172+
173+
### CommonParameters
174+
175+
This cmdlet supports the common parameters: -Debug, -ErrorAction, -ErrorVariable,
176+
-InformationAction, -InformationVariable, -OutVariable, -OutBuffer, -PipelineVariable, -Verbose,
177+
-WarningAction, and -WarningVariable. For more information, see
178+
[about_CommonParameters](https://go.microsoft.com/fwlink/?LinkID=113216).
179+
180+
## INPUTS
181+
182+
### None
183+
184+
You cannot pipe objects to this cmdlet.
185+
186+
## OUTPUTS
187+
188+
### Microsoft.Management.Infrastructure.CimInstance#DnsServerEncryptionProtocol
189+
190+
This cmdlet returns a `DnsServerEncryptionProtocol` object that represents the updated encryption
191+
protocol settings on the DNS server.
192+
193+
## NOTES
194+
195+
## RELATED LINKS
196+
197+
[Set-DnsServerEncryptionProtocol](./Set-DnsServerEncryptionProtocol.md)

0 commit comments

Comments
 (0)