Set-AdfsProperties

Set-AdfsProperties

Sets the properties that control global behaviors in AD FS.

Syntax

Parameter Set: Default
Set-AdfsProperties [-AcceptableIdentifiers <Uri[]> ] [-AddProxyAuthorizationRules <String> ] [-ArtifactDbConnection <String> ] [-AuthenticationContextOrder <Uri[]> ] [-AutoCertificateRollover <Boolean> ] [-CertificateCriticalThreshold <Int32> ] [-CertificateDuration <Int32> ] [-CertificateGenerationThreshold <Int32> ] [-CertificatePromotionThreshold <Int32> ] [-CertificateRolloverInterval <Int32> ] [-CertificateThresholdMultiplier <Int32> ] [-ClientCertRevocationCheck <String> ] [-ContactPerson <ContactPerson> ] [-DisplayName <String> ] [-EnableExtranetLockout <Boolean> ] [-EnableKmsi <Boolean> ] [-EnableLoopDetection <Boolean> ] [-EnablePersistentSso <Boolean> ] [-ExtendedProtectionTokenCheck <String> ] [-ExtranetLockoutThreshold <Int32> ] [-ExtranetObservationWindow <TimeSpan> ] [-FederationPassiveAddress <String> ] [-HostName <String> ] [-HttpPort <Int32> ] [-HttpsPort <Int32> ] [-Identifier <Uri> ] [-IntranetUseLocalClaimsProvider <Boolean> ] [-LogLevel <String[]> ] [-LoopDetectionMaximumTokensIssuedInInterval <Int32> ] [-LoopDetectionTimeIntervalInSeconds <Int32> ] [-MonitoringInterval <Int32> ] [-NetTcpPort <Int32> ] [-NtlmOnlySupportedClientAtProxy <Boolean> ] [-OrganizationInfo <Organization> ] [-PassThru] [-PersistentSsoCutoffTime <DateTime> ] [-PersistentSsoLifetimeMins <Int32> ] [-PreventTokenReplays <Boolean> ] [-ProxyTrustTokenLifetime <Int32> ] [-ReplayCacheExpirationInterval <Int32> ] [-SamlMessageDeliveryWindow <Int32> ] [-SendClientRequestIdAsQueryStringParameter <Boolean> ] [-SignedSamlRequestsRequired <Boolean> ] [-SignSamlAuthnRequests <Boolean> ] [-SsoEnabled <Boolean> ] [-SsoLifetime <Int32> ] [-TlsClientPort <Int32> ] [-WIASupportedUserAgents <String[]> ] [-Confirm] [-WhatIf] [ <CommonParameters>]

Detailed Description

The Set-AdfsProperties cmdlet sets the properties that control global behaviors in Active Directory Federation Services (AD FS).

Parameters

-AcceptableIdentifiers<Uri[]>

Specifies an array of identifiers that are acceptable names for the Federation Service when it checks the audience for claims that it receives from another claims provider.

Aliases

none

Required?

false

Position?

named

Default Value

none

Accept Pipeline Input?

false

Accept Wildcard Characters?

false

-AddProxyAuthorizationRules<String>

This parameter is deprecated.

Aliases

none

Required?

false

Position?

named

Default Value

none

Accept Pipeline Input?

false

Accept Wildcard Characters?

false

-ArtifactDbConnection<String>

Specifies the connection string to use for the database that maintains the artifacts that the artifact resolution service uses.

Aliases

none

Required?

false

Position?

named

Default Value

none

Accept Pipeline Input?

false

Accept Wildcard Characters?

false

-AuthenticationContextOrder<Uri[]>

Specifies an array of authentication contexts, in order of relative strength. Specify each authentication context as a URI.

Aliases

none

Required?

false

Position?

named

Default Value

none

Accept Pipeline Input?

false

Accept Wildcard Characters?

false

-AutoCertificateRollover<Boolean>

Indicates whether the system manages certificates for the administrator and generates new certificates before the expiration date of current certificates. By default, this setting is enabled for a new instance of AD FS.

Aliases

none

Required?

false

Position?

named

Default Value

none

Accept Pipeline Input?

false

Accept Wildcard Characters?

