Set-KdsConfiguration
Set-KdsConfiguration
Sets the configuration of Microsoft Group Key Distribution Service (KdsSvc).
Syntax
Parameter Set: InputObject
Set-KdsConfiguration [-InputObject] <KdsServerConfiguration> [-LocalTestOnly] [-Confirm] [-WhatIf] [ <CommonParameters>]
Parameter Set: KdsConfiguration
Set-KdsConfiguration [-KdfAlgorithm <String> ] [-KdfParameters <Byte[]> ] [-LocalTestOnly] [-SecretAgreementAlgorithm <String> ] [-SecretAgreementParameters <Byte[]> ] [-SecretAgreementPrivateKeyLength <Int32> ] [-SecretAgreementPublicKeyLength <Int32> ] [-Confirm] [-WhatIf] [ <CommonParameters>]
Parameter Set: RevertToDefault
Set-KdsConfiguration -RevertToDefault [-LocalTestOnly] [-Confirm] [-WhatIf] [ <CommonParameters>]
Detailed Description
The Set-KdsConfiguration cmdlet sets the configuration of Microsoft Group Key Distribution Service (KdsSvc). This cmdlet sets the following configuration data:
-- The key derivation function algorithm and parameters used to generate private group keys
-- The secret agreement algorithm and parameters used to generate public group keys.
This cmdlet also validates input by performing key derivation function tests and secret agreement tests.
Parameters
-InputObject<KdsServerConfiguration>
Specifies the server configuration object that contains the configuration information of the Microsoft Group KdsSvc.
Aliases |
none |
Required? |
true |
Position? |
1 |
Default Value |
none |
Accept Pipeline Input? |
True (ByValue) |
Accept Wildcard Characters? |
false |
-KdfAlgorithm<String>
Specifies the name of the key derivation function algorithm that the key distribution server uses to generate the keys.
Aliases |
none |
Required? |
false |
Position? |
named |
Default Value |
none |
Accept Pipeline Input? |
True (ByPropertyName) |
Accept Wildcard Characters? |
false |
-KdfParameters<Byte[]>
Specifies the parameters for the key derivation function used to generate the group private key. If this parameter is not specified or this parameter is set to $null, then no key derivation function parameters are needed.
Aliases |
none |
Required? |
false |
Position? |
named |
Default Value |
none |
Accept Pipeline Input? |
True (ByPropertyName) |
Accept Wildcard Characters? |
false |
-LocalTestOnly
Indicates that the cmdlet only validates the new group key distribution service configuration on the local computer, and does not store the key in Active Directory (AD).
If this parameter is specified, then the cmdlet returns a value that indicates whether the test passed.
If this parameter is not specified, then the cmdlet returns the new server configuration object.
Aliases |
none |
Required? |
false |
Position? |
named |
Default Value |
none |
Accept Pipeline Input? |
false |
Accept Wildcard Characters? |
false |
-RevertToDefault
Indicates that the customized service configuration is reverted to the default configuration.
Aliases |
none |
Required? |
true |
Position? |
named |
Default Value |
FALSE |
Accept Pipeline Input? |
false |
Accept Wildcard Characters? |
false |
-SecretAgreementAlgorithm<String>
Specifies the name of the secret agreement algorithm used to generate a group public key.
Aliases |
none |
Required? |
false |
Position? |
named |
Default Value |
none |
Accept Pipeline Input? |
True (ByPropertyName) |
Accept Wildcard Characters? |
false |
-SecretAgreementParameters<Byte[]>
Specifies the parameters for the secret agreement algorithm. If this parameter is not specified or this parameter is set to $null, then no secret agreement algorithm parameters are needed.
Aliases |
none |
Required? |
false |
Position? |
named |
Default Value |
none |
Accept Pipeline Input? |
True (ByPropertyName) |
Accept Wildcard Characters? |
false |
-SecretAgreementPrivateKeyLength<Int32>
Specifies the length of the private key used in the secret agreement algorithm.
Aliases |
none |
Required? |
false |
Position? |
named |
Default Value |
none |
Accept Pipeline Input? |
True (ByPropertyName) |
Accept Wildcard Characters? |
false |
-SecretAgreementPublicKeyLength<Int32>
Specifies the length of the public key used in the secret agreement algorithm.
Aliases |
none |
Required? |
false |
Position? |
named |
Default Value |
none |
Accept Pipeline Input? |
True (ByPropertyName) |
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.
Microsoft.KeyDistributionService.KdsServerConfiguration
The KdsServerConfiguration object contains configuration information for the Microsoft Group KdsSvc.
Outputs
The output type is the type of the objects that the cmdlet emits.
- Microsoft.KeyDistributionService.KdsServerConfiguration
- System.Boolean
Examples
Example 1: Set the configuration of Microsoft Group Key Distribution Service
This example retrieves a server configuration object in to a variable $config using the Get-KdsConfiguration cmdlet, and passes the contents of the variable to this cmdlet.
PS C:\> $config = Get-KdsConfiguration
PS C:\> Set-KdsConfiguration –InputObject $config
Example 2: Test the configuration on the local server
This example tests the local server configuration.
PS C:\> Set-KdsConfiguration -LocalTestOnly
Example 3: Set the key derivation function algorithm
This example sets the key derivation function (KDF) algorithm name to SHA-1. This algorithm generates a private group key.
PS C:\> Set-KdsConfiguration –KdfAlgorithm "SHA-1"
Example 4: Set the secret agreement algorithm
This example sets the secret agreement algorithm name to ECDH. This algorithm generates a public group key.
PS C:\> Set-KdsConfiguration –SecretAgreementAlgorithm "ECDH"
Example 5: Set the Group Key Distribution Service configuration to the default configuration
This example validates that the customized group key distribution service configurations are deleted and the SID key starts to use the default configuration.
PS C:\> Set-KdsConfiguration -RevertToDefault