Lib/Default/DnsClientX.PowerShell.xml
|
<?xml version="1.0"?>
<doc> <assembly> <name>DnsClientX.PowerShell</name> </assembly> <members> <member name="T:DnsClientX.PowerShell.CmdletClearDnsMultiResolverCache"> <summary> <para type="synopsis">Clears the multi-resolver fastest-endpoint cache used by the FastestWins strategy.</para> <para type="description">Clears the in-memory cache used to remember the fastest endpoint for a given set of endpoints. Use this when you change network conditions or want to force re-probing. Does not affect TTL-based response caching, which expires automatically.</para> </summary> <example> <code>Clear-DnsMultiResolverCache</code> <para>Clears the entire FastestWins cache.</para> </example> <example> <code>Clear-DnsMultiResolverCache -ResolverDnsProvider Cloudflare,Google</code> <para>Clears cache entries only for the specified provider set.</para> </example> <example> <code>Clear-DnsMultiResolverCache -ResolverEndpoint '1.1.1.1:53','https://dns.google/dns-query'</code> <para>Clears cache entries only for the specified endpoints.</para> </example> </member> <member name="P:DnsClientX.PowerShell.CmdletClearDnsMultiResolverCache.All"> <summary> <para type="description">Clear all cached fastest-endpoint choices.</para> </summary> </member> <member name="P:DnsClientX.PowerShell.CmdletClearDnsMultiResolverCache.ResolverEndpoint"> <summary> <para type="description">Specific endpoints to clear, e.g. "1.1.1.1:53", "[2606:4700:4700::1111]:53", or DoH URLs.</para> </summary> </member> <member name="P:DnsClientX.PowerShell.CmdletClearDnsMultiResolverCache.ResolverDnsProvider"> <summary> <para type="description">Clear cache entries for the specified predefined providers (DnsEndpoint enum).</para> </summary> </member> <member name="P:DnsClientX.PowerShell.CmdletClearDnsMultiResolverCache.DnsProvider"> <summary> <para type="description">Alternate parameter: providers to clear when using the classic -DnsProvider parameter style.</para> </summary> </member> <member name="M:DnsClientX.PowerShell.CmdletClearDnsMultiResolverCache.ProcessRecord"> <inheritdoc /> </member> <member name="T:DnsClientX.PowerShell.CmdletConvertFromDnsStamp"> <summary> <para type="synopsis">Parses a DNS stamp into a resolver endpoint description.</para> <para type="description">Converts a supported sdns:// DNS stamp into the same endpoint model used by DnsClientX resolver workflows. This command does not perform a DNS query.</para> </summary> <example> <para>Parse a DNS-over-HTTPS stamp</para> <code>ConvertFrom-DnsStamp -Stamp 'sdns://AgUAAAAAAAAABzEuMS4xLjEAGm1vemlsbGEuY2xvdWRmbGFyZS1kbnMuY29tCi9kbnMtcXVlcnk'</code> </example> </member> <member name="P:DnsClientX.PowerShell.CmdletConvertFromDnsStamp.Stamp"> <summary> DNS stamp to parse. </summary> </member> <member name="M:DnsClientX.PowerShell.CmdletConvertFromDnsStamp.ProcessRecordAsync"> <inheritdoc /> </member> <member name="T:DnsClientX.PowerShell.CmdletDiscoverDnsService"> <summary> <para type="synopsis">Retrieves services advertised via DNS Service Discovery.</para> <para type="description">Queries the <c>_services._dns-sd._udp</c> tree for the specified domain and returns SRV/TXT data describing each advertised service.</para> </summary> <example> <para>Discover services under a domain</para> <code>Get-DnsService -Domain example.com</code> </example> <example> <para>Pipe results to select useful fields</para> <code>Get-DnsService -Domain example.com | Select-Object ServiceName,Target,Port</code> </example> </member> <member name="P:DnsClientX.PowerShell.CmdletDiscoverDnsService.Domain"> <summary> <para type="description">Domain name to search for advertised services.</para> </summary> </member> <member name="M:DnsClientX.PowerShell.CmdletDiscoverDnsService.ProcessRecordAsync"> <inheritdoc /> </member> <member name="T:DnsClientX.PowerShell.CmdletDnsUpdate"> <summary> <para type="synopsis">Sends DNS UPDATE messages to a server.</para> <para type="description">Adds or removes records in a zone using RFC 2136 over TCP.</para> </summary> <example> <para>Add an A record</para> <code>Invoke-DnsUpdate -Zone example.com -Server 127.0.0.1 -Name www -Type A -Data 1.2.3.4 -Ttl 300</code> </example> <example> <para>Delete an existing record</para> <code>Invoke-DnsUpdate -Zone example.com -Server 127.0.0.1 -Name www -Type A -Delete</code> </example> <example> <para>Delete one value while preserving the rest of the RRset</para> <code>Invoke-DnsUpdate -Zone example.com -Server 127.0.0.1 -Name www -Type A -Data 192.0.2.10 -DeleteValue</code> </example> </member> <member name="P:DnsClientX.PowerShell.CmdletDnsUpdate.Zone"> <summary>Zone to update.</summary> </member> <member name="P:DnsClientX.PowerShell.CmdletDnsUpdate.Server"> <summary>DNS server to send the update to.</summary> </member> <member name="P:DnsClientX.PowerShell.CmdletDnsUpdate.Port"> <summary>Port number to use. Defaults to 53.</summary> </member> <member name="P:DnsClientX.PowerShell.CmdletDnsUpdate.Name"> <summary>Record name.</summary> </member> <member name="P:DnsClientX.PowerShell.CmdletDnsUpdate.Type"> <summary>Type of record to update. NXNAME is a denial bitmap signal and cannot be updated.</summary> </member> <member name="P:DnsClientX.PowerShell.CmdletDnsUpdate.Data"> <summary>Record data used when adding a record.</summary> </member> <member name="P:DnsClientX.PowerShell.CmdletDnsUpdate.Ttl"> <summary>TTL for the new record. Zero is valid under RFC 2136; the default is 300 seconds.</summary> </member> <member name="F:DnsClientX.PowerShell.CmdletDnsUpdate.Delete"> <summary>If specified, the record is removed instead of added.</summary> </member> <member name="F:DnsClientX.PowerShell.CmdletDnsUpdate.DeleteValue"> <summary>If specified, only the exact value supplied through <see cref="P:DnsClientX.PowerShell.CmdletDnsUpdate.Data"/> is removed.</summary> </member> <member name="P:DnsClientX.PowerShell.CmdletDnsUpdate.TsigKey"> <summary>Optional typed TSIG key used to authenticate the update and its response.</summary> </member> <member name="M:DnsClientX.PowerShell.CmdletDnsUpdate.ProcessRecordAsync"> <inheritdoc /> </member> <member name="T:DnsClientX.PowerShell.CmdletDnsZoneTransfer"> <summary> <para type="synopsis">Performs a DNS zone transfer (AXFR) for a given zone.</para> <para type="description">Retrieves all records for the specified zone using TCP based zone transfer.</para> </summary> <example> <para>Transfer a zone (default port 53)</para> <code>Get-DnsZone -Zone example.com -Server 127.0.0.1</code> </example> <example> <para>Transfer a zone from a custom port</para> <code>Get-DnsZone -Zone example.com -Server 127.0.0.1 -Port 5353</code> </example> <example> <para>Discover authoritative servers and transfer from the first one that allows AXFR</para> <code>Get-DnsZone -Zone example.com -Recursive</code> </example> </member> <member name="P:DnsClientX.PowerShell.CmdletDnsZoneTransfer.Zone"> <summary>The zone to transfer.</summary> </member> <member name="P:DnsClientX.PowerShell.CmdletDnsZoneTransfer.Server"> <summary>DNS server to query.</summary> </member> <member name="P:DnsClientX.PowerShell.CmdletDnsZoneTransfer.Port"> <summary>Port number to use. Defaults to 53.</summary> </member> <member name="P:DnsClientX.PowerShell.CmdletDnsZoneTransfer.Recursive"> <summary>Discover authoritative servers first and attempt AXFR against them in order.</summary> </member> <member name="P:DnsClientX.PowerShell.CmdletDnsZoneTransfer.DnsProvider"> <summary>Resolver profile used to discover authoritative servers when <see cref="P:DnsClientX.PowerShell.CmdletDnsZoneTransfer.Recursive"/> is specified and no explicit discovery server is provided.</summary> </member> <member name="P:DnsClientX.PowerShell.CmdletDnsZoneTransfer.IncludeTransferSummary"> <summary>Emit the recursive transfer summary object before the transferred RRsets.</summary> </member> <member name="M:DnsClientX.PowerShell.CmdletDnsZoneTransfer.ProcessRecordAsync"> <inheritdoc /> </member> <member name="T:DnsClientX.PowerShell.CmdletFindDnsService"> <summary> <para type="synopsis">Discovers services advertised via DNS Service Discovery.</para> <para type="description">Wraps <see cref="M:DnsClientX.ClientX.DiscoverServices(System.String,System.Threading.CancellationToken)"/> to return services under a domain.</para> </summary> <example> <para>Find services under a domain</para> <code>Find-DnsService -Domain example.com</code> </example> <example> <para>Filter for a specific service type</para> <code>Find-DnsService -Domain example.com | Where-Object {$_.ServiceType -like '_http._tcp.*'}</code> </example> </member> <member name="P:DnsClientX.PowerShell.CmdletFindDnsService.Domain"> <summary>Domain name to search for advertised services.</summary> </member> <member name="M:DnsClientX.PowerShell.CmdletFindDnsService.ProcessRecordAsync"> <inheritdoc /> </member> <member name="T:DnsClientX.PowerShell.CmdletGetDnsResolverSelection"> <summary> <para type="synopsis">Loads a saved resolver score snapshot and returns the recommended resolver selection.</para> <para type="description">Reads a persisted resolver score snapshot, applies the shared recommendation logic, and returns either the structured selection object or the raw target string for automation use.</para> </summary> <example> <para>Get the recommended resolver selection as an object</para> <code>Get-DnsResolverSelection -Path '.\resolver-score.json'</code> </example> <example> <para>Get only the raw selected target string for scripting</para> <code>Get-DnsResolverSelection -Path '.\resolver-score.json' -AsString</code> </example> </member> <member name="P:DnsClientX.PowerShell.CmdletGetDnsResolverSelection.Path"> <summary> Path to the saved resolver score snapshot. </summary> </member> <member name="P:DnsClientX.PowerShell.CmdletGetDnsResolverSelection.AsString"> <summary> Emits only the raw selected target string instead of the structured selection object. </summary> </member> <member name="M:DnsClientX.PowerShell.CmdletGetDnsResolverSelection.ProcessRecordAsync"> <inheritdoc /> </member> <member name="T:DnsClientX.PowerShell.CmdletGetDnsTransportCapability"> <summary> <para type="synopsis">Returns runtime transport support information for the DnsClientX core transport surface.</para> <para type="description">Reports which core transports are available on the current runtime, including modern DoH3 and DoQ support on .NET 8+.</para> </summary> <example> <para>List the full core transport capability report</para> <code>Get-DnsTransportCapability</code> </example> <example> <para>Show only the runtime-gated modern transport entries</para> <code>Get-DnsTransportCapability -ModernOnly</code> </example> </member> <member name="P:DnsClientX.PowerShell.CmdletGetDnsTransportCapability.ModernOnly"> <summary> Emits only modern runtime-gated transports such as DoH3 and DoQ. </summary> </member> <member name="M:DnsClientX.PowerShell.CmdletGetDnsTransportCapability.ProcessRecordAsync"> <inheritdoc /> </member> <member name="T:DnsClientX.PowerShell.CmdletResolveDnsQuery"> <summary> <para type="synopsis">Resolves DNS records (A, AAAA, MX, TXT, …) over UDP, TCP, DoT, DoH, QUIC, or multicast with optional multi-resolver strategies.</para> <para type="description">Supports single-provider queries, explicit servers with transport selection, multiple providers with FirstSuccess/FastestWins/SequentialFallback/RoundRobin, direct resolver endpoints, DNSSEC, EDNS/ECS, concurrency control, and TTL-based response caching.</para> <para type="description">Specify either Name or Pattern. When no resolver source is specified, the library's default resolver is used. Timeout, retry, response, typed-record, and DNSSEC options apply to every resolver source.</para> </summary> <example> <para>Simple (system default)</para> <code>Resolve-Dns -Name "example.com" -Type A</code> </example> <example> <para>Single provider (classic)</para> <code>Resolve-Dns -Name "example.com" -Type A -DnsProvider Cloudflare</code> </example> <example> <para>FirstSuccess across providers</para> <code>Resolve-Dns -Name "example.com" -Type A -DnsProvider Cloudflare,Google -ResolverStrategy FirstSuccess</code> </example> <example> <para>FastestWins with cache</para> <code>Resolve-Dns -Name "example.com" -Type A -DnsProvider Cloudflare,Google -ResolverStrategy FastestWins -FastestCacheMinutes 10 -ResponseCache</code> </example> <example> <para>RoundRobin with per-endpoint cap</para> <code>Resolve-Dns -Name @('a.com','b.com') -Type A -DnsProvider System,Cloudflare,Quad9 -ResolverStrategy RoundRobin -MaxParallelism 16 -PerEndpointMaxInFlight 4</code> </example> <example> <para>Mixed endpoints (UDP + DoH)</para> <code>Resolve-Dns -Name 'example.com' -Type TXT -ResolverEndpoint '1.1.1.1:53','https://dns.google/dns-query' -ResolverStrategy FirstSuccess</code> </example> <example> <para>Modern endpoints (DoQ + DoH3) through the shared endpoint parser</para> <code>Resolve-Dns -Name 'example.com' -Type A -ResolverEndpoint 'doq@dns.quad9.net:853','doh3@https://dns.quad9.net/dns-query' -ResolverStrategy FirstSuccess</code> </example> <example> <para>Enable TTL-based response cache with bounds</para> <code>Resolve-Dns -Name 'example.com' -Type MX -DnsProvider Cloudflare,Google -ResponseCache -MaxCacheTtlSeconds 3600</code> </example> <example> <para>Query a specific server over DoH with explicit transport settings</para> <code>Resolve-Dns -Name 'example.com' -Type A -Server 'dns.google' -RequestFormat DnsOverHttps -Port 443 -UserAgent 'DnsClientX/PowerShell' -HttpVersion 2.0</code> </example> <example> <para>Send EDNS client subnet and request NSID metadata</para> <code>Resolve-Dns -Name 'example.com' -Type A -DnsProvider Quad9ECS -EnableEdns -ClientSubnet '192.0.2.0/24' -RequestNsid -FullResponse</code> </example> <example> <para>Reuse the recommended resolver from a saved selection snapshot</para> <code>Resolve-Dns -Name 'example.com' -Type A -ResolverSelectionPath '.\resolver-score.json'</code> </example> <seealso cref="T:DnsClientX.PowerShell.AsyncPSCmdlet" /> </member> <member name="P:DnsClientX.PowerShell.CmdletResolveDnsQuery.Name"> <summary> <para type="description">The name of the DNS record to query for</para> </summary> </member> <member name="P:DnsClientX.PowerShell.CmdletResolveDnsQuery.Pattern"> <summary> <para type="description">Pattern to expand into multiple DNS queries.</para> </summary> </member> <member name="F:DnsClientX.PowerShell.CmdletResolveDnsQuery.Type"> <summary> <para type="description">The type of the record to query for. NXNAME is a denial bitmap signal and cannot be queried directly. If not specified, A record is queried.</para> </summary> </member> <member name="P:DnsClientX.PowerShell.CmdletResolveDnsQuery.DnsProvider"> <summary> <para type="description">Predefined provider(s) (DnsEndpoint) for the query.</para> <para type="description">When a single provider is specified, the classic single-resolver path is used. When multiple providers are specified, the multi-resolver path is used.</para> <para type="description">If not specified, the default provider System (UDP) is used.</para> </summary> </member> <member name="P:DnsClientX.PowerShell.CmdletResolveDnsQuery.DnsSelectionStrategy"> <summary> <para type="description">How to choose among built-in provider hostnames when a single provider exposes multiple backends.</para> </summary> </member> <member name="P:DnsClientX.PowerShell.CmdletResolveDnsQuery.Server"> <summary> <para type="description">Server to use for the query. If not specified, the default provider System (UDP) is used.</para> <para type="description">Once a server is specified, the query will be sent to that server.</para> </summary> </member> <member name="P:DnsClientX.PowerShell.CmdletResolveDnsQuery.ResolverEndpoint"> <summary> <para type="description">One or more resolver endpoints in string format. Accepted: "1.1.1.1:53", "[2606:4700:4700::1111]:53", "dns.google:53", DoH URLs like "https://dns.google/dns-query", and transport-prefixed values such as "doq@dns.quad9.net:853" or "doh3@https://dns.quad9.net/dns-query".</para> </summary> </member> <member name="P:DnsClientX.PowerShell.CmdletResolveDnsQuery.ResolverEndpointFile"> <summary> <para type="description">One or more files containing resolver endpoints for the multi-resolver. Blank lines and full-line comments are ignored.</para> </summary> </member> <member name="P:DnsClientX.PowerShell.CmdletResolveDnsQuery.ResolverEndpointUrl"> <summary> <para type="description">One or more HTTP or HTTPS URLs exposing resolver endpoints for the multi-resolver.</para> </summary> </member> <member name="P:DnsClientX.PowerShell.CmdletResolveDnsQuery.ResolverDnsProvider"> <summary> <para type="description">One or more predefined providers (DnsEndpoint enum) to expand into endpoints for the multi-resolver.</para> <para type="description">This enables strategy control (FirstSuccess/FastestWins/SequentialFallback) and other multi-resolver options.</para> </summary> </member> <member name="P:DnsClientX.PowerShell.CmdletResolveDnsQuery.ResolverSelectionPath"> <summary> <para type="description">Path to a saved resolver score snapshot whose recommended resolver should be reused for the query.</para> </summary> </member> <member name="P:DnsClientX.PowerShell.CmdletResolveDnsQuery.ResolverStrategy"> <summary> <para type="description">Multi-resolver strategy to use when multiple endpoints are provided.</para> </summary> </member> <member name="P:DnsClientX.PowerShell.CmdletResolveDnsQuery.MaxParallelism"> <summary> <para type="description">Limits concurrent queries across endpoints. Defaults to 4.</para> </summary> </member> <member name="P:DnsClientX.PowerShell.CmdletResolveDnsQuery.RespectEndpointTimeout"> <summary> <para type="description">Respect endpoint-level timeouts if present. When not set, the cmdlet's -TimeOut value is used.</para> </summary> </member> <member name="P:DnsClientX.PowerShell.CmdletResolveDnsQuery.FastestCacheMinutes"> <summary> <para type="description">Cache duration in minutes for FastestWins strategy.</para> </summary> </member> <member name="P:DnsClientX.PowerShell.CmdletResolveDnsQuery.PerEndpointMaxInFlight"> <summary> <para type="description">Limits concurrent queries per endpoint when using the multi-resolver. Set to a positive value to cap in-flight queries per endpoint; 0 disables the cap.</para> </summary> </member> <member name="P:DnsClientX.PowerShell.CmdletResolveDnsQuery.ResponseCache"> <summary> <para type="description">Enables response caching based on TTLs for repeated queries of the same (name,type). Disabled by default.</para> </summary> </member> <member name="P:DnsClientX.PowerShell.CmdletResolveDnsQuery.MaxCacheTtlSeconds"> <summary> <para type="description">Maximal TTL allowed for cached entries (seconds). 0 leaves library default.</para> </summary> </member> <member name="F:DnsClientX.PowerShell.CmdletResolveDnsQuery.AllServers"> <summary> <para type="description">If specified, all servers listed in <see cref="P:DnsClientX.PowerShell.CmdletResolveDnsQuery.Server"/> are queried sequentially and the responses are aggregated in server order.</para> <para type="description">When not specified, only the first server is queried for faster results.</para> </summary> </member> <member name="F:DnsClientX.PowerShell.CmdletResolveDnsQuery.Fallback"> <summary> <para type="description">If specified, the cmdlet sequentially queries each server until a successful response is received.</para> <para type="description">This option stops on the first server that returns <c>DnsResponseCode.NoError</c>.</para> </summary> </member> <member name="F:DnsClientX.PowerShell.CmdletResolveDnsQuery.RandomServer"> <summary> <para type="description">If specified, the order of servers defined in <see cref="P:DnsClientX.PowerShell.CmdletResolveDnsQuery.Server"/> is randomized before querying.</para> </summary> </member> <member name="F:DnsClientX.PowerShell.CmdletResolveDnsQuery.FullResponse"> <summary> <para type="description">Provides the full response of the query. If not specified, only the minimal response is provided (just the answer).</para> <para type="description">If specified, the full response is provided (answer, authority, and additional sections).</para> </summary> </member> <member name="F:DnsClientX.PowerShell.CmdletResolveDnsQuery.TypedRecords"> <summary> <para type="description">When set, attempts to parse answers into typed record objects.</para> </summary> </member> <member name="F:DnsClientX.PowerShell.CmdletResolveDnsQuery.ParseTypedTxtRecords"> <summary> Gets or sets a value indicating whether TXT records should be parsed into specialized types (DMARC, SPF, etc.) when <see cref="F:DnsClientX.PowerShell.CmdletResolveDnsQuery.TypedRecords"/> is specified. When false, returns simple TXT records. </summary> </member> <member name="F:DnsClientX.PowerShell.CmdletResolveDnsQuery.TimeOut"> <summary> <para type="description">Specifies the timeout for the DNS query, in milliseconds. If the DNS server does not respond within this time, the query will fail. Default is 2000 ms (2 seconds) as defined by <see cref="F:DnsClientX.Configuration.DefaultTimeout"/>. Increase this value for slow networks or unreliable servers.</para> </summary> </member> <member name="F:DnsClientX.PowerShell.CmdletResolveDnsQuery.RetryCount"> <summary> <para type="description">Number of retry attempts on transient errors.</para> </summary> </member> <member name="F:DnsClientX.PowerShell.CmdletResolveDnsQuery.RetryDelayMs"> <summary> <para type="description">Delay between retry attempts in milliseconds.</para> </summary> </member> <member name="F:DnsClientX.PowerShell.CmdletResolveDnsQuery.RequestDnsSec"> <summary> <para type="description">Request DNSSEC data (sets the DO bit).</para> </summary> </member> <member name="F:DnsClientX.PowerShell.CmdletResolveDnsQuery.ValidateDnsSec"> <summary> <para type="description">Validate DNSSEC signatures. Implies requesting DNSSEC data.</para> </summary> </member> <member name="P:DnsClientX.PowerShell.CmdletResolveDnsQuery.DnsSecVerifierPath"> <summary><para type="description">Local optional DNSSEC provider DLL path, with its dependencies beside it. Enables additional signature algorithms when ValidateDnsSec is selected.</para></summary> </member> <member name="F:DnsClientX.PowerShell.CmdletResolveDnsQuery.EnableEdns"> <summary> <para type="description">Enables EDNS on outgoing queries.</para> </summary> </member> <member name="P:DnsClientX.PowerShell.CmdletResolveDnsQuery.EdnsBufferSize"> <summary> <para type="description">Sets the EDNS UDP buffer size. When specified, EDNS is enabled automatically.</para> </summary> </member> <member name="P:DnsClientX.PowerShell.CmdletResolveDnsQuery.ClientSubnet"> <summary> <para type="description">Sets the EDNS Client Subnet (ECS) in CIDR notation, for example 192.0.2.0/24.</para> </summary> </member> <member name="F:DnsClientX.PowerShell.CmdletResolveDnsQuery.CheckingDisabled"> <summary> <para type="description">Sets the CD (checking disabled) bit on outgoing queries.</para> </summary> </member> <member name="F:DnsClientX.PowerShell.CmdletResolveDnsQuery.RequestNsid"> <summary> <para type="description">Requests the NSID EDNS option so compatible servers may include resolver identity metadata in the response.</para> </summary> </member> <member name="P:DnsClientX.PowerShell.CmdletResolveDnsQuery.BootstrapResolver"> <summary> <para type="description">Resolves endpoint hostnames through an IP-literal UDP/TCP endpoint, such as udp@1.1.1.1:53. Failures do not fall back to system DNS.</para> </summary> </member> <member name="P:DnsClientX.PowerShell.CmdletResolveDnsQuery.RequestFormat"> <summary> <para type="description">Explicit request format for the -Server path, such as DnsOverUDP, DnsOverTCP, DnsOverTLS, or DnsOverHttps.</para> </summary> </member> <member name="P:DnsClientX.PowerShell.CmdletResolveDnsQuery.Port"> <summary> <para type="description">Optional port override for the -Server path. If omitted, the selected request format decides the default port.</para> </summary> </member> <member name="P:DnsClientX.PowerShell.CmdletResolveDnsQuery.UserAgent"> <summary> <para type="description">Optional User-Agent header for HTTP-based transports.</para> </summary> </member> <member name="P:DnsClientX.PowerShell.CmdletResolveDnsQuery.HttpVersion"> <summary> <para type="description">Optional preferred HTTP protocol version, for example 2.0 or 3.0.</para> </summary> </member> <member name="P:DnsClientX.PowerShell.CmdletResolveDnsQuery.IgnoreCertificateErrors"> <summary> <para type="description">Ignore TLS certificate validation errors.</para> </summary> </member> <member name="P:DnsClientX.PowerShell.CmdletResolveDnsQuery.UseTcpFallback"> <summary> <para type="description">Controls whether UDP queries may fall back to TCP when truncated.</para> </summary> </member> <member name="P:DnsClientX.PowerShell.CmdletResolveDnsQuery.ProxyUri"> <summary> <para type="description">Optional web proxy URI for HTTP-based transports.</para> </summary> </member> <member name="P:DnsClientX.PowerShell.CmdletResolveDnsQuery.MaxConnectionsPerServer"> <summary> <para type="description">Maximum HTTP connections allowed per server. When 0, the library default is used.</para> </summary> </member> <member name="P:DnsClientX.PowerShell.CmdletResolveDnsQuery.MaxConcurrency"> <summary> <para type="description">Optional cap on client-side query concurrency for single-resolver operations. When 0, the library default is used.</para> </summary> </member> <member name="M:DnsClientX.PowerShell.CmdletResolveDnsQuery.ProcessRecordAsync"> <inheritdoc /> </member> <member name="T:DnsClientX.PowerShell.DnsBenchmarkResult"> <summary> Per-candidate DNS benchmark output for PowerShell consumers. </summary> </member> <member name="P:DnsClientX.PowerShell.DnsBenchmarkResult.Target"> <summary> Candidate label, such as a provider name or explicit transport endpoint. </summary> </member> <member name="P:DnsClientX.PowerShell.DnsBenchmarkResult.Resolver"> <summary> Resolver address observed on the fastest successful attempt for this candidate. </summary> </member> <member name="P:DnsClientX.PowerShell.DnsBenchmarkResult.Transport"> <summary> Actual transport observed on the fastest successful attempt for this candidate. </summary> </member> <member name="P:DnsClientX.PowerShell.DnsBenchmarkResult.Domains"> <summary> Domain names included in the benchmark matrix. </summary> </member> <member name="P:DnsClientX.PowerShell.DnsBenchmarkResult.RecordTypes"> <summary> Record types included in the benchmark matrix. </summary> </member> <member name="P:DnsClientX.PowerShell.DnsBenchmarkResult.AttemptsPerCombination"> <summary> Number of attempts executed for each domain/type combination. </summary> </member> <member name="P:DnsClientX.PowerShell.DnsBenchmarkResult.MaxConcurrency"> <summary> Maximum concurrent in-flight benchmark queries used for the run. </summary> </member> <member name="P:DnsClientX.PowerShell.DnsBenchmarkResult.ConnectionMode"> <summary>Connection reuse used for the benchmark run.</summary> </member> <member name="P:DnsClientX.PowerShell.DnsBenchmarkResult.TimeoutMs"> <summary> Per-query timeout in milliseconds used for the run. </summary> </member> <member name="P:DnsClientX.PowerShell.DnsBenchmarkResult.TotalQueries"> <summary> Total query attempts for this candidate. </summary> </member> <member name="P:DnsClientX.PowerShell.DnsBenchmarkResult.SuccessCount"> <summary> Successful query count for this candidate. </summary> </member> <member name="P:DnsClientX.PowerShell.DnsBenchmarkResult.FailureCount"> <summary> Failed query count for this candidate. </summary> </member> <member name="P:DnsClientX.PowerShell.DnsBenchmarkResult.SuccessPercent"> <summary> Successful queries as a percentage of <see cref="P:DnsClientX.PowerShell.DnsBenchmarkResult.TotalQueries"/>. </summary> </member> <member name="P:DnsClientX.PowerShell.DnsBenchmarkResult.AverageMs"> <summary> Average successful round-trip time in milliseconds. </summary> </member> <member name="P:DnsClientX.PowerShell.DnsBenchmarkResult.MinMs"> <summary> Minimum successful round-trip time in milliseconds. </summary> </member> <member name="P:DnsClientX.PowerShell.DnsBenchmarkResult.MaxMs"> <summary> Maximum successful round-trip time in milliseconds. </summary> </member> <member name="P:DnsClientX.PowerShell.DnsBenchmarkResult.DistinctAnswerSets"> <summary> Number of distinct answer sets observed among successful attempts. </summary> </member> <member name="P:DnsClientX.PowerShell.DnsBenchmarkResult.Rank"> <summary> Ranking position across all candidates in this benchmark run. </summary> </member> <member name="P:DnsClientX.PowerShell.DnsBenchmarkResult.IsBest"> <summary> Indicates whether this candidate was the best successful result in the run. </summary> </member> <member name="P:DnsClientX.PowerShell.DnsBenchmarkResult.IsRecommended"> <summary> Indicates whether this candidate is recommended under the current benchmark policy. </summary> </member> <member name="P:DnsClientX.PowerShell.DnsBenchmarkResult.PolicyPassed"> <summary> Indicates whether the overall benchmark policy passed. </summary> </member> <member name="P:DnsClientX.PowerShell.DnsBenchmarkResult.PolicyReason"> <summary> Explains why the overall benchmark policy failed, or <c>none</c> when it passed. </summary> </member> <member name="P:DnsClientX.PowerShell.DnsBenchmarkResult.RequiredMinSuccessPercent"> <summary> Minimum overall success percentage required by policy, if any. </summary> </member> <member name="P:DnsClientX.PowerShell.DnsBenchmarkResult.RequiredMinSuccessfulCandidates"> <summary> Minimum successful candidate count required by policy, if any. </summary> </member> <member name="P:DnsClientX.PowerShell.DnsBenchmarkResult.CandidateCount"> <summary> Total candidate count in the run. </summary> </member> <member name="P:DnsClientX.PowerShell.DnsBenchmarkResult.SuccessfulCandidates"> <summary> Number of candidates with at least one successful query. </summary> </member> <member name="P:DnsClientX.PowerShell.DnsBenchmarkResult.OverallSuccessPercent"> <summary> Overall successful query percentage across all candidates. </summary> </member> <member name="P:DnsClientX.PowerShell.DnsBenchmarkResult.OverallSuccessCount"> <summary> Total successful queries across all candidates. </summary> </member> <member name="P:DnsClientX.PowerShell.DnsBenchmarkResult.OverallQueryCount"> <summary> Total queries across all candidates. </summary> </member> <member name="T:DnsClientX.PowerShell.DnsBenchmarkSummary"> <summary> Run-level DNS benchmark summary for PowerShell consumers. </summary> </member> <member name="P:DnsClientX.PowerShell.DnsBenchmarkSummary.Domains"> <summary> Domain names included in the benchmark matrix. </summary> </member> <member name="P:DnsClientX.PowerShell.DnsBenchmarkSummary.RecordTypes"> <summary> Record types included in the benchmark matrix. </summary> </member> <member name="P:DnsClientX.PowerShell.DnsBenchmarkSummary.AttemptsPerCombination"> <summary> Number of attempts executed for each domain/type combination. </summary> </member> <member name="P:DnsClientX.PowerShell.DnsBenchmarkSummary.MaxConcurrency"> <summary> Maximum concurrent in-flight benchmark queries used for the run. </summary> </member> <member name="P:DnsClientX.PowerShell.DnsBenchmarkSummary.ConnectionMode"> <summary>Connection reuse used for the benchmark run.</summary> </member> <member name="P:DnsClientX.PowerShell.DnsBenchmarkSummary.TimeoutMs"> <summary> Per-query timeout in milliseconds used for the run. </summary> </member> <member name="P:DnsClientX.PowerShell.DnsBenchmarkSummary.CandidateCount"> <summary> Total candidate count in the run. </summary> </member> <member name="P:DnsClientX.PowerShell.DnsBenchmarkSummary.SuccessfulCandidates"> <summary> Number of candidates with at least one successful query. </summary> </member> <member name="P:DnsClientX.PowerShell.DnsBenchmarkSummary.OverallSuccessCount"> <summary> Total successful queries across all candidates. </summary> </member> <member name="P:DnsClientX.PowerShell.DnsBenchmarkSummary.OverallQueryCount"> <summary> Total queries across all candidates. </summary> </member> <member name="P:DnsClientX.PowerShell.DnsBenchmarkSummary.OverallSuccessPercent"> <summary> Overall successful query percentage across all candidates. </summary> </member> <member name="P:DnsClientX.PowerShell.DnsBenchmarkSummary.PolicyPassed"> <summary> Indicates whether the overall benchmark policy passed. </summary> </member> <member name="P:DnsClientX.PowerShell.DnsBenchmarkSummary.PolicyReason"> <summary> Explains why the overall benchmark policy failed, or <c>none</c> when it passed. </summary> </member> <member name="P:DnsClientX.PowerShell.DnsBenchmarkSummary.RequiredMinSuccessPercent"> <summary> Minimum overall success percentage required by policy, if any. </summary> </member> <member name="P:DnsClientX.PowerShell.DnsBenchmarkSummary.RequiredMinSuccessfulCandidates"> <summary> Minimum successful candidate count required by policy, if any. </summary> </member> <member name="P:DnsClientX.PowerShell.DnsBenchmarkSummary.RecommendedTarget"> <summary> Best successful benchmark target under the current run. </summary> </member> <member name="P:DnsClientX.PowerShell.DnsBenchmarkSummary.RecommendedResolver"> <summary> Resolver observed on the recommended target's fastest successful attempt. </summary> </member> <member name="P:DnsClientX.PowerShell.DnsBenchmarkSummary.RecommendedTransport"> <summary> Transport observed on the recommended target's fastest successful attempt. </summary> </member> <member name="P:DnsClientX.PowerShell.DnsBenchmarkSummary.RecommendedAverageMs"> <summary> Average successful latency for the recommended target in milliseconds. </summary> </member> <member name="P:DnsClientX.PowerShell.DnsBenchmarkSummary.RecommendationAvailable"> <summary> Indicates whether a recommendation is available under the current policy. </summary> </member> <member name="P:DnsClientX.PowerShell.DnsBenchmarkSummary.RuntimeUnsupportedCandidateCount"> <summary> Number of unique candidates blocked by runtime transport support. </summary> </member> <member name="P:DnsClientX.PowerShell.DnsBenchmarkSummary.RuntimeCapabilityWarnings"> <summary> Runtime capability warnings captured during the benchmark run. </summary> </member> <member name="T:DnsClientX.PowerShell.CmdletTestDnsBenchmark"> <summary> <para type="synopsis">Benchmarks one or more DNS providers or explicit resolver endpoints across repeated queries.</para> <para type="description">Returns one object per candidate with latency, success rate, answer consistency, rank, and recommendation metadata. PowerShell consumers can sort, filter, format, or export the results themselves.</para> </summary> <example> <para>Benchmark three built-in providers with repeated A lookups</para> <code>Test-DnsBenchmark -Name example.com -DnsProvider Cloudflare,Quad9,Google -Attempts 5</code> </example> <example> <para>Benchmark a custom resolver matrix across domains and record types</para> <code>Test-DnsBenchmark -Name example.com,microsoft.com -Type A,AAAA -ResolverEndpoint 'udp@1.1.1.1:53','tcp@9.9.9.9:53' -Attempts 3 -MaxConcurrency 8</code> </example> <example> <para>Benchmark modern transports without changing the core package graph</para> <code>Test-DnsBenchmark -Name example.com -ResolverEndpoint 'doq@dns.quad9.net:853','doh3@https://dns.quad9.net/dns-query' -Attempts 2 -SummaryOnly</code> </example> <example> <para>Require strong benchmark health before recommending a winner</para> <code>Test-DnsBenchmark -Name example.com -DnsProvider Cloudflare,Quad9 -MinSuccessPercent 90 -MinSuccessfulCandidates 2</code> </example> <example> <para>Include per-candidate rows plus one run-level summary object</para> <code>Test-DnsBenchmark -Name example.com -DnsProvider Cloudflare,Google -Attempts 3 -IncludeSummary</code> </example> <example> <para>Return only the run-level summary object for automation</para> <code>Test-DnsBenchmark -Name example.com -DnsProvider Cloudflare,Google -Attempts 3 -SummaryOnly</code> </example> <example> <para>Benchmark explicit endpoints and keep only the recommended summary for automation</para> <code>Test-DnsBenchmark -Name example.com,microsoft.com -Type A,AAAA -ResolverEndpoint 'udp@1.1.1.1:53','tcp@9.9.9.9:53' -Attempts 2 -SummaryOnly</code> </example> <example> <para>Reuse the recommended resolver from a saved score snapshot as the single benchmark candidate</para> <code>Test-DnsBenchmark -Name example.com -ResolverSelectionPath '.\resolver-score.json' -Attempts 3 -SummaryOnly</code> </example> <example> <para>Benchmark resolvers and persist the scored recommendation snapshot for later reuse</para> <code>Test-DnsBenchmark -Name example.com -DnsProvider Cloudflare,Google -Attempts 3 -SavePath '.\resolver-score.json' -IncludeSummary</code> </example> </member> <member name="P:DnsClientX.PowerShell.CmdletTestDnsBenchmark.Name"> <summary> Domain names to benchmark. </summary> </member> <member name="P:DnsClientX.PowerShell.CmdletTestDnsBenchmark.Type"> <summary> Record types to benchmark. NXNAME is a denial bitmap signal and cannot be queried directly. </summary> </member> <member name="P:DnsClientX.PowerShell.CmdletTestDnsBenchmark.DnsProvider"> <summary> Built-in provider candidates to benchmark. </summary> </member> <member name="P:DnsClientX.PowerShell.CmdletTestDnsBenchmark.ResolverEndpoint"> <summary> Explicit resolver endpoint candidates to benchmark. </summary> </member> <member name="P:DnsClientX.PowerShell.CmdletTestDnsBenchmark.ResolverEndpointFile"> <summary> Files containing resolver endpoint candidates to benchmark. </summary> </member> <member name="P:DnsClientX.PowerShell.CmdletTestDnsBenchmark.ResolverEndpointUrl"> <summary> HTTP or HTTPS URLs exposing resolver endpoint candidates to benchmark. </summary> </member> <member name="P:DnsClientX.PowerShell.CmdletTestDnsBenchmark.ResolverSelectionPath"> <summary> Path to a saved resolver score snapshot whose recommended resolver should be reused as the single benchmark candidate. </summary> </member> <member name="P:DnsClientX.PowerShell.CmdletTestDnsBenchmark.Attempts"> <summary> Number of attempts per domain/type combination. </summary> </member> <member name="P:DnsClientX.PowerShell.CmdletTestDnsBenchmark.MaxConcurrency"> <summary> Maximum concurrent in-flight benchmark queries across the whole run. </summary> </member> <member name="P:DnsClientX.PowerShell.CmdletTestDnsBenchmark.ConnectionMode"> <summary>Use a fresh client per attempt, or retain one per target without caching DNS answers.</summary> </member> <member name="P:DnsClientX.PowerShell.CmdletTestDnsBenchmark.TimeOut"> <summary> Per-query timeout in milliseconds. </summary> </member> <member name="P:DnsClientX.PowerShell.CmdletTestDnsBenchmark.RequestDnsSec"> <summary> Request DNSSEC records by setting the DO bit. </summary> </member> <member name="P:DnsClientX.PowerShell.CmdletTestDnsBenchmark.RequestNsid"> <summary>Request resolver identity through EDNS on wire transports.</summary> </member> <member name="P:DnsClientX.PowerShell.CmdletTestDnsBenchmark.BootstrapResolver"> <summary>Resolve endpoint hostnames through an IP-literal UDP/TCP resolver, such as udp@1.1.1.1:53.</summary> </member> <member name="P:DnsClientX.PowerShell.CmdletTestDnsBenchmark.ValidateDnsSec"> <summary> Validate DNSSEC signatures. Implies <see cref="P:DnsClientX.PowerShell.CmdletTestDnsBenchmark.RequestDnsSec"/>. </summary> </member> <member name="P:DnsClientX.PowerShell.CmdletTestDnsBenchmark.DnsSecVerifierPath"> <summary><para type="description">Local optional DNSSEC provider DLL path, with its dependencies beside it.</para></summary> </member> <member name="P:DnsClientX.PowerShell.CmdletTestDnsBenchmark.MinSuccessPercent"> <summary> Require a minimum overall successful query percentage for the run to pass policy. </summary> </member> <member name="P:DnsClientX.PowerShell.CmdletTestDnsBenchmark.MinSuccessfulCandidates"> <summary> Require a minimum number of healthy candidates with at least one successful query. </summary> </member> <member name="P:DnsClientX.PowerShell.CmdletTestDnsBenchmark.IncludeSummary"> <summary> Emits a run-level summary object after the per-candidate benchmark results. </summary> </member> <member name="P:DnsClientX.PowerShell.CmdletTestDnsBenchmark.SummaryOnly"> <summary> Emits only the run-level summary object and suppresses per-candidate rows. </summary> </member> <member name="P:DnsClientX.PowerShell.CmdletTestDnsBenchmark.SavePath"> <summary> Optional path where the benchmark score snapshot should be saved for later selection and reuse. </summary> </member> <member name="M:DnsClientX.PowerShell.CmdletTestDnsBenchmark.ProcessRecordAsync"> <inheritdoc /> </member> <member name="T:DnsClientX.PowerShell.DnsProbeResult"> <summary> Per-candidate DNS probe output for PowerShell consumers. </summary> </member> <member name="P:DnsClientX.PowerShell.DnsProbeResult.ServerResolution"> <summary>Endpoint hostname resolution provenance for this candidate.</summary> </member> <member name="P:DnsClientX.PowerShell.DnsProbeResult.EdnsNsidHex"> <summary>Lossless NSID hexadecimal value, empty when absent.</summary> </member> <member name="P:DnsClientX.PowerShell.DnsProbeResult.EdnsNsidText"> <summary>NSID text when it consists of printable ASCII.</summary> </member> <member name="P:DnsClientX.PowerShell.DnsProbeResult.Target"> <summary> Candidate label, such as a provider name or explicit transport endpoint. </summary> </member> <member name="P:DnsClientX.PowerShell.DnsProbeResult.Resolver"> <summary> Resolver address observed for the candidate. </summary> </member> <member name="P:DnsClientX.PowerShell.DnsProbeResult.RequestFormat"> <summary> Requested transport format for the candidate. </summary> </member> <member name="P:DnsClientX.PowerShell.DnsProbeResult.Transport"> <summary> Actual or inferred transport observed for the candidate. </summary> </member> <member name="P:DnsClientX.PowerShell.DnsProbeResult.Status"> <summary> DNS response status or <c>NoResponse</c> when no response was received. </summary> </member> <member name="P:DnsClientX.PowerShell.DnsProbeResult.Error"> <summary> Error details for failed probe attempts, or <c>none</c> when successful. </summary> </member> <member name="P:DnsClientX.PowerShell.DnsProbeResult.ElapsedMs"> <summary> Probe round-trip time in milliseconds. </summary> </member> <member name="P:DnsClientX.PowerShell.DnsProbeResult.AnswerCount"> <summary> Number of answers returned by the candidate. </summary> </member> <member name="P:DnsClientX.PowerShell.DnsProbeResult.Succeeded"> <summary> Indicates whether the probe succeeded. </summary> </member> <member name="P:DnsClientX.PowerShell.DnsProbeResult.Rank"> <summary> Ranking position across all candidates for this probe run. </summary> </member> <member name="P:DnsClientX.PowerShell.DnsProbeResult.IsFastestSuccess"> <summary> Indicates whether this candidate was the fastest successful responder. </summary> </member> <member name="P:DnsClientX.PowerShell.DnsProbeResult.IsFastestConsensus"> <summary> Indicates whether this candidate was the fastest responder within the leading consensus group. </summary> </member> <member name="P:DnsClientX.PowerShell.DnsProbeResult.IsRecommended"> <summary> Indicates whether this candidate is recommended under the current probe policy. </summary> </member> <member name="P:DnsClientX.PowerShell.DnsProbeResult.PolicyPassed"> <summary> Indicates whether the overall probe policy passed. </summary> </member> <member name="P:DnsClientX.PowerShell.DnsProbeResult.PolicyReason"> <summary> Explains why the overall probe policy failed, or <c>none</c> when it passed. </summary> </member> <member name="T:DnsClientX.PowerShell.DnsProbeSummary"> <summary> Run-level DNS probe summary for PowerShell consumers. </summary> </member> <member name="P:DnsClientX.PowerShell.DnsProbeSummary.Name"> <summary> Domain name that was probed. </summary> </member> <member name="P:DnsClientX.PowerShell.DnsProbeSummary.RecordType"> <summary> Record type that was probed. </summary> </member> <member name="P:DnsClientX.PowerShell.DnsProbeSummary.TimeoutMs"> <summary> Per-query timeout in milliseconds used for the probe. </summary> </member> <member name="P:DnsClientX.PowerShell.DnsProbeSummary.CandidateCount"> <summary> Total candidate count in the run. </summary> </member> <member name="P:DnsClientX.PowerShell.DnsProbeSummary.SuccessfulCandidates"> <summary> Number of successful candidates in the run. </summary> </member> <member name="P:DnsClientX.PowerShell.DnsProbeSummary.FailedCandidates"> <summary> Number of failed candidates in the run. </summary> </member> <member name="P:DnsClientX.PowerShell.DnsProbeSummary.SuccessPercent"> <summary> Successful candidate percentage across the run. </summary> </member> <member name="P:DnsClientX.PowerShell.DnsProbeSummary.PolicyPassed"> <summary> Indicates whether the overall probe policy passed. </summary> </member> <member name="P:DnsClientX.PowerShell.DnsProbeSummary.PolicyReason"> <summary> Explains why the overall probe policy failed, or <c>none</c> when it passed. </summary> </member> <member name="P:DnsClientX.PowerShell.DnsProbeSummary.RequiredMinSuccessCount"> <summary> Minimum successful probe count required by policy, if any. </summary> </member> <member name="P:DnsClientX.PowerShell.DnsProbeSummary.RequiredMinSuccessPercent"> <summary> Minimum successful probe percentage required by policy, if any. </summary> </member> <member name="P:DnsClientX.PowerShell.DnsProbeSummary.RequiredMinConsensusPercent"> <summary> Minimum consensus percentage required by policy, if any. </summary> </member> <member name="P:DnsClientX.PowerShell.DnsProbeSummary.RequireConsensus"> <summary> Indicates whether unanimous answer consensus was required. </summary> </member> <member name="P:DnsClientX.PowerShell.DnsProbeSummary.DistinctAnswerSets"> <summary> Number of distinct answer sets observed across successful candidates. </summary> </member> <member name="P:DnsClientX.PowerShell.DnsProbeSummary.ConsensusCount"> <summary> Size of the leading consensus group. </summary> </member> <member name="P:DnsClientX.PowerShell.DnsProbeSummary.ConsensusTotal"> <summary> Number of successful candidates considered for consensus. </summary> </member> <member name="P:DnsClientX.PowerShell.DnsProbeSummary.ConsensusPercent"> <summary> Consensus percentage for the leading answer group. </summary> </member> <member name="P:DnsClientX.PowerShell.DnsProbeSummary.FastestSuccessTarget"> <summary> Fastest successful candidate label. </summary> </member> <member name="P:DnsClientX.PowerShell.DnsProbeSummary.FastestSuccessResolver"> <summary> Resolver observed for the fastest successful candidate. </summary> </member> <member name="P:DnsClientX.PowerShell.DnsProbeSummary.FastestSuccessTransport"> <summary> Transport observed for the fastest successful candidate. </summary> </member> <member name="P:DnsClientX.PowerShell.DnsProbeSummary.FastestSuccessMs"> <summary> Latency of the fastest successful candidate in milliseconds. </summary> </member> <member name="P:DnsClientX.PowerShell.DnsProbeSummary.FastestConsensusTarget"> <summary> Fastest candidate label within the leading consensus group. </summary> </member> <member name="P:DnsClientX.PowerShell.DnsProbeSummary.FastestConsensusResolver"> <summary> Resolver observed for the fastest consensus candidate. </summary> </member> <member name="P:DnsClientX.PowerShell.DnsProbeSummary.FastestConsensusTransport"> <summary> Transport observed for the fastest consensus candidate. </summary> </member> <member name="P:DnsClientX.PowerShell.DnsProbeSummary.FastestConsensusMs"> <summary> Latency of the fastest consensus candidate in milliseconds. </summary> </member> <member name="P:DnsClientX.PowerShell.DnsProbeSummary.RecommendationAvailable"> <summary> Indicates whether a recommendation is available. </summary> </member> <member name="P:DnsClientX.PowerShell.DnsProbeSummary.RecommendedTarget"> <summary> Recommended candidate label. </summary> </member> <member name="P:DnsClientX.PowerShell.DnsProbeSummary.RecommendedResolver"> <summary> Resolver observed for the recommended candidate. </summary> </member> <member name="P:DnsClientX.PowerShell.DnsProbeSummary.RecommendedTransport"> <summary> Transport observed for the recommended candidate. </summary> </member> <member name="P:DnsClientX.PowerShell.DnsProbeSummary.RecommendedAverageMs"> <summary> Latency of the recommended candidate in milliseconds. </summary> </member> <member name="P:DnsClientX.PowerShell.DnsProbeSummary.RecommendationSource"> <summary> Source used to derive the recommendation. </summary> </member> <member name="P:DnsClientX.PowerShell.DnsProbeSummary.RecommendationStatus"> <summary> Recommendation availability status. </summary> </member> <member name="P:DnsClientX.PowerShell.DnsProbeSummary.RecommendationReason"> <summary> Reason why no recommendation was produced, or <c>none</c>. </summary> </member> <member name="P:DnsClientX.PowerShell.DnsProbeSummary.RuntimeUnsupportedCandidateCount"> <summary> Number of unique candidates blocked by runtime transport support. </summary> </member> <member name="P:DnsClientX.PowerShell.DnsProbeSummary.RuntimeCapabilityWarnings"> <summary> Runtime capability warnings captured during the probe run. </summary> </member> <member name="T:DnsClientX.PowerShell.CmdletTestDnsProbe"> <summary> <para type="synopsis">Probes one built-in resolver profile or a custom resolver set and reports health, consensus, and recommendation data.</para> <para type="description">Runs a single DNS query against each candidate, highlights answer mismatches, applies optional success and consensus policy gates, and can persist the scored result set for later resolver selection and reuse.</para> </summary> <example> <para>Probe the default system resolver profile for an A record</para> <code>Test-DnsProbe -Name example.com</code> </example> <example> <para>Probe the Cloudflare resolver family and return only the run-level summary</para> <code>Test-DnsProbe -Name example.com -DnsProvider Cloudflare -SummaryOnly</code> </example> <example> <para>Probe custom endpoints loaded from a file and require answer consensus</para> <code>Test-DnsProbe -Name example.com -ResolverEndpointFile '.\resolvers.txt' -RequireConsensus -IncludeSummary</code> </example> <example> <para>Probe custom endpoints from inline values and enforce success thresholds</para> <code>Test-DnsProbe -Name example.com -ResolverEndpoint 'udp@1.1.1.1:53','tcp@9.9.9.9:53' -MinSuccessCount 2 -MinConsensusPercent 60</code> </example> <example> <para>Probe modern transports with explicit endpoint strings</para> <code>Test-DnsProbe -Name example.com -ResolverEndpoint 'doq@dns.quad9.net:853','doh3@https://dns.quad9.net/dns-query' -IncludeSummary</code> </example> <example> <para>Reuse the recommended resolver from a saved snapshot as the single probe candidate</para> <code>Test-DnsProbe -Name example.com -ResolverSelectionPath '.\resolver-score.json' -SummaryOnly</code> </example> <example> <para>Probe resolvers and persist the scored snapshot for later selection</para> <code>Test-DnsProbe -Name example.com -ResolverEndpointUrl 'https://example.test/resolvers.txt' -SavePath '.\resolver-probe.json' -IncludeSummary</code> </example> </member> <member name="P:DnsClientX.PowerShell.CmdletTestDnsProbe.Name"> <summary> Domain name to probe. </summary> </member> <member name="P:DnsClientX.PowerShell.CmdletTestDnsProbe.Type"> <summary> Record type to probe. NXNAME is a denial bitmap signal and cannot be queried directly. </summary> </member> <member name="P:DnsClientX.PowerShell.CmdletTestDnsProbe.DnsProvider"> <summary> Built-in resolver profile to probe. </summary> </member> <member name="P:DnsClientX.PowerShell.CmdletTestDnsProbe.ResolverEndpoint"> <summary> Explicit resolver endpoints to probe. </summary> </member> <member name="P:DnsClientX.PowerShell.CmdletTestDnsProbe.ResolverEndpointFile"> <summary> Files containing resolver endpoints to probe. </summary> </member> <member name="P:DnsClientX.PowerShell.CmdletTestDnsProbe.ResolverEndpointUrl"> <summary> HTTP or HTTPS URLs exposing resolver endpoints to probe. </summary> </member> <member name="P:DnsClientX.PowerShell.CmdletTestDnsProbe.ResolverSelectionPath"> <summary> Path to a saved resolver score snapshot whose recommended resolver should be reused as the single probe candidate. </summary> </member> <member name="P:DnsClientX.PowerShell.CmdletTestDnsProbe.TimeOut"> <summary> Per-query timeout in milliseconds. </summary> </member> <member name="P:DnsClientX.PowerShell.CmdletTestDnsProbe.RequestDnsSec"> <summary> Request DNSSEC records by setting the DO bit. </summary> </member> <member name="P:DnsClientX.PowerShell.CmdletTestDnsProbe.RequestNsid"> <summary>Request resolver identity through EDNS on wire transports.</summary> </member> <member name="P:DnsClientX.PowerShell.CmdletTestDnsProbe.BootstrapResolver"> <summary>Resolve endpoint hostnames through an IP-literal UDP/TCP resolver, such as udp@1.1.1.1:53.</summary> </member> <member name="P:DnsClientX.PowerShell.CmdletTestDnsProbe.ValidateDnsSec"> <summary> Validate DNSSEC signatures. Implies <see cref="P:DnsClientX.PowerShell.CmdletTestDnsProbe.RequestDnsSec"/>. </summary> </member> <member name="P:DnsClientX.PowerShell.CmdletTestDnsProbe.DnsSecVerifierPath"> <summary><para type="description">Local optional DNSSEC provider DLL path, with its dependencies beside it.</para></summary> </member> <member name="P:DnsClientX.PowerShell.CmdletTestDnsProbe.RequireConsensus"> <summary> Require unanimous answer consensus among successful candidates. </summary> </member> <member name="P:DnsClientX.PowerShell.CmdletTestDnsProbe.MinConsensusPercent"> <summary> Require the leading answer group to reach at least this consensus percentage. </summary> </member> <member name="P:DnsClientX.PowerShell.CmdletTestDnsProbe.MinSuccessCount"> <summary> Require at least this many successful probe candidates. </summary> </member> <member name="P:DnsClientX.PowerShell.CmdletTestDnsProbe.MinSuccessPercent"> <summary> Require at least this successful probe percentage across all candidates. </summary> </member> <member name="P:DnsClientX.PowerShell.CmdletTestDnsProbe.IncludeSummary"> <summary> Emits a run-level summary object after the per-candidate probe rows. </summary> </member> <member name="P:DnsClientX.PowerShell.CmdletTestDnsProbe.SummaryOnly"> <summary> Emits only the run-level summary object and suppresses per-candidate rows. </summary> </member> <member name="P:DnsClientX.PowerShell.CmdletTestDnsProbe.SavePath"> <summary> Optional path where the probe score snapshot should be saved for later selection and reuse. </summary> </member> <member name="M:DnsClientX.PowerShell.CmdletTestDnsProbe.ProcessRecordAsync"> <inheritdoc /> </member> <member name="T:DnsClientX.PowerShell.CmdletTestDnsResolverCatalog"> <summary> <para type="synopsis">Validates resolver endpoint catalog inputs without querying DNS.</para> <para type="description">Checks inline resolver endpoints, resolver endpoint files, and resolver endpoint URLs using the same parser used by probe and benchmark workflows.</para> </summary> <example> <para>Validate inline resolver endpoint syntax</para> <code>Test-DnsResolverCatalog -ResolverEndpoint udp@1.1.1.1:53,doh@https://dns.google/dns-query</code> </example> <example> <para>Validate resolver endpoints from a file</para> <code>Test-DnsResolverCatalog -ResolverEndpointFile .\resolvers.txt</code> </example> </member> <member name="P:DnsClientX.PowerShell.CmdletTestDnsResolverCatalog.ResolverEndpoint"> <summary> Inline resolver endpoint entries. </summary> </member> <member name="P:DnsClientX.PowerShell.CmdletTestDnsResolverCatalog.ResolverEndpointFile"> <summary> Files containing resolver endpoint entries. </summary> </member> <member name="P:DnsClientX.PowerShell.CmdletTestDnsResolverCatalog.ResolverEndpointUrl"> <summary> HTTP or HTTPS URLs containing resolver endpoint entries. </summary> </member> <member name="M:DnsClientX.PowerShell.CmdletTestDnsResolverCatalog.ProcessRecordAsync"> <inheritdoc /> </member> <member name="T:DnsClientX.PowerShell.AsyncPSCmdlet"> <summary> Base class for cmdlets that await asynchronous engine work while routing PowerShell pipeline writes back through the synchronous cmdlet pipeline thread. </summary> <remarks> Invoke asynchronous hooks on the PowerShell pipeline thread until their first incomplete await. The base temporarily replaces the host synchronization context with an internal thread-pool context while invoking each hook. This prevents continuations from capturing either the host context or a custom task scheduler that may be running the PowerShell pipeline thread. Keep hook implementations asynchronous all the way through and pass <see cref="P:DnsClientX.PowerShell.AsyncPSCmdlet.CancelToken"/> to cancellable engine operations. Do not block with Task.Wait, Task.Result, or Task.WaitAll. </remarks> </member> <member name="T:DnsClientX.PowerShell.AsyncPSCmdlet.CapturedPipelineStreams"> <summary> Lifecycle-bound stream writers for callbacks that do not flow the hook execution context. </summary> </member> <member name="M:DnsClientX.PowerShell.AsyncPSCmdlet.CapturedPipelineStreams.WriteObject(System.Object,System.Boolean)"> <summary>Queues an output record for the originating hook.</summary> </member> <member name="M:DnsClientX.PowerShell.AsyncPSCmdlet.CapturedPipelineStreams.WriteError(System.Management.Automation.ErrorRecord)"> <summary>Queues an error record for the originating hook.</summary> </member> <member name="M:DnsClientX.PowerShell.AsyncPSCmdlet.CapturedPipelineStreams.WriteWarning(System.String)"> <summary>Queues a warning record for the originating hook.</summary> </member> <member name="M:DnsClientX.PowerShell.AsyncPSCmdlet.CapturedPipelineStreams.WriteVerbose(System.String)"> <summary>Queues a verbose record for the originating hook.</summary> </member> <member name="M:DnsClientX.PowerShell.AsyncPSCmdlet.CapturedPipelineStreams.WriteDebug(System.String)"> <summary>Queues a debug record for the originating hook.</summary> </member> <member name="M:DnsClientX.PowerShell.AsyncPSCmdlet.CapturedPipelineStreams.WriteInformation(System.Management.Automation.InformationRecord)"> <summary>Queues an information record for the originating hook.</summary> </member> <member name="M:DnsClientX.PowerShell.AsyncPSCmdlet.CapturedPipelineStreams.WriteInformation(System.Object,System.String[])"> <summary>Queues tagged information for the originating hook.</summary> </member> <member name="M:DnsClientX.PowerShell.AsyncPSCmdlet.CapturedPipelineStreams.WriteProgress(System.Management.Automation.ProgressRecord)"> <summary>Queues a progress record for the originating hook.</summary> </member> <member name="M:DnsClientX.PowerShell.AsyncPSCmdlet.CapturedPipelineStreams.WriteCommandDetail(System.String)"> <summary>Queues command-detail text for the originating hook.</summary> </member> <member name="P:DnsClientX.PowerShell.AsyncPSCmdlet.CancelToken"> <summary>Cancellation token triggered when PowerShell stops the cmdlet.</summary> </member> <member name="M:DnsClientX.PowerShell.AsyncPSCmdlet.BeginProcessing"> <inheritdoc /> </member> <member name="M:DnsClientX.PowerShell.AsyncPSCmdlet.BeginProcessingAsync"> <summary>Asynchronous begin hook.</summary> </member> <member name="M:DnsClientX.PowerShell.AsyncPSCmdlet.ProcessRecord"> <inheritdoc /> </member> <member name="M:DnsClientX.PowerShell.AsyncPSCmdlet.ProcessRecordAsync"> <summary>Asynchronous process-record hook.</summary> </member> <member name="M:DnsClientX.PowerShell.AsyncPSCmdlet.EndProcessing"> <inheritdoc /> </member> <member name="M:DnsClientX.PowerShell.AsyncPSCmdlet.EndProcessingAsync"> <summary>Asynchronous end hook.</summary> </member> <member name="M:DnsClientX.PowerShell.AsyncPSCmdlet.StopProcessing"> <inheritdoc /> </member> <member name="M:DnsClientX.PowerShell.AsyncPSCmdlet.ShouldProcess(System.String)"> <summary>Thread-safe ShouldProcess bridge for asynchronous cmdlet code.</summary> </member> <member name="M:DnsClientX.PowerShell.AsyncPSCmdlet.ShouldProcess(System.String,System.String)"> <summary>Thread-safe ShouldProcess bridge for asynchronous cmdlet code.</summary> </member> <member name="M:DnsClientX.PowerShell.AsyncPSCmdlet.ShouldProcess(System.String,System.String,System.String)"> <summary>Thread-safe ShouldProcess bridge for asynchronous cmdlet code.</summary> </member> <member name="M:DnsClientX.PowerShell.AsyncPSCmdlet.ShouldProcess(System.String,System.String,System.String,System.Management.Automation.ShouldProcessReason@)"> <summary>Thread-safe ShouldProcess bridge for asynchronous cmdlet code.</summary> </member> <member name="M:DnsClientX.PowerShell.AsyncPSCmdlet.ShouldContinue(System.String,System.String)"> <summary>Thread-safe ShouldContinue bridge for asynchronous cmdlet code.</summary> </member> <member name="M:DnsClientX.PowerShell.AsyncPSCmdlet.ShouldContinue(System.String,System.String,System.Boolean@,System.Boolean@)"> <summary>Thread-safe ShouldContinue bridge for asynchronous cmdlet code.</summary> </member> <member name="M:DnsClientX.PowerShell.AsyncPSCmdlet.ShouldContinue(System.String,System.String,System.Boolean,System.Boolean@,System.Boolean@)"> <summary>Thread-safe ShouldContinue bridge for asynchronous cmdlet code.</summary> </member> <member name="M:DnsClientX.PowerShell.AsyncPSCmdlet.PromptForCredential(System.String,System.String,System.String,System.String)"> <summary>Thread-safe credential prompt bridge for asynchronous cmdlet code.</summary> </member> <member name="M:DnsClientX.PowerShell.AsyncPSCmdlet.PromptForCredential(System.String,System.String,System.String,System.String,System.Management.Automation.PSCredentialTypes,System.Management.Automation.PSCredentialUIOptions)"> <summary>Thread-safe credential prompt bridge for asynchronous cmdlet code.</summary> </member> <member name="M:DnsClientX.PowerShell.AsyncPSCmdlet.WriteObject(System.Object)"> <summary>Thread-safe output bridge for asynchronous cmdlet code.</summary> </member> <member name="M:DnsClientX.PowerShell.AsyncPSCmdlet.WriteObject(System.Object,System.Boolean)"> <summary>Thread-safe output bridge for asynchronous cmdlet code.</summary> </member> <member name="M:DnsClientX.PowerShell.AsyncPSCmdlet.WriteError(System.Management.Automation.ErrorRecord)"> <summary>Thread-safe error bridge for asynchronous cmdlet code.</summary> </member> <member name="M:DnsClientX.PowerShell.AsyncPSCmdlet.ThrowTerminatingError(System.Management.Automation.ErrorRecord)"> <summary>Thread-safe terminating-error bridge for asynchronous cmdlet code.</summary> </member> <member name="M:DnsClientX.PowerShell.AsyncPSCmdlet.WriteWarning(System.String)"> <summary>Thread-safe warning bridge for asynchronous cmdlet code.</summary> </member> <member name="M:DnsClientX.PowerShell.AsyncPSCmdlet.WriteVerbose(System.String)"> <summary>Thread-safe verbose bridge for asynchronous cmdlet code.</summary> </member> <member name="M:DnsClientX.PowerShell.AsyncPSCmdlet.WriteDebug(System.String)"> <summary>Thread-safe debug bridge for asynchronous cmdlet code.</summary> </member> <member name="M:DnsClientX.PowerShell.AsyncPSCmdlet.WriteCommandDetail(System.String)"> <summary>Thread-safe command-detail bridge for asynchronous cmdlet code.</summary> </member> <member name="M:DnsClientX.PowerShell.AsyncPSCmdlet.WriteInformation(System.Management.Automation.InformationRecord)"> <summary>Thread-safe information bridge for asynchronous cmdlet code.</summary> </member> <member name="M:DnsClientX.PowerShell.AsyncPSCmdlet.WriteInformation(System.Object,System.String[])"> <summary>Thread-safe information bridge for asynchronous cmdlet code.</summary> </member> <member name="M:DnsClientX.PowerShell.AsyncPSCmdlet.WriteProgress(System.Management.Automation.ProgressRecord)"> <summary>Thread-safe progress bridge for asynchronous cmdlet code.</summary> </member> <member name="M:DnsClientX.PowerShell.AsyncPSCmdlet.ThrowIfStopped"> <summary>Throws when PowerShell has requested cancellation.</summary> </member> <member name="M:DnsClientX.PowerShell.AsyncPSCmdlet.Dispose"> <inheritdoc /> </member> <member name="M:DnsClientX.PowerShell.AsyncPSCmdlet.CapturePipelineWriter(System.Boolean)"> <summary> Captures an output writer for callbacks whose producer does not flow the hook execution context. </summary> <remarks> Capture the writer inside an asynchronous PowerShell hook. Calls made after that hook ends are rejected rather than being rebound to a later record lifecycle. </remarks> </member> <member name="M:DnsClientX.PowerShell.AsyncPSCmdlet.CapturePipelineStreams"> <summary> Captures lifecycle-bound typed stream writers for callbacks that do not flow execution context. </summary> </member> <member name="T:DnsClientX.PowerShell.InternalLoggerPowerShell"> <summary> This class allow connecting to the InternalLogger class of ADPlayground and act on events from it in different streams </summary> </member> <member name="M:DnsClientX.PowerShell.InternalLoggerPowerShell.#ctor(DnsClientX.InternalLogger,System.Action{System.String},System.Action{System.String},System.Action{System.String},System.Action{System.Management.Automation.ErrorRecord},System.Action{System.Management.Automation.ProgressRecord},System.Action{System.Management.Automation.InformationRecord})"> <summary> Initialize the InternalLoggerPowerShell class </summary> <param name="logger"></param> <param name="writeVerboseAction"></param> <param name="writeWarningAction"></param> <param name="writeDebugAction"></param> <param name="writeErrorAction"></param> <param name="writeProgressAction"></param> <param name="writeInformationAction"></param> </member> <member name="M:DnsClientX.PowerShell.InternalLoggerPowerShell.Logger_OnVerboseMessage(System.Object,DnsClientX.LogEventArgs)"> <summary> Message event handler </summary> <param name="sender"></param> <param name="e"></param> </member> <member name="M:DnsClientX.PowerShell.InternalLoggerPowerShell.WriteVerbose(System.String,System.Object[])"> <summary> Method to write verbose message to PowerShell </summary> <param name="message"></param> <param name="eArgs"></param> </member> <member name="T:OnModuleImportAndRemove"> <summary> OnModuleImportAndRemove is a class that implements the IModuleAssemblyInitializer and IModuleAssemblyCleanup interfaces. This class is used to handle the assembly resolve event when the module is imported and removed. </summary> </member> <member name="M:OnModuleImportAndRemove.OnImport"> <inheritdoc /> </member> <member name="M:OnModuleImportAndRemove.OnRemove(System.Management.Automation.PSModuleInfo)"> <inheritdoc /> </member> <member name="M:OnModuleImportAndRemove.MyResolveEventHandler(System.Object,System.ResolveEventArgs)"> <summary> MyResolveEventHandler is a method that handles the AssemblyResolve event. </summary> <param name="sender"></param> <param name="args"></param> <returns></returns> </member> <member name="M:OnModuleImportAndRemove.IsNetFramework"> <summary> Determine if the current runtime is .NET Framework </summary> <returns></returns> </member> </members> </doc> |