false

-CertificateCriticalThreshold<Int32>

Specifies the period of time, in days, prior to the expiration of a current primary signing or decryption certificate. When a certificate reaches this threshold, the Federation Service initiates the automatic certificate rollover service, generates a new certificate, and promotes it as the primary certificate. This rollover process occurs even if the critical threshold interval does not provide sufficient time for partners to replicate the new metadata. Specify a short period of time that is used only in extreme conditions when the Federation Service has not been able to generate a new certificate in advance.

Aliases

none

Required?

false

Position?

named

Default Value

2

Accept Pipeline Input?

false

Accept Wildcard Characters?

false

-CertificateDuration<Int32>

Specifies the period of time, in days, that any certificates that the Federation Service generates remain valid.

Aliases

none

Required?

false

Position?

named

Default Value

365

Accept Pipeline Input?

false

Accept Wildcard Characters?

false

-CertificateGenerationThreshold<Int32>

Specifies the period of time, in days, before the Federation Service generates a new primary certificate to replace the current primary certificate. When a certificate reaches this threshold, the Federation Service initiates an automatic certificate rollover process that generates a new certificate and adds it to the secondary collection. This rollover process occurs so that federation partners can consume this metadata in advance and trust is not broken when this newly generated certificate is promoted to be a primary certificate.

Aliases

none

Required?

false

Position?

named

Default Value

20

Accept Pipeline Input?

false

Accept Wildcard Characters?

false

-CertificatePromotionThreshold<Int32>

Specifies the period of time, in days, during which a newly generated certificate remains a secondary certificate before being promoted as the primary certificate.

Aliases

none

Required?

false

Position?

named

Default Value

5

Accept Pipeline Input?

false

Accept Wildcard Characters?

false

-CertificateRolloverInterval<Int32>

Specifies the certificate rollover interval, in minutes. This value determines the frequency at which the Federation Service initiates the rollover service by polling to check whether new certificates need to be generated.

Aliases

none

Required?

false

Position?

named

Default Value

720

Accept Pipeline Input?

false

Accept Wildcard Characters?

false

-CertificateThresholdMultiplier<Int32>

Specifies the certificate threshold multiplier. By default, this parameter uses the number of minutes in a day (1440) as a multiplier. Change this value only if you want to use a more finely detailed measure of time, such as less than a single day, for calculating the time periods for other certificate threshold parameters.

Aliases

none

Required?

false

Position?

named

Default Value

1440

Accept Pipeline Input?

false

Accept Wildcard Characters?

false

-ClientCertRevocationCheck<String>

Do not use this parameter. Instead, use the netsh http command to configure certificate settings.

Aliases

none

Required?

false

Position?

named

Default Value

none

Accept Pipeline Input?

false

Accept Wildcard Characters?

false

-ContactPerson<ContactPerson>

Specifies the contact information for support issues.

Aliases

none

Required?

false

Position?

named

Default Value

none

Accept Pipeline Input?

false

Accept Wildcard Characters?

false

-DisplayName<String>

Specifies a friendly name for the Federation Service.

Aliases

none

Required?

false

Position?

named

Default Value

none

Accept Pipeline Input?

false

Accept Wildcard Characters?

false

-EnableExtranetLockout<Boolean>

Indicates whether to enable the lockout algorithm for extranet. When enabled, AD FS checks attributes in Active Directory for the user before validating the credential. If the user is determined to be in lockout state, AD FS will deny the request to the user when accessing from the extranet, to prevent random login attempts from the extranet. Intranet access will continue to be validated against Active Directory. By default, this feature is disabled in a new instance of AD FS and must be explicitly enabled by the administrator.

Note: When this feature is enabled AD FS must be able to contact the Primary Domain Controller (PDC) of the user’s domain.

Aliases

none

Required?

false

Position?

named

Default Value

none

Accept Pipeline Input?

false

Accept Wildcard Characters?

false

-EnableKmsi<Boolean>

Indicates whether to enable the Keep Me Signed In (KMSI) option for form-based authentication. KMSI is limited to providing only 24 hours of SSO. Note that a workplace joined device gets 7 days of SSO by default and does not need this option enabled.

