你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
Connect-AzureAD
使用经过身份验证的帐户进行连接,以使用 Active Directory cmdlet 请求。
语法
Connect-AzureAD
[-AzureEnvironmentName <EnvironmentName>]
[-TenantId <String>]
[-Credential <PSCredential>]
[-AccountId <String>]
[-LogLevel <LogLevel>]
[-LogFilePath <String>]
[-InformationAction <ActionPreference>]
[-InformationVariable <String>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Connect-AzureAD
[-AzureEnvironmentName <EnvironmentName>]
-TenantId <String>
-CertificateThumbprint <String>
-ApplicationId <String>
[-LogLevel <LogLevel>]
[-LogFilePath <String>]
[-InformationAction <ActionPreference>]
[-InformationVariable <String>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Connect-AzureAD
[-AzureEnvironmentName <EnvironmentName>]
[-TenantId <String>]
-AadAccessToken <String>
[-MsAccessToken <String>]
-AccountId <String>
[-LogLevel <LogLevel>]
[-LogFilePath <String>]
[-InformationAction <ActionPreference>]
[-InformationVariable <String>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
说明
Connect-AzureAD cmdlet 连接要用于 Azure Active Directory cmdlet 请求的经过身份验证的帐户。
只能将此经过身份验证的帐户与 Azure Active Directory cmdlet 一起使用。
示例
示例 1:将 PowerShell 会话连接到租户
PS C:\> Connect-AzureAD -Confirm
此命令将当前 PowerShell 会话连接到 Azure Active Directory 租户。 该命令会提示输入要连接到的租户的用户名和密码。 Confirm 参数会提示你进行确认。
如果为凭据启用了多重身份验证,则必须使用交互式选项登录或使用服务主体身份验证。
示例 2:使用变量连接会话
PS C:\> $Credential = Get-Credential
PS C:\> Connect-AzureAD -Credential $Credential
第一个命令获取用户凭据,然后将其存储在 $Credential 变量中。
第二个命令使用 $Credential 中的凭据连接当前 PowerShell 会话。
此帐户使用组织 ID 凭据向 Azure Active Directory 进行身份验证。 不能使用此帐户使用多重身份验证或 Microsoft 帐户凭据来运行 Azure Active Directory cmdlet。
示例 3:将会话作为服务主体进行连接
# Login to Azure AD PowerShell With Admin Account
Connect-AzureAD
# Create the self signed cert
$currentDate = Get-Date
$endDate = $currentDate.AddYears(1)
$notAfter = $endDate.AddYears(1)
$pwd = "<password>"
$thumb = (New-SelfSignedCertificate -CertStoreLocation cert:\localmachine\my -DnsName com.foo.bar -KeyExportPolicy Exportable -Provider "Microsoft Enhanced RSA and AES Cryptographic Provider" -NotAfter $notAfter).Thumbprint
$pwd = ConvertTo-SecureString -String $pwd -Force -AsPlainText
Export-PfxCertificate -cert "cert:\localmachine\my\$thumb" -FilePath c:\temp\examplecert.pfx -Password $pwd
# Load the certificate
$cert = New-Object System.Security.Cryptography.X509Certificates.X509Certificate("C:\temp\examplecert.pfx", $pwd)
$keyValue = [System.Convert]::ToBase64String($cert.GetRawCertData())
# Create the Azure Active Directory Application
$application = New-AzureADApplication -DisplayName "test123" -IdentifierUris "https://test123"
New-AzureADApplicationKeyCredential -ObjectId $application.ObjectId -CustomKeyIdentifier "Test123" -StartDate $currentDate -EndDate $endDate -Type AsymmetricX509Cert -Usage Verify -Value $keyValue
# Create the Service Principal and connect it to the Application
$sp=New-AzureADServicePrincipal -AppId $application.AppId
# Give the Service Principal Reader access to the current tenant (Get-AzureADDirectoryRole)
Add-AzureADDirectoryRoleMember -ObjectId 5997d714-c3b5-4d5b-9973-ec2f38fd49d5 -RefObjectId $sp.ObjectId
# Get Tenant Detail
$tenant=Get-AzureADTenantDetail
# Now you can login to Azure PowerShell with your Service Principal and Certificate
Connect-AzureAD -TenantId $tenant.ObjectId -ApplicationId $sp.AppId -CertificateThumbprint $thumb
此命令将用户作为服务主体向 Azure Active Directory 进行身份验证。
参数
-AadAccessToken
指定 Azure Active Directory Graph 访问令牌。
类型: | String |
Position: | Named |
默认值: | None |
必需: | True |
接受管道输入: | False |
接受通配符: | False |
-AccountId
指定帐户的 ID。 在使用用户访问令牌进行身份验证时,必须指定用户的 UPN。
类型: | String |
Position: | Named |
默认值: | None |
必需: | True |
接受管道输入: | False |
接受通配符: | False |
-ApplicationId
指定服务主体的应用程序 ID。
类型: | String |
Position: | Named |
默认值: | None |
必需: | True |
接受管道输入: | False |
接受通配符: | False |
-AzureEnvironmentName
指定 Azure 环境的名称。 此参数的可接受值为:
- AzureCloud
- AzureChinaCloud
- AzureUSGovernment
- AzureGermanyCloud
默认值为 AzureCloud。
类型: | EnvironmentName |
Position: | Named |
默认值: | None |
必需: | False |
接受管道输入: | False |
接受通配符: | False |
-CertificateThumbprint
指定有权执行此操作的用户帐户的数字公钥 X.509 证书的证书指纹。
类型: | String |
Position: | Named |
默认值: | None |
必需: | True |
接受管道输入: | False |
接受通配符: | False |
-Confirm
提示你在运行 cmdlet 之前进行确认。
类型: | SwitchParameter |
别名: | cf |
Position: | Named |
默认值: | False |
必需: | False |
接受管道输入: | False |
接受通配符: | False |
-Credential
指定 PSCredential 对象。 有关 PSCredential 对象的详细信息,请键入 Get-Help Get-Credential。
PSCredential 对象提供组织 ID 凭据的用户 ID 和密码。
类型: | PSCredential |
Position: | Named |
默认值: | None |
必需: | False |
接受管道输入: | False |
接受通配符: | False |
-InformationAction
指定此 cmdlet 如何响应信息事件。 此参数的可接受值为:
- 继续
- 忽略
- 查询
- SilentlyContinue
- 停止
- 挂起
类型: | ActionPreference |
别名: | infa |
Position: | Named |
默认值: | None |
必需: | False |
接受管道输入: | False |
接受通配符: | False |
-InformationVariable
指定要在其中存储信息事件消息的变量。
类型: | String |
别名: | iv |
Position: | Named |
默认值: | None |
必需: | False |
接受管道输入: | False |
接受通配符: | False |
-LogFilePath
此 PowerShell 会话的日志文件写入到的路径。 如果需要偏离默认 PowerShell 日志文件位置,请在此处提供一个值。
类型: | String |
Position: | Named |
默认值: | None |
必需: | False |
接受管道输入: | False |
接受通配符: | False |
-LogLevel
指定日志级别。 此参数的可获取值为:
- 信息
- 错误
- 警告
- 无
默认值为“信息”。
类型: | LogLevel |
Position: | Named |
默认值: | None |
必需: | False |
接受管道输入: | False |
接受通配符: | False |
-MsAccessToken
指定 Microsoft Graph 访问令牌。
类型: | String |
Position: | Named |
默认值: | None |
必需: | False |
接受管道输入: | False |
接受通配符: | False |
-TenantId
指定租户的 ID。
如果未指定此参数,则会使用主租户对帐户进行身份验证。
必须指定 TenantId 参数,以服务主体身份或使用 Microsoft 帐户进行身份验证。
类型: | String |
别名: | Domain, TenantDomain |
Position: | Named |
默认值: | None |
必需: | True |
接受管道输入: | False |
接受通配符: | False |
-WhatIf
显示运行该 cmdlet 时会发生什么情况。 此 cmdlet 未运行。
类型: | SwitchParameter |
别名: | wi |
Position: | Named |
默认值: | False |
必需: | False |
接受管道输入: | False |
接受通配符: | False |