你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

New-MsolServicePrincipalCredential

将凭据密钥添加到服务主体。

语法

New-MsolServicePrincipalCredential
   -ObjectId <Guid>
   [-Type <ServicePrincipalCredentialType>]
   [-Value <String>]
   [-StartDate <DateTime>]
   [-EndDate <DateTime>]
   [-Usage <ServicePrincipalCredentialUsage>]
   [-TenantId <Guid>]
   [<CommonParameters>]
New-MsolServicePrincipalCredential
   -ServicePrincipalName <String>
   [-Type <ServicePrincipalCredentialType>]
   [-Value <String>]
   [-StartDate <DateTime>]
   [-EndDate <DateTime>]
   [-Usage <ServicePrincipalCredentialUsage>]
   [-TenantId <Guid>]
   [<CommonParameters>]
New-MsolServicePrincipalCredential
   -AppPrincipalId <Guid>
   [-Type <ServicePrincipalCredentialType>]
   [-Value <String>]
   [-StartDate <DateTime>]
   [-EndDate <DateTime>]
   [-Usage <ServicePrincipalCredentialUsage>]
   [-TenantId <Guid>]
   [<CommonParameters>]

说明

New-MsolServicePrincipalCredential cmdlet 向服务主体添加新凭据,或为应用程序添加或滚动凭据密钥。 服务主体通过提供对象 ID、应用主体 ID 或服务主体名称 (SPN) 来标识。

示例

示例 1:将凭据添加到服务主体

PS C:\> New-MsolServicePrincipalCredential -ServicePrincipalName "MyApp/myApp.com"

此命令将凭据或密钥对象添加到现有服务主体。 在此示例中,会为此凭据生成对称密钥,并使用 MyApp/myApp.com 的服务主体名称值添加到服务主体。

示例 2:将现有凭据添加到服务主体

PS C:\> $Certificate = New-Object System.Security.Cryptography.X509Certificates.X509Certificate
PS C:\> $Certificate.Import("C:\myapp.cer")
PS C:\> $BinCert = $Certificate.GetRawCertData()
PS C:\> $CredValue = [System.Convert]::ToBase64String($binCert);
PS C:\> New-MsolServicePrincipalCredential -ServicePrincipalName "MyApp/myApp.com" -Type asymmetric -Value $CredValue -StartDate $Certificate.GetEffectiveDateString() -EndDate $Certificate.GetExpirationDateString()

此示例将凭据或密钥对象添加到现有服务主体。 在此示例中,提供的 base64 编码的公共 X509 证书(名为 myapp.cer)使用 MyApp/myApp.com 的服务主体名称值添加到服务主体。

示例 3:注册本地Exchange Server

PS C:\> New-MsolServicePrincipalCredential -AppPrincipalId  -Type asymmetric -Value $CredValue

此命令注册本地Exchange Server,以便发生Exchange Server和Microsoft Azure Active Directory服务(如Office 365)之间的通信。 此示例假设 $credValue 包含用于表示本地 Exchange Server 的 base64 编码公用 X509 证书。 Office 365服务器的已知 ID 为:

  • Exchange:00000002-0000-0ff1-ce00-000000000000
  • SharePoint:00000003-0000-0ff1-ce00-000000000000
  • Lync: 00000004-0000-0ff1-ce00-000000000000

参数

-AppPrincipalId

指定要向其添加凭据的服务主体的应用程序 ID。

Type:Guid
Position:Named
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-EndDate

指定凭据使用情况的有效结束日期。 默认值为从今天开始的一年。 对于非对称类型凭据,必须设置为 X509 证书有效日期或之前,否则不会为此应用程序颁发 OAuth 令牌。

Type:DateTime
Position:Named
Default value:Today + 1 year
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-ObjectId

指定要向其添加凭据的服务主体的唯一对象 ID。

Type:Guid
Position:Named
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-ServicePrincipalName

指定要向其添加凭据的服务主体的名称。 SPN 必须使用以下格式之一:

  • appName
  • appName/hostname
  • 有效的 URL

AppName 表示应用程序的名称。 主机名表示应用程序的 URI 颁发机构。

Type:String
Position:Named
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-StartDate

指定凭据使用情况的有效开始日期。 默认值为今天。 对于非对称类型凭据,必须设置为 X509 证书有效日期或之后,否则不会为此应用程序颁发 OAuth 令牌。

Type:DateTime
Position:Named
Default value:Today
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-TenantId

指定要对其执行操作的租户的唯一 ID。 默认值为当前用户的租户。 此参数仅适用于合作伙伴用户。

Type:Guid
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-Type

指定使用的凭据类型。 有效值是:

  • 非对称
  • 对称
  • password

默认值为对称值。

Type:ServicePrincipalCredentialType
Position:Named
Default value:Symmetric
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-Usage

指定凭据密钥的使用。 凭据密钥用法可以设置为签名或验证令牌。 默认值为验证。 仅允许对称密钥使用签名。 验证是否允许所有密钥类型。

Azure Active Directory 目录需要验证凭据密钥,以验证应用程序发送的请求令牌是否由此服务主体表示。

应用程序可以选择性地要求 Azure Active Directory 服务向使用签名密钥签名的应用程序颁发令牌,而不是标识Microsoft Azure Active Directory的非对称公钥。 在这种情况下,请为服务主体提供一个签名凭据密钥。

Type:ServicePrincipalCredentialUsage
Position:Named
Default value:Verify
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-Value

指定凭据的值。

  • 如果凭据类型不对称,则值表示 base 64 编码的证书。
  • 如果凭据类型是对称的,并且未指定 Value 参数,则会自动创建 256 位 AES 密钥,并在创建一年内有效。
  • 如果凭据类型为密码,请指定 。 它不应进行 base 64 编码。
Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False