你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
New-AzureRmADServicePrincipal
创建新的Microsoft Entra 服务主体。
警告
AzureRM PowerShell 模块已自 2024 年 2 月 29 日起正式弃用。 为了确保持续获得支持和更新,建议用户从 AzureRM 迁移到 Az PowerShell 模块。
尽管 AzureRM 模块仍可运行,但不再受到维护或支持,任何继续使用的行为都由用户自行决定并自行承担风险。 有关过渡到 Az 模块的指导,请参阅我们的迁移资源。
语法
New-AzureRmADServicePrincipal
[-ApplicationId <Guid>]
[-DisplayName <String>]
[-Password <SecureString>]
[-StartDate <DateTime>]
[-EndDate <DateTime>]
[-Scope <String>]
[-Role <String>]
[-SkipAssignment]
[-DefaultProfile <IAzureContextContainer>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
New-AzureRmADServicePrincipal
-ApplicationId <Guid>
[-DefaultProfile <IAzureContextContainer>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
New-AzureRmADServicePrincipal
-ApplicationId <Guid>
-Password <SecureString>
[-StartDate <DateTime>]
[-EndDate <DateTime>]
[-DefaultProfile <IAzureContextContainer>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
New-AzureRmADServicePrincipal
-ApplicationId <Guid>
-PasswordCredential <PSADPasswordCredential[]>
[-DefaultProfile <IAzureContextContainer>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
New-AzureRmADServicePrincipal
-ApplicationId <Guid>
-CertValue <String>
[-StartDate <DateTime>]
[-EndDate <DateTime>]
[-DefaultProfile <IAzureContextContainer>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
New-AzureRmADServicePrincipal
-ApplicationId <Guid>
-KeyCredential <PSADKeyCredential[]>
[-DefaultProfile <IAzureContextContainer>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
New-AzureRmADServicePrincipal
-DisplayName <String>
[-DefaultProfile <IAzureContextContainer>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
New-AzureRmADServicePrincipal
-DisplayName <String>
-Password <SecureString>
[-StartDate <DateTime>]
[-EndDate <DateTime>]
[-DefaultProfile <IAzureContextContainer>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
New-AzureRmADServicePrincipal
-DisplayName <String>
-PasswordCredential <PSADPasswordCredential[]>
[-DefaultProfile <IAzureContextContainer>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
New-AzureRmADServicePrincipal
-DisplayName <String>
-CertValue <String>
[-StartDate <DateTime>]
[-EndDate <DateTime>]
[-DefaultProfile <IAzureContextContainer>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
New-AzureRmADServicePrincipal
-DisplayName <String>
-KeyCredential <PSADKeyCredential[]>
[-DefaultProfile <IAzureContextContainer>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
New-AzureRmADServicePrincipal
-ApplicationObject <PSADApplication>
[-DefaultProfile <IAzureContextContainer>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
New-AzureRmADServicePrincipal
-ApplicationObject <PSADApplication>
-Password <SecureString>
[-StartDate <DateTime>]
[-EndDate <DateTime>]
[-DefaultProfile <IAzureContextContainer>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
New-AzureRmADServicePrincipal
-ApplicationObject <PSADApplication>
-PasswordCredential <PSADPasswordCredential[]>
[-DefaultProfile <IAzureContextContainer>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
New-AzureRmADServicePrincipal
-ApplicationObject <PSADApplication>
-CertValue <String>
[-StartDate <DateTime>]
[-EndDate <DateTime>]
[-DefaultProfile <IAzureContextContainer>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
New-AzureRmADServicePrincipal
-ApplicationObject <PSADApplication>
-KeyCredential <PSADKeyCredential[]>
[-DefaultProfile <IAzureContextContainer>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
说明
创建新的Microsoft Entra 服务主体。 如果用户不提供参数的默认值,则默认参数集使用默认值。 有关所使用的默认值的详细信息,请参阅以下给定参数的说明。
此 cmdlet 能够向 Role
具有和 Scope
参数的服务主体分配角色;如果未提供这些参数,则不会向服务主体分配任何角色。 参数的Role
Scope
默认值分别为“参与者”和当前订阅(注意:仅当用户为两个参数之一(而不是另一个参数)提供值时,才使用默认值。
该 cmdlet 还隐式创建应用程序并设置其属性(如果未提供 ApplicationId)。 若要更新应用程序特定的参数,请使用 Set-AzureRmADApplication cmdlet。
示例
示例 1 - 创建简单的 AD 服务主体
PS C:\> New-AzureRmADServicePrincipal
Secret : System.Security.SecureString
ServicePrincipalNames : {xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx, http://azure-powershell-05-22-2018-18-23-43}
ApplicationId : xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
DisplayName : azure-powershell-05-22-2018-18-23-43
Id : yyyyyyyy-yyyy-yyyy-yyyy-yyyyyyyyyyyy
Type : ServicePrincipal
上述命令使用未提供的参数的默认值创建 AD 服务主体。 由于未提供应用程序 ID,为服务主体创建应用程序。 由于没有为 Role
或 Scope
提供任何值,因此创建的服务主体没有任何权限。
示例 2 - 使用指定角色和默认作用域创建简单的 AD 服务主体
PS C:\> New-AzureRmADServicePrincipal -Role Reader
Secret : System.Security.SecureString
ServicePrincipalNames : {xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx, http://azure-powershell-05-22-2018-18-23-43}
ApplicationId : xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
DisplayName : azure-powershell-05-22-2018-18-23-43
Id : yyyyyyyy-yyyy-yyyy-yyyy-yyyyyyyyyyyy
Type : ServicePrincipal
WARNING: Assigning role 'Reader' over scope '/subscriptions/zzzzzzzz-zzzz-zzzz-zzzz-zzzzzzzzzzzz' to the new service principal.
上述命令使用未提供的参数的默认值创建 AD 服务主体。 由于未提供应用程序 ID,为服务主体创建应用程序。 服务主体是使用当前订阅的“读取者”权限创建的(因为没有为 Scope
参数提供任何值)。
示例 3 - 使用指定的作用域和默认角色创建简单的 AD 服务主体
PS C:\> New-AzureRmADServicePrincipal -Scope /subscriptions/zzzzzzzz-zzzz-zzzz-zzzz-zzzzzzzzzzzz/resourceGroups/myResourceGroup
Secret : System.Security.SecureString
ServicePrincipalNames : {xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx, http://azure-powershell-05-22-2018-18-23-43}
ApplicationId : xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
DisplayName : azure-powershell-05-22-2018-18-23-43
Id : yyyyyyyy-yyyy-yyyy-yyyy-yyyyyyyyyyyy
Type : ServicePrincipal
WARNING: Assigning role 'Contributor' over scope '/subscriptions/zzzzzzzz-zzzz-zzzz-zzzz-zzzzzzzzzzzz/resourceGroups/myResourceGroup' to the new service principal.
上述命令使用未提供的参数的默认值创建 AD 服务主体。 由于未提供应用程序 ID,为服务主体创建应用程序。 服务主体是使用“参与者”权限(因为未为参数提供任何值)在 Role
提供的资源组范围内创建。
示例 4 - 使用指定的作用域和角色创建简单的 AD 服务主体
PS C:\> New-AzureRmADServicePrincipal -Role Reader -Scope /subscriptions/zzzzzzzz-zzzz-zzzz-zzzz-zzzzzzzzzzzz/resourceGroups/myResourceGroup
Secret : System.Security.SecureString
ServicePrincipalNames : {xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx, http://azure-powershell-05-22-2018-18-23-43}
ApplicationId : xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
DisplayName : azure-powershell-05-22-2018-18-23-43
Id : yyyyyyyy-yyyy-yyyy-yyyy-yyyyyyyyyyyy
Type : ServicePrincipal
WARNING: Assigning role 'Reader' over scope '/subscriptions/zzzzzzzz-zzzz-zzzz-zzzz-zzzzzzzzzzzz/resourceGroups/myResourceGroup' to the new service principal.
上述命令使用未提供的参数的默认值创建 AD 服务主体。 由于未提供应用程序 ID,为服务主体创建应用程序。 服务主体是在提供的资源组范围内使用“读取者”权限创建的。
示例 5 - 使用具有角色分配的应用程序 ID 创建新的 AD 服务主体
PS C:\> New-AzureRmADServicePrincipal -ApplicationId 00001111-aaaa-2222-bbbb-3333cccc4444
ServicePrincipalNames : {00001111-aaaa-2222-bbbb-3333cccc4444, http://my-temp-app}
ApplicationId : 00001111-aaaa-2222-bbbb-3333cccc4444
DisplayName : my-temp-app
Id : yyyyyyyy-yyyy-yyyy-yyyy-yyyyyyyyyyyy
Type : ServicePrincipal
为应用程序 ID 为“00001111-aaaa-2222-bbbb-33333cccc4444”的应用程序创建新的 AD 服务主体。 由于没有为 Role
或 Scope
提供任何值,因此创建的服务主体没有任何权限。
示例 6 - 使用管道创建新的 AD 服务主体
PS C:\> Get-AzureRmADApplication -ObjectId 3ede3c26-b443-4e0b-9efc-b05e68338dc3 | New-AzureRmADServicePrincipal
获取对象 ID 为“3ede3c26-b443-4e0b-9efc-b05e68338dc3”的应用程序,并将其传递给 New-AzureRmADServicePrincipal cmdlet,以便为该应用程序创建新的 AD 服务主体。
参数
-ApplicationId
租户中服务主体的唯一应用程序 ID。 创建此属性后,无法更改此属性。 如果未指定应用程序 ID,将生成一个。
类型: | Guid |
Position: | Named |
默认值: | None |
必需: | True |
接受管道输入: | False |
接受通配符: | False |
-ApplicationObject
表示为其创建服务主体的应用程序的对象。
类型: | PSADApplication |
Position: | Named |
默认值: | None |
必需: | True |
接受管道输入: | True |
接受通配符: | False |
-CertValue
“非对称”凭据类型的值。 它表示 base 64 编码的证书。
类型: | String |
Position: | Named |
默认值: | None |
必需: | True |
接受管道输入: | True |
接受通配符: | False |
-Confirm
提示你在运行 cmdlet 之前进行确认。
类型: | SwitchParameter |
别名: | cf |
Position: | Named |
默认值: | None |
必需: | False |
接受管道输入: | False |
接受通配符: | False |
-DefaultProfile
用于与 azure 通信的凭据、帐户、租户和订阅
类型: | IAzureContextContainer |
别名: | AzureRmContext, AzureCredential |
Position: | Named |
默认值: | None |
必需: | False |
接受管道输入: | False |
接受通配符: | False |
-DisplayName
服务主体的友好名称。 如果未提供显示名称,则此值将默认为“azure-powershell-MM-dd-yyyy-HH-mm-ss”,其中后缀是创建应用程序的时间。
类型: | String |
Position: | Named |
默认值: | None |
必需: | True |
接受管道输入: | False |
接受通配符: | False |
-EndDate
凭据使用情况的有效结束日期。 默认结束日期值为从今天开始的一年。 对于“非对称”类型凭据,必须将其设置为 X509 证书有效日期或之前。
类型: | DateTime |
Position: | Named |
默认值: | None |
必需: | False |
接受管道输入: | False |
接受通配符: | False |
-KeyCredential
与应用程序关联的密钥凭据的集合。
类型: | PSADKeyCredential[] |
别名: | KeyCredentials |
Position: | Named |
默认值: | None |
必需: | True |
接受管道输入: | True |
接受通配符: | False |
-Password
要与服务主体关联的密码。 如果未提供密码,则会生成随机 GUID 并将其用作密码。
类型: | SecureString |
Position: | Named |
默认值: | None |
必需: | True |
接受管道输入: | False |
接受通配符: | False |
-PasswordCredential
与应用程序关联的密码凭据的集合。
类型: | PSADPasswordCredential[] |
别名: | PasswordCredentials |
Position: | Named |
默认值: | None |
必需: | True |
接受管道输入: | True |
接受通配符: | False |
-Role
服务主体在作用域内具有的角色。 如果提供了一个值 Scope
,但未提供任何 Role
值,则 Role
默认为“参与者”角色。
类型: | String |
Position: | Named |
默认值: | None |
必需: | False |
接受管道输入: | False |
接受通配符: | False |
-Scope
服务主体具有权限的范围。 如果提供了一个值 Role
,但未提供任何 Scope
值,则 Scope
默认为当前订阅。
类型: | String |
Position: | Named |
默认值: | None |
必需: | False |
接受管道输入: | False |
接受通配符: | False |
-SkipAssignment
如果设置,将跳过为服务主体创建默认角色分配。
类型: | SwitchParameter |
Position: | Named |
默认值: | None |
必需: | False |
接受管道输入: | False |
接受通配符: | False |
-StartDate
凭据使用情况的有效开始日期。 默认开始日期值为今天。 对于“非对称”类型凭据,此凭据必须设置为 X509 证书有效日期或之后。
类型: | DateTime |
Position: | Named |
默认值: | None |
必需: | False |
接受管道输入: | False |
接受通配符: | False |
-WhatIf
显示运行该 cmdlet 时会发生什么情况。 cmdlet 未运行。
类型: | SwitchParameter |
别名: | wi |
Position: | Named |
默认值: | None |
必需: | False |
接受管道输入: | False |
接受通配符: | False |
输入
参数:ApplicationObject (ByValue)
输出
Microsoft.Azure.Commands.Resources.Models.Authorization.PSADServicePrincipalWrapper
备注
关键字:azure, azurerm, arm, 资源, 管理, 经理, 资源组, 模板, 部署