Set-CsPartnerApplication
Modifies an existing partner application. A partner application is any application that Skype for Business Server can directly exchange security tokens with, without having to go through a third-party security token server. This cmdlet was introduced in Lync Server 2013.
Syntax
Set-CsPartnerApplication
[-Identity] <XdsGlobalRelativeIdentity>
-CertificateFileData <String>
[-AcceptSecurityIdentifierInformation <Boolean>]
[-ApplicationTrustLevel <ApplicationTrustLevel>]
[-Confirm]
[-Enabled <Boolean>]
[-Force]
[-Tenant <Guid>]
[-WhatIf]
[<CommonParameters>]
Set-CsPartnerApplication
[-Identity] <XdsGlobalRelativeIdentity>
-CertificateRawData <String>
[-AcceptSecurityIdentifierInformation <Boolean>]
[-ApplicationTrustLevel <ApplicationTrustLevel>]
[-Confirm]
[-Enabled <Boolean>]
[-Force]
[-Tenant <Guid>]
[-WhatIf]
[<CommonParameters>]
Set-CsPartnerApplication
[-Identity] <XdsGlobalRelativeIdentity>
[-AcceptSecurityIdentifierInformation <Boolean>]
[-ApplicationTrustLevel <ApplicationTrustLevel>]
[-Confirm]
[-Enabled <Boolean>]
[-Force]
[-Tenant <Guid>]
[-WhatIf]
[<CommonParameters>]
Set-CsPartnerApplication
[-Identity] <XdsGlobalRelativeIdentity>
[-UseOAuthServer]
[-AcceptSecurityIdentifierInformation <Boolean>]
[-ApplicationTrustLevel <ApplicationTrustLevel>]
[-Confirm]
[-Enabled <Boolean>]
[-Force]
[-Tenant <Guid>]
[-WhatIf]
[<CommonParameters>]
Set-CsPartnerApplication
[-Identity] <XdsGlobalRelativeIdentity>
-MetadataUrl <String>
[-AcceptSecurityIdentifierInformation <Boolean>]
[-ApplicationTrustLevel <ApplicationTrustLevel>]
[-Confirm]
[-Enabled <Boolean>]
[-Force]
[-Tenant <Guid>]
[-WhatIf]
[<CommonParameters>]
Set-CsPartnerApplication
[-Confirm]
[-Force]
[-Instance <PSObject>]
[-WhatIf]
[<CommonParameters>]
Description
In Skype for Business Server, server-to-server authentication (for example, the authentication that enables Skype for Business Server and Exchange to share information) is carried out using the OAuth security protocol. This type of authentication typically requires three servers: the two servers that need to communicate with one another (Server A and B) and a third-party security token server. If Servers A and B need to communicate with one another, the two servers contact the token server (also known as an OAuth server) and obtain mutually-trusted security tokens that the two servers can exchange in order to prove their identities.
If you are using an on-premises version of Skype for Business Server and you need to communicate with another server product that fully supports the OAuth protocol (for example, Exchange or SharePoint) then you typically do not need to use a token server; that's because these server products are able to issue their own security tokens. However, you will need to configure the other server product (e.g., Exchange) as a partner application. (You will also need to configure Skype for Business Server as a partner application for the other server product.) In Skype for Business Server, partner applications are managed by using the CsPartnerApplication cmdlets.
Skype for Business Server Control Panel: The functions carried out by the Set-CsPartnerApplication
cmdlet are not available in the Skype for Business Server Control Panel.
Examples
-------------------------- Example 1 --------------------------
Set-CsPartnerApplication -Identity "MicrosoftExchange" -Enabled $False
The command shown in Example 1 disables the partner application MicrosoftExchange. This is done by setting the Enabled property to False ($False).
-------------------------- Example 2 --------------------------
Get-CsPartnerApplication | ForEach-Object {Set-CsPartnerApplication -Identity $_.Identity -Enabled $False}
In Example 2, all the partner applications currently in use in the organization are disabled.
To do this, the command first uses the Get-CsPartnerApplication
cmdlet to return a collection of all the partner applications.
This collection is then piped to the ForEach-Object
cmdlet.
In turn, the ForEach-Object
cmdlet runs the Set-CsPartnerApplication
cmdlet against each application in the collection.
Doing so disables each of those partner applications.
-------------------------- Example 3 --------------------------
Get-CsPartnerApplication | Where-Object {$_.ApplicationTrustLevel -eq "User"} | ForEach-Object {Set-CsPartnerApplication -Identity $_.Identity -Enabled $False}
Example 3 disables all partner applications where the ApplicationTrustLevel property is set to User.
To carry out this task, the command first calls the Get-CsPartnerApplication
cmdlet without any parameters; that returns a collection of all the partner applications configured for use in the organization.
This collection is then piped to the Where-Object
cmdlet, which picks out only those applications where the ApplicationTrustLevel property is equal to "User".
That filtered collection is then piped to the ForEach-Object
cmdlet, which uses the Set-CsPartnerApplication
cmdlet to take each item in the collection and set the Enabled property to $False.
Parameters
-AcceptSecurityIdentifierInformation
When set to True ($True), security identifiers (SIDs) can be used for authentication purposes. The default value is False.
Type: | Boolean |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Applies to: | Lync Server 2013, Skype for Business Server 2015, Skype for Business Server 2019 |
-ApplicationTrustLevel
Specifies the level of trust between Skype for Business Server and the partner application. Allowed values are:
- Full -- The partner application is trusted to represent itself and to impersonate any user in the realm. This is the default value.
- Application -- The partner application is trusted to represent itself within the realm. In order to impersonate a user, it must obtain consent through from a security token server.
- User -- The partner application must obtain consent from a security token server in order to represent a user, and cannot represent itself.
The default value is Full.
Type: | ApplicationTrustLevel |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Applies to: | Lync Server 2013, Skype for Business Server 2015, Skype for Business Server 2019 |
-CertificateFileData
Path to a certificate file that can be assigned to the partner application. For example:
-CertificateFileData "C:\Certificates\PartnerApplication.cer"
Type: | String |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Applies to: | Lync Server 2013, Skype for Business Server 2015, Skype for Business Server 2019 |
-CertificateRawData
Certificate (in Base64 encoded format) that can be assigned to the partner application. To read raw data from a certificate and then convert that data to the required format, use commands similar to these:
$x = [System.IO.File]::ReadAllBytes('C:\Certificates\PartnerApplication.cer')
$y = [Convert]::ToBase64String($x)
You can then use this syntax to assign the certificate data stored in the variable $y:
-CertificateRawData $y
Type: | String |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Applies to: | Lync Server 2013, Skype for Business Server 2015, Skype for Business Server 2019 |
-Confirm
Prompts you for confirmation before executing the command.
Type: | SwitchParameter |
Aliases: | cf |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Applies to: | Lync Server 2013, Skype for Business Server 2015, Skype for Business Server 2019 |
-Enabled
When set to True, the partner application is available for use with Skype for Business Server. When set to False the partner application will continue to run, but will not be able to communicate with Skype for Business Server until the Enabled property has been set to True.
Type: | Boolean |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Applies to: | Lync Server 2013, Skype for Business Server 2015, Skype for Business Server 2019 |
-Force
Suppresses the display of any non-fatal error message that might occur when running the command.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Applies to: | Lync Server 2013, Skype for Business Server 2015, Skype for Business Server 2019 |
-Identity
Unique identifier of the partner application. For example:
-Identity "MicrosoftExchange"
Type: | XdsGlobalRelativeIdentity |
Position: | 2 |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Applies to: | Lync Server 2013, Skype for Business Server 2015, Skype for Business Server 2019 |
-Instance
Allows you to pass a reference to an object to the cmdlet rather than set individual parameter values.
Type: | PSObject |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
Applies to: | Lync Server 2013, Skype for Business Server 2015, Skype for Business Server 2019 |
-MetadataUrl
URL of the security token servicer federation metadata that carries the signing keys, the issuer identifier and the issuer endpoint URL.
Type: | String |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Applies to: | Lync Server 2013, Skype for Business Server 2015, Skype for Business Server 2019 |
-Tenant
Globally unique identifier (GUID) of the Skype for Business Online tenant account for the partner application being modified. For example:
-Tenant "38aad667-af54-4397-aaa7-e94c79ec2308"
You can return the tenant ID for each of your tenants by running this command:
Get-CsTenant | Select-Object DisplayName, TenantID
Type: | Guid |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Applies to: | Lync Server 2013, Skype for Business Server 2015, Skype for Business Server 2019 |
-UseOAuthServer
When present, the partner application will use the configured OAuth Server for server-to-server authentication. When not present, the partner application will use its built-in security token service for server-to-server authentication.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Applies to: | Lync Server 2013, Skype for Business Server 2015, Skype for Business Server 2019 |
-WhatIf
Describes what would happen if you executed the command without actually executing the command.
Type: | SwitchParameter |
Aliases: | wi |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Applies to: | Lync Server 2013, Skype for Business Server 2015, Skype for Business Server 2019 |
Inputs
None.
The Set-CsPartnerApplication
cmdlet does not accept pipelined input.
Outputs
None.
Instead, the Set-CsPartnerApplication
cmdlet modifies existing instances of the Microsoft.Rtc.Management.WritableConfig.Settings.SSAuth.PartnerApplication#Decorated object.