Aliases

none

Required?

false

Position?

named

Default Value

False

Accept Pipeline Input?

false

Accept Wildcard Characters?

false

-EnableLoopDetection<Boolean>

Indicates whether to enable loop detection. Loops occur when a relying party continuously rejects a valid security token and redirects back to AD FS. The cycle terminates after 6 loops have been detected.

Aliases

none

Required?

false

Position?

named

Default Value

none

Accept Pipeline Input?

false

Accept Wildcard Characters?

false

-EnablePersistentSso<Boolean>

Indicates whether to store the single sign-on (SSO) token in persistent cookies for devices joined to a workplace.

Aliases

none

Required?

false

Position?

named

Default Value

True

Accept Pipeline Input?

false

Accept Wildcard Characters?

false

-ExtendedProtectionTokenCheck<String>

Specifies the level of extended protection for authentication supported by the federation server. Extended Protection for Authentication helps protect against man-in-the-middle (MITM) attacks, in which an attacker intercepts a client's credentials and forwards them to a server. Protection against such attacks is made possible through a Channel Binding Token (CBT) which can be either required, allowed or not required by the server when establishing communications with clients.

The acceptable values for this parameter are:

-- Require. Server is fully hardened, extended protection is enforced
-- Allow. Server is partially hardened, extended protection is enforced where systems involved have been patched to support it
-- None. Server is vulnerable, extended protection is not enforced

The default setting is Allow.

Aliases

none

Required?

false

Position?

named

Default Value

none

Accept Pipeline Input?

false

Accept Wildcard Characters?

false

-ExtranetLockoutThreshold<Int32>

Specifies the maximum number of bad password attempts permitted against the directory before the account is throttled when accessing applications from the extranet. If you use Active Directory® Domain Services account lockout policies, it is strongly recommended that you set this threshold to a value that is less than the threshold in to avoid lockout of the user inside and outside the network.

Aliases

none

Required?

false

Position?

named

Default Value

none

Accept Pipeline Input?

false

Accept Wildcard Characters?

false

-ExtranetObservationWindow<TimeSpan>

Specifies the timespan of the lockout observation window. AD FS will reset a throttled state of an account when more than one observation window has expired since the last bad password attempt, as reported by Active Directory Domain Services. It is also possible that the last bad password field in is cleared by based on its own observation windows. In this case, AD FS will allow the request to be passed onto for validation.

Aliases

none

Required?

false

Position?

named

Default Value

none

Accept Pipeline Input?

false

Accept Wildcard Characters?

false

-FederationPassiveAddress<String>

Do not use this parameter.

Aliases

none

Required?

false

Position?

named

Default Value

none

Accept Pipeline Input?

false

Accept Wildcard Characters?

false

-HostName<String>

Specifies the network addressable host name of the Federation Service.

Aliases

none

Required?

false

Position?

named

Default Value

none

Accept Pipeline Input?

false

Accept Wildcard Characters?

false

-HttpPort<Int32>

Specifies the HTTP port for the server.

Aliases

none

Required?

false

Position?

named

Default Value

none

Accept Pipeline Input?

false

Accept Wildcard Characters?

false

-HttpsPort<Int32>

Specifies the HTTPS port for the server.

Aliases

none

Required?

false

Position?

named

Default Value

none

Accept Pipeline Input?

false

Accept Wildcard Characters?

false

-Identifier<Uri>

Specifies the URI that uniquely identifies the Federation Service.

Aliases

none

Required?

false

Position?

named

Default Value

none

Accept Pipeline Input?

false

Accept Wildcard Characters?

false

-IntranetUseLocalClaimsProvider<Boolean>

Indicates whether all web based requests from the intranet default to the default Active Directory claims provider. Use this parameter only when there is more than one claims provider trust in AD FS and you want all user access from the intranet to use the default Active Directory for authentication.

Aliases

none

Required?

false

Position?

named

Default Value

none

Accept Pipeline Input?

false

Accept Wildcard Characters?

false

-LogLevel<String[]>

Specifies an array of log detail. The array defines which types of events to record. The acceptable values for this parameter are:

