共用方式為


New-MsolServicePrincipal

將服務主體新增至 Azure Active Directory。

Syntax

New-MsolServicePrincipal
   [-ServicePrincipalNames <String[]>]
   [-AppPrincipalId <Guid>]
   -DisplayName <String>
   [-AccountEnabled <Boolean>]
   [-Addresses <RedirectUri[]>]
   [-Type <ServicePrincipalCredentialType>]
   [-Value <String>]
   [-StartDate <DateTime>]
   [-EndDate <DateTime>]
   [-Usage <ServicePrincipalCredentialUsage>]
   [-TenantId <Guid>]
   [<CommonParameters>]

Description

New-MsolServicePrincipal Cmdlet 會建立服務主體,可用來代表企業營運 (LOB) 應用程式或內部部署伺服器,例如 Microsoft Exchange、SharePoint 或 Lync,Microsoft Azure Active Directory為服務主體物件。 新增應用程式成為服務主體之後,該應用程式便能對 Microsoft Office 365 等其他服務進行驗證。

範例

範例 1:建立服務主體

PS C:\> New-MsolServicePrincipal -ServicePrincipalNames @("MyApp/myApp.com") -DisplayName "My Application"

此命令會建立服務主體。 在此範例中,服務主體是以服務主體名稱 MyApp/myApp.com 建立,顯示名稱 My Application,並使用自動產生的 256 位對稱金鑰來驗證應用程式。 此金鑰的有效期為當日起的一年內。

範例 2:建立使用 X509 憑證的服務主體

PS C:\> $cer = New-Object System.Security.Cryptography.X509Certificates.X509Certificate
PS C:\> $cer.Import("C:\temp\myapp.cer")
PS C:\> $binCert = $cer.GetRawCertData()
PS C:\> $credValue = [System.Convert]::ToBase64String($binCert);
PS C:\> New-MsolServicePrincipal -ServicePrincipalNames @("MyApp/myApp.com") -DisplayName "My Application" -Type asymmetric -Value $credValue

此範例會建立服務主體。 在此範例中,服務主體是以服務主體名稱 MyApp/myApp.com、顯示名稱 My Application 建立,並使用以基底 64 編碼非對稱金鑰設定的 X509 憑證 myapp.cer。

參數

-AccountEnabled

指定帳戶是否需要啟用。 預設值為 $True。

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

-Addresses

指定應用程式所使用的位址。 使用 New-MsolServicePrincipalAddresses Cmdlet 來協助建立地址清單物件。

Type:RedirectUri[]
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-AppPrincipalId

指定租使用者中服務主體的唯一應用程式識別碼。 建立之後,就無法變更此屬性。 如果您未指定此參數,就會產生應用程式識別碼。

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

-DisplayName

指定服務主體的顯示名稱。

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

-EndDate

指定認證使用方式的有效結束日期。 預設結束日期值為今天起的一年。

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

-ServicePrincipalNames

與服務主體相關聯的服務主體名稱清單 (SPN) 。

SPN 每個公司租使用者都必須是唯一的,應用程式會使用 SPN 來唯一識別本身。 根據預設,服務主體 AppID 一律會新增為 SPN。 SPN 必須使用下列其中一種格式:

  • appName
  • appName/hostname
  • 有效的 URL

AppName 代表應用程式的名稱,而主機名稱代表應用程式的 URI 授權單位。 當服務主體代表WS-Federation信賴憑證者時,SPN 可以設定為將視為 wtrealm 參數WS-Federation URL。

Type:String[]
Position:Named
Default value:AppId of the service principal
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-StartDate

指定認證使用方式的有效開始日期。 預設開始日期值為今天。

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

-TenantId

指定要執行作業之租使用者的唯一識別碼。 預設值是目前使用者的租使用者。 此參數僅適用于合作夥伴使用者。

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

-Type

指定要使用的認證類型。 有效值為:非對稱、對稱和密碼。

  • 如果非對稱, Value 參數必須設定為基底 64 編碼 X509 憑證的公用部分。
  • 如果對稱,如果未設定 Value ,就會產生 256 位 AES 對稱金鑰。
  • 如果為 password,則必須指定 Value 參數,而且不應該以 base 64 編碼。

預設設定為 「symmetric」。

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

-Usage

指定認證金鑰的使用方式。 認證金鑰使用方式可以設定為簽署或驗證權杖。 預設設定為驗證。

只有對稱金鑰才允許簽署。 所有金鑰類型都允許驗證。

Azure Active Directory 需要驗證認證金鑰,以確認應用程式已傳送要求權杖,此服務主體所代表。 您的應用程式可以選擇性地要求 Azure Active Directory 使用簽署金鑰向您的應用程式發出權杖,而不是識別 Azure Active Directory 的非對稱公開金鑰。 在此情況下,請為您的服務主體提供簽署認證金鑰。

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

-Value

指定認證的值。

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

輸出

Microsoft.Online.Administration.ServicePrincipalExtended

此 Cmdlet 會傳回它新增的服務主體。 這包括下列資訊:

  • ObjectId。 服務主體的唯一識別碼。
  • AppPrincipalId。 服務主體的應用程式識別碼。
  • DisplayName。 服務主體的易記名稱。
  • ServicePrincipalName。 與服務主體相關聯的服務主體名稱清單 (SPN) 。
  • TrustedForDelegation。 值,指出是否允許委派服務主體。
  • AccountEnabled。 值,指出帳戶是否已啟用。

它也會擷取已新增的認證清單。 每個認證物件都包含下列資訊:

  • 類型。 服務主體認證的類型 (非對稱/對稱/其他) 。
  • 值。 認證的值。 如果認證類型為憑證,則此值代表 base 64 編碼憑證。 如果認證類型是對稱的,則表示 AES 金鑰。
  • KeyGroupId。 保留供內部使用的識別碼。
  • KeyId。 金鑰的唯一識別碼。
  • StartDate。 認證使用方式的有效開始日期。
  • EndDate。 認證使用方式的有效結束日期。
  • 使用狀況。 指定認證是否用來簽署或驗證權杖。