< Back

Publish-DnsChallenge

Sat Jan 18, 2020 7:32 pm

NAME Publish-DnsChallenge



SYNOPSIS

Publish the required TXT record for a dns-01 authorization challenge.





SYNTAX

Publish-DnsChallenge [-Domain] <String> [-Account] <Object> [-Token] <String> [-Plugin] <String> [[-PluginArgs]

<Hashtable>] [-NoPrefix] [<CommonParameters>]





DESCRIPTION

Uses one of the DNS plugins and its associated parameters to write a TXT record to DNS that satisfies the dns-01

authorization challenge in an ACME order.



Depending on the plugin, calling Save-DnsChallenge may be required to commit changes to the DNS server. If

multiple challenges are being published, make all Publish-DnsChallenge calls first. Then, Save-DnsChallenge once

to commit them all.





PARAMETERS

-Domain <String>

The domain name that the TXT record will be written for.



Required? true

Position? 1

Default value

Accept pipeline input? false

Accept wildcard characters? false



-Account <Object>

The account object associated with the order that requires the challenge.



Required? true

Position? 2

Default value

Accept pipeline input? false

Accept wildcard characters? false



-Token <String>

The DNS01Token value from the authorization object in the order.



Required? true

Position? 3

Default value

Accept pipeline input? false

Accept wildcard characters? false



-Plugin <String>

The name of the DNS plugin to use. Use Get-DnsPlugins to display a list of available plugins.



Required? true

Position? 4

Default value

Accept pipeline input? false

Accept wildcard characters? false



-PluginArgs <Hashtable>

A hashtable containing the plugin arguments to use with the specified DnsPlugin list. So if a plugin has a

-MyText string and -MyNumber integer parameter, you could specify them as @{MyText='text';MyNumber=1234}.



Required? false

Position? 5

Default value

Accept pipeline input? false

Accept wildcard characters? false



-NoPrefix [<SwitchParameter>]

If specified, '_acme-challenge.' will not be added to record name being written in DNS. This normally only

used when using challenge aliases.



Required? false

Position? named

Default value False

Accept pipeline input? false

Accept wildcard characters? false



<CommonParameters>

This cmdlet supports the common parameters: Verbose, Debug,

ErrorAction, ErrorVariable, WarningAction, WarningVariable,

OutBuffer, PipelineVariable, and OutVariable. For more information, see

about_CommonParameters (https:/go.microsoft.com/fwlink/?LinkID=113216).



INPUTS



OUTPUTS



-------------------------- EXAMPLE 1 --------------------------



PS C:\\>$auths = Get-PAOrder | Get-PAAuthorizations



PS C:\\>Publish-DnsChallenge $auths[0].fqdn (Get-PAAccount) $auths[0].DNS01Token Manual @{}



Publish the DNS challenge for the first authorization in the current order using the Manual DNS plugin.









-------------------------- EXAMPLE 2 --------------------------



PS C:\\>$auths = Get-PAOrder | Get-PAAuthorizations



PS C:\\>$acct = Get-PAAccount

PS C:\\>$auths | %{ Publish-DnsChallenge $_.fqdn $acct $_.DNS01Token Flurbog

@{FBServer='127.0.0.1';FBToken='abc123'} }



Publish all DNS challenges for the current order using the Flurbog DNS plugin.











RELATED LINKS

Project: https://github.com/rmbolger/Posh-ACME

Unpublish-DnsChallenge

Save-DnsChallenge

Get-DnsPlugins

Get-DnsPluginHelp