Connect-Entra
使用经过身份验证的帐户连接到Microsoft Entra ID。
语法
UserParameterSet (默认值)
Connect-Entra
[[-Scopes]
[[-Scopes] <String[]>]
[[-ClientId] <String>]
[-TenantId <String>]
[-ContextScope <ContextScope>]
[-Environment <String>]
[-UseDeviceCode]
[-ClientTimeout <Double>]
[-NoWelcome]
[<CommonParameters>]
AppCertificateParameterSet
Connect-Entra
[-ClientId]
[-ClientId] <String>
[[-CertificateSubjectName] <String>]
[[-CertificateThumbprint] <String>]
[-SendCertificateChain <Boolean>]
[-Certificate <X509Certificate2>]
[-TenantId <String>]
[-ContextScope <ContextScope>]
[-Environment <String>]
[-ClientTimeout <Double>]
[-NoWelcome]
[<CommonParameters>]
IdentityParameterSet
Connect-Entra
[[-ClientId]
[[-ClientId] <String>]
[-ContextScope <ContextScope>]
[-Environment <String>]
[-ClientTimeout <Double>]
[-Identity]
[-NoWelcome]
[<CommonParameters>]
AppSecretCredentialParameterSet
Connect-Entra
[-ClientSecretCredential
[-ClientSecretCredential <PSCredential>]
[-TenantId <String>]
[-ContextScope <ContextScope>]
[-Environment <String>]
[-ClientTimeout <Double>]
[-NoWelcome]
[<CommonParameters>]
AccessTokenParameterSet
Connect-Entra
[-AccessToken]
[-AccessToken] <SecureString>
[-Environment <String>]
[-ClientTimeout <Double>]
[-NoWelcome]
[<CommonParameters>]
EnvironmentVariableParameterSet
Connect-Entra
[-ContextScope
[-ContextScope <ContextScope>]
[-Environment <String>]
[-ClientTimeout <Double>]
[-EnvironmentVariable]
[-NoWelcome]
[<CommonParameters>]
说明
该 Connect-Entra cmdlet 使用经过身份验证的帐户连接到Microsoft Entra ID。
根据用例支持多种身份验证方案,例如委派(交互式)和仅限应用(非交互式)。
Connect-Entra 是 Connect-MgGraph 的别名。
示例
示例 1:委派访问权限:将 PowerShell 会话连接到租户
Connect-Entra
此示例演示如何使用凭据将当前 PowerShell 会话连接到Microsoft Entra ID租户。
示例 2:委派访问权限:将 PowerShell 会话连接到具有所需范围的租户
Connect-Entra -Scopes 'User.Read.All', 'Group.ReadWrite.All'
Welcome to Microsoft Graph!
此示例演示如何使用范围对Microsoft Entra ID进行身份验证。
示例 3:委派访问:使用访问令牌
$secureString = ConvertTo-SecureString -String $AccessToken -AsPlainText -Force
Connect-Entra -AccessToken $secureString
Welcome to Microsoft Graph!
此示例演示如何使用访问令牌以交互方式对Microsoft Entra ID进行身份验证。
有关如何获取或创建访问令牌的详细信息,请参阅 请求访问令牌。
示例 4:委派访问:使用设备代码流
Connect-Entra -UseDeviceCode
To sign in, use a web browser to open the page https://microsoft.com/devicelogin and enter the code A1B2CDEFGH to authenticate.
此示例演示如何使用设备代码流以交互方式对Microsoft Entra ID进行身份验证。
有关详细信息,请参阅 设备代码流。
示例 5:仅限应用访问:将客户端凭据与证书指纹配合使用
$connectParams = @{
TenantId = 'aaaabbbb-0000-cccc-1111-dddd2222eeee'
ApplicationId = '00001111-aaaa-2222-bbbb-3333cccc4444'
CertificateThumbprint = 'AA11BB22CC33DD44EE55FF66AA77BB88CC99DD00'
}
Connect-Entra @connectParams
Welcome to Microsoft Graph!
此示例演示如何使用 ApplicationId 和 CertificateThumbprint 进行身份验证。
有关如何获取或创建 CertificateThumbprint 的详细信息,请参阅 “使用仅限应用的访问权限进行身份验证”。
示例 6:仅限应用访问:将客户端凭据与证书名称配合使用
$params = @{
ClientId = '00001111-aaaa-2222-bbbb-3333cccc4444'
TenantId = 'aaaabbbb-0000-cccc-1111-dddd2222eeee'
CertificateName = 'YOUR_CERT_SUBJECT'
}
Connect-Entra @params
$Cert = Get-ChildItem Cert:\LocalMachine\My\$CertThumbprint
Connect-Entra -ClientId '<App-Id>' -TenantId '<Tenant-Id>' -Certificate $Cert
可以通过运行上述命令找到证书主体。
示例 7:仅限应用访问:将客户端凭据与证书配合使用
$Cert = Get-ChildItem Cert:\LocalMachine\My\$CertThumbprint
$params = @{
ClientId = '00001111-aaaa-2222-bbbb-3333cccc4444'
TenantId = 'aaaabbbb-0000-cccc-1111-dddd2222eeee'
Certificate = $Cert
}
Connect-Entra @params
示例 8:仅限应用的访问权限:使用客户端密码凭据
$ClientSecretCredential = Get-Credential -Credential '00001111-aaaa-2222-bbbb-3333cccc4444'
# Enter client_secret in the password prompt.
Connect-Entra -TenantId 'aaaabbbb-0000-cccc-1111-dddd2222eeee' -ClientSecretCredential $ClientSecretCredential
此身份验证方法非常适合后台交互。
有关如何获取凭据的详细信息,请参阅 Get-Credential 命令。
示例 9:仅限应用的访问权限:使用托管标识:系统分配的托管标识
Connect-Entra -Identity
在服务实例上使用自动托管标识。 标识与服务实例的生命周期相关联。
示例 10:仅限应用的访问权限:使用托管标识:用户分配的托管标识
Connect-Entra -Identity -ClientId 'User_Assigned_Managed_identity_Client_Id'
使用用户创建的托管标识作为独立的Azure资源。
示例 11:以其他标识的形式连接到环境
Connect-Entra -ContextScope 'Process'
Welcome to Microsoft Graph!
若要作为与 CurrentUser 不同的标识进行连接,请使用值 Process 指定 ContextScope 参数。
有关如何获取当前上下文的详细信息,请参阅 Get-EntraContext 命令。
示例 12:连接到环境或云
Get-EntraEnvironment
Name AzureADEndpoint GraphEndpoint Type
---- --------------- ------------- ----
China https://login.chinacloudapi.cn https://microsoftgraph.chinacloudapi.cn Built-in
Global https://login.microsoftonline.com https://graph.microsoft.com Built-in
USGov https://login.microsoftonline.us https://graph.microsoft.us Built-in
USGovDoD https://login.microsoftonline.us https://dod-graph.microsoft.us Built-in
Connect-Entra -Environment 'Global'
使用 Connect-Entra 时,可以选择面向其他环境。 默认情况下,Connect-Entra 面向全局公有云。
示例 13:设置 HTTP 客户端超时(以秒为单位)
Connect-Entra -ClientTimeout 60
Welcome to Microsoft Graph!
本示例设置 HTTP 客户端超时(以秒为单位)。
示例 14:隐藏欢迎消息
Connect-Entra -NoWelcome
本示例隐藏欢迎消息。
示例 15:允许使用环境变量进行身份验证
Connect-Entra -EnvironmentVariable
此示例允许使用环境变量进行身份验证。
参数
-AccessToken
指定Microsoft Entra服务的持有者令牌。 访问令牌会超时,必须处理其刷新。
参数属性
| 类型: | SecureString |
| 默认值: | None |
| 支持通配符: | False |
| 不显示: | False |
参数集
AccessTokenParameterSet
| Position: | Named |
| 必需: | True |
| 来自管道的值: | False |
| 来自管道的值(按属性名称): | False |
| 来自剩余参数的值: | False |
-Certificate
在调用期间提供的 X.509 证书。
参数属性
| 类型: | X509Certificate2 |
| 默认值: | None |
| 支持通配符: | False |
| 不显示: | False |
参数集
AppCertificateParameterSet
| Position: | Named |
| 必需: | False |
| 来自管道的值: | False |
| 来自管道的值(按属性名称): | False |
| 来自剩余参数的值: | False |
-CertificateSubjectName
证书的使用者可分辨名称。 从当前用户的证书存储中检索证书。
参数属性
| 类型: | System.String |
| 默认值: | None |
| 支持通配符: | False |
| 不显示: | False |
| 别名: | CertificateSubject, CertificateName |
参数集
AppCertificateParameterSet
| Position: | Named |
| 必需: | False |
| 来自管道的值: | False |
| 来自管道的值(按属性名称): | False |
| 来自剩余参数的值: | False |
-CertificateThumbprint
指定有权执行此操作的用户帐户的数字公钥 X.509 证书的证书指纹。
参数属性
| 类型: | System.String |
| 默认值: | None |
| 支持通配符: | False |
| 不显示: | False |
参数集
AppCertificateParameterSet
| Position: | Named |
| 必需: | False |
| 来自管道的值: | False |
| 来自管道的值(按属性名称): | False |
| 来自剩余参数的值: | False |
-ClientId
指定服务主体的应用程序 ID。
参数属性
| 类型: | System.String |
| 默认值: | None |
| 支持通配符: | False |
| 不显示: | False |
| 别名: | AppId, ApplicationId |
参数集
UserParameterSet
| Position: | 1 |
| 必需: | False |
| 来自管道的值: | False |
| 来自管道的值(按属性名称): | False |
| 来自剩余参数的值: | False |
IdentityParameterSet
| Position: | 1 |
| 必需: | False |
| 来自管道的值: | False |
| 来自管道的值(按属性名称): | False |
| 来自剩余参数的值: | False |
AppCertificateParameterSet
| Position: | 1 |
| 必需: | False |
| 来自管道的值: | False |
| 来自管道的值(按属性名称): | False |
| 来自剩余参数的值: | False |
-ClientSecretCredential
PSCredential 对象为服务主体凭据提供应用程序 ID 和客户端密码。 有关 PSCredential 对象的详细信息,请键入 Get-Help Get-Credential。
参数属性
| 类型: | PSCredential |
| 默认值: | None |
| 支持通配符: | False |
| 不显示: | False |
| 别名: | SecretCredential, 凭据 |
参数集
AppSecretCredentialParameterSet
| Position: | Named |
| 必需: | False |
| 来自管道的值: | False |
| 来自管道的值(按属性名称): | False |
| 来自剩余参数的值: | False |
-ClientTimeout
设置 HTTP 客户端超时(以秒为单位)。
参数属性
| 类型: | System.Double |
| 默认值: | None |
| 支持通配符: | False |
| 不显示: | False |
参数集
(All)
| Position: | Named |
| 必需: | False |
| 来自管道的值: | False |
| 来自管道的值(按属性名称): | False |
| 来自剩余参数的值: | False |
-ContextScope
确定身份验证上下文的范围。 此 ContextScope 接受 Process 当前进程或 CurrentUser 用户启动的所有会话。
参数属性
| 类型: | ContextScope |
| 默认值: | None |
| 接受的值: | Process, CurrentUser |
| 支持通配符: | False |
| 不显示: | False |
参数集
UserParameterSet
| Position: | Named |
| 必需: | False |
| 来自管道的值: | False |
| 来自管道的值(按属性名称): | False |
| 来自剩余参数的值: | False |
AppCertificateParameterSet
| Position: | Named |
| 必需: | False |
| 来自管道的值: | False |
| 来自管道的值(按属性名称): | False |
| 来自剩余参数的值: | False |
IdentityParameterSet
| Position: | Named |
| 必需: | False |
| 来自管道的值: | False |
| 来自管道的值(按属性名称): | False |
| 来自剩余参数的值: | False |
AppSecretCredentialParameterSet
| Position: | Named |
| 必需: | False |
| 来自管道的值: | False |
| 来自管道的值(按属性名称): | False |
| 来自剩余参数的值: | False |
EnvironmentVariableParameterSet
| Position: | Named |
| 必需: | False |
| 来自管道的值: | False |
| 来自管道的值(按属性名称): | False |
| 来自剩余参数的值: | False |
-Environment
要连接到的国家云环境的名称。 默认情况下使用全局云。
参数属性
| 类型: | System.String |
| 默认值: | None |
| 支持通配符: | False |
| 不显示: | False |
| 别名: | 环境名称, NationalCloud |
参数集
(All)
| Position: | Named |
| 必需: | False |
| 来自管道的值: | False |
| 来自管道的值(按属性名称): | False |
| 来自剩余参数的值: | False |
-EnvironmentVariable
允许使用在主机上配置的环境变量进行身份验证。 请参见https://github.com/Azure/azure-sdk-for-net/tree/main/sdk/identity/Azure.Identity#environment-variables
参数属性
| 类型: | System.Management.Automation.SwitchParameter |
| 默认值: | None |
| 支持通配符: | False |
| 不显示: | False |
参数集
EnvironmentVariableParameterSet
| Position: | Named |
| 必需: | False |
| 来自管道的值: | False |
| 来自管道的值(按属性名称): | False |
| 来自剩余参数的值: | False |
-Identity
使用托管标识登录
参数属性
| 类型: | System.Management.Automation.SwitchParameter |
| 默认值: | None |
| 支持通配符: | False |
| 不显示: | False |
| 别名: | ManagedIdentity, ManagedServiceIdentity, MSI |
参数集
IdentityParameterSet
| Position: | 1 |
| 必需: | False |
| 来自管道的值: | False |
| 来自管道的值(按属性名称): | False |
| 来自剩余参数的值: | False |
-NoWelcome
隐藏欢迎消息。
参数属性
| 类型: | System.Management.Automation.SwitchParameter |
| 默认值: | None |
| 支持通配符: | False |
| 不显示: | False |
参数集
(All)
| Position: | Named |
| 必需: | False |
| 来自管道的值: | False |
| 来自管道的值(按属性名称): | False |
| 来自剩余参数的值: | False |
-Scopes
要同意的委托权限数组。
参数属性
| 类型: | System.String[] |
| 默认值: | None |
| 支持通配符: | False |
| 不显示: | False |
参数集
UserParameterSet
| Position: | 1 |
| 必需: | False |
| 来自管道的值: | False |
| 来自管道的值(按属性名称): | False |
| 来自剩余参数的值: | False |
-SendCertificateChain
获取令牌以使用给定证书启用基于使用者名称/颁发者的身份验证时,在客户端声明中包括 x5c 标头。
参数属性
| 类型: | Boolean |
| 默认值: | None |
| 支持通配符: | False |
| 不显示: | False |
参数集
AppCertificateParameterSet
| Position: | Named |
| 必需: | False |
| 来自管道的值: | False |
| 来自管道的值(按属性名称): | False |
| 来自剩余参数的值: | False |
-TenantId
指定租户的 ID。
如果未指定此参数,则帐户通过主租户进行身份验证。
必须指定 TenantId 参数以作为服务主体进行身份验证或在使用Microsoft 帐户时进行身份验证。
参数属性
| 类型: | System.String |
| 默认值: | None |
| 支持通配符: | False |
| 不显示: | False |
| 别名: | 受众, 租户 |
参数集
UserParameterSet
| Position: | Named |
| 必需: | False |
| 来自管道的值: | False |
| 来自管道的值(按属性名称): | False |
| 来自剩余参数的值: | False |
AppCertificateParameterSet
| Position: | Named |
| 必需: | False |
| 来自管道的值: | False |
| 来自管道的值(按属性名称): | False |
| 来自剩余参数的值: | False |
AppSecretCredentialParameterSet
| Position: | Named |
| 必需: | False |
| 来自管道的值: | False |
| 来自管道的值(按属性名称): | False |
| 来自剩余参数的值: | False |
-UseDeviceCode
使用设备代码身份验证,而不是浏览器控件。
参数属性
| 类型: | System.Management.Automation.SwitchParameter |
| 默认值: | None |
| 支持通配符: | False |
| 不显示: | False |
| 别名: | UseDeviceAuthentication, DeviceCode, DeviceAuth, 设备 |
参数集
UserParameterSet
| Position: | Named |
| 必需: | False |
| 来自管道的值: | False |
| 来自管道的值(按属性名称): | False |
| 来自剩余参数的值: | False |
CommonParameters
此 cmdlet 支持通用参数:-Debug、-ErrorAction、-ErrorVariable、-InformationAction、-InformationVariable、-OutBuffer、-OutVariable、-PipelineVariable、-ProgressAction、-Verbose、-WarningAction 和 -WarningVariable。 有关详细信息,请参阅 about_CommonParameters。