-- Errors
-- Warnings
-- Information
-- SuccessAudits
-- FailureAudits

Aliases

none

Required?

false

Position?

named

Default Value

none

Accept Pipeline Input?

false

Accept Wildcard Characters?

false

-LoopDetectionMaximumTokensIssuedInInterval<Int32>

Specifies the maximum number of tokens that can be issued within the time period specified by the LoopDetectionTimeIntervalInSeconds parameter before AD FS will reject the request and present an error to the user. Use in conjunction with the LoopDetectionMaximumTokensIssuedInInterval parameter.

Aliases

none

Required?

false

Position?

named

Default Value

none

Accept Pipeline Input?

false

Accept Wildcard Characters?

false

-LoopDetectionTimeIntervalInSeconds<Int32>

Specifies the time interval in seconds for AD FS to track multiple token requests that are occurring and being rejected by the relying party causing a redirect back to AD FS for a new token request. Use in conjunction with the LoopDetectionMaximumTokensIssuedInInterval parameter.

Aliases

none

Required?

false

Position?

named

Default Value

none

Accept Pipeline Input?

false

Accept Wildcard Characters?

false

-MonitoringInterval<Int32>

Specifies the frequency, in minutes, with which the Federation Service monitors the federation metadata of relying parties and claims providers that are enabled for federation metadata monitoring.

Aliases

none

Required?

false

Position?

named

Default Value

none

Accept Pipeline Input?

false

Accept Wildcard Characters?

false

-NetTcpPort<Int32>

Specifies the TCP port number for the server.

Aliases

none

Required?

false

Position?

named

Default Value

none

Accept Pipeline Input?

false

Accept Wildcard Characters?

false

-NtlmOnlySupportedClientAtProxy<Boolean>

Indicates whether to enable support for NTLM-based authentication in situations where the active federation server proxy does not support Negotiate method of authentication. This setting only affects the Windows transport endpoint. If this value is changed, the federation server proxy needs to be restarted.

Aliases

none

Required?

false

Position?

named

Default Value

none

Accept Pipeline Input?

false

Accept Wildcard Characters?

false

-OrganizationInfo<Organization>

Specifies information about the organization as published in the federation metadata for the Federation Service.

Aliases

none

Required?

false

Position?

named

Default Value

none

Accept Pipeline Input?

false

Accept Wildcard Characters?

false

-PassThru

Returns an object representing the item with which you are working. By default, this cmdlet does not generate any output.

Aliases

none

Required?

false

Position?

named

Default Value

none

Accept Pipeline Input?

false

Accept Wildcard Characters?

false

-PersistentSsoCutoffTime<DateTime>

Specifies the earliest issue time of accepted persistent single sign-on (SSO) tokens and OAuth refresh tokens. Persistent SSO tokens or OAuth refresh tokens issued before this time will be rejected. Use this only to reject all prior SSO state across all users and force users to provide fresh credentials.

Aliases

none

Required?

false

Position?

named

Default Value

1/1/0001 12:00:00 AM in UTC

Accept Pipeline Input?

false

Accept Wildcard Characters?

false

-PersistentSsoLifetimeMins<Int32>

Specifies the duration, in minutes, of the persistent single sign-on (SSO) experience.

Aliases

none

Required?

false

Position?

named

Default Value

10080

Accept Pipeline Input?

false

Accept Wildcard Characters?

false

-PreventTokenReplays<Boolean>

Indicates whether the Federation Service prevents the replay of security tokens.

Aliases

none

Required?

false

Position?

named

Default Value

none

Accept Pipeline Input?

false

Accept Wildcard Characters?

false

-ProxyTrustTokenLifetime<Int32>

Specifies the valid token lifetime, in minutes, for proxy trust tokens. This value is used by the federation server proxy to authenticate with its associated federation server.

Aliases

none

Required?

false

Position?

named

Default Value

none

Accept Pipeline Input?

false

Accept Wildcard Characters?

false

-ReplayCacheExpirationInterval<Int32>

Specifies the cache duration, in minutes, for token replay detection. This value determines the lifetime for tokens in the replay cache. When the age of a cached token exceeds this interval, the Federation Service determines the token has expired and does not allow replay of it.

Aliases

none

Required?

false

Position?

named

Default Value

none

Accept Pipeline Input?

false

Accept Wildcard Characters?

false

-SamlMessageDeliveryWindow<Int32>

Specifies the duration, in minutes, for which the Security Assertion Markup Language (SAML) messages sent by the Federation Service are considered valid.

Aliases

none

Required?

false

Position?

named

Default Value

none

Accept Pipeline Input?

false

Accept Wildcard Characters?

false

-SendClientRequestIdAsQueryStringParameter<Boolean>

Indicates whether the client request id, or activity id, is sent as a query string on any redirect from AD FS that is sent to itself. This enables all servers in AD FS to use the same client request id when logging any messages in eventlogs, traces and audits. As a result, it is easier to troubleshoot a single request across multiple AD FS servers in the farm. The default value is $True.

Aliases

none

Required?

false

Position?

named

Default Value

none

Accept Pipeline Input?

false

Accept Wildcard Characters?

false

-SignedSamlRequestsRequired<Boolean>

Indicates whether the Federation Service requires signed SAML protocol requests from the relying party. If you specify a value of $True, the Federation Service rejects unsigned SAML protocol requests.

Aliases

none

Required?

false

Position?

named

Default Value

none

Accept Pipeline Input?

false

Accept Wildcard Characters?

false

-SignSamlAuthnRequests<Boolean>

Indicates whether the Federation Service signs SAML protocol authentication requests to claims providers.

Aliases

none

Required?

false

Position?

named

Default Value

none

Accept Pipeline Input?

false

Accept Wildcard Characters?

false

-SsoEnabled<Boolean>

This parameter is deprecated.

Aliases

none

Required?

false

Position?

named

Default Value

none

Accept Pipeline Input?

false

Accept Wildcard Characters?

false

-SsoLifetime<Int32>

Specifies the duration, in minutes, of the single sign-on (SSO) experience for Web browser clients.

Aliases

none

Required?

false

Position?

named

Default Value

none

Accept Pipeline Input?

false

Accept Wildcard Characters?

false

-TlsClientPort<Int32>

Specifies the port number where AD FS listens for user certificate authentication requests. Use this only when user certificate authentication is used in AD FS.

Aliases

none

Required?

false

Position?

named

Default Value

49443

Accept Pipeline Input?

false

Accept Wildcard Characters?

false

-WIASupportedUserAgents<String[]>

Specifies an array of acceptable user agents that support seamless sign-in with Windows Integrated Authentication. If AD FS receives a token request and policy selects Windows Integrated Authentication, AD FS uses this list to determine if it needs to fall back to forms-based authentication. When the user agent for the incoming request is not in this list, AD FS falls back to forms-based authentication.

Aliases

none

Required?

false

Position?

named

Default Value

MSIE 6.0, MSIE 7.0, MSIE 8.0, MSIE 9.0, MSIE 10.0, Trident/7.0, MSIPC, Windows Rights Management Client

Accept Pipeline Input?

false

Accept Wildcard Characters?

false

-Confirm

Prompts you for confirmation before running the cmdlet.

Required?

false

Position?

named

Default Value

false

Accept Pipeline Input?

false

Accept Wildcard Characters?

false

-WhatIf

Shows what would happen if the cmdlet runs. The cmdlet is not run.

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, -OutBuffer, and -OutVariable. For more information, see    about_CommonParameters (https://go.microsoft.com/fwlink/p/?LinkID=113216).

Inputs

The input type is the type of the objects that you can pipe to the cmdlet.

Outputs

The output type is the type of the objects that the cmdlet emits.

  • System.Object

Examples

Example 1: Set the ADFS properties

The first command creates a TimsSpan object and stores the result in the variable named $Timespan.

The second command sets an extranet lockout algorithm with a threshold of 4 max bad password attempts before lockout. The command also sets the observation window for the value stored in the $Timespan variable.

PS C:\> $Timespan = New-TimeSpan -Minutes 60
PS C:\> Set-AdfsProperties -EnableExtranetLockout $True -ExtranetLockoutThreshold 4 -ExtranetObservationWindow $Timespan

Get-AdfsProperties