共用方式為


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>]

Description

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 工作階段。

此帳戶會使用組織標識碼認證向 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

指定帳戶的識別碼。 使用使用者存取權杖進行驗證時,您必須指定使用者的 UPN。

類型:String
Position:Named
預設值:None
必要:True
接受管線輸入:False
接受萬用字元:False

-ApplicationId

指定服務主體的應用程式識別碼。

類型: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 物件會提供組織標識碼認證的使用者標識碼和密碼。

類型:PSCredential
Position:Named
預設值:None
必要:False
接受管線輸入:False
接受萬用字元:False

-InformationAction

指定此 Cmdlet 如何回應資訊事件。 此參數可接受的值為:

  • 繼續
  • 忽略
  • 詢問
  • SilentlyContinue
  • Stop
  • 暫止
類型: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

指定記錄層級。 此參數的可存取值如下:

  • Info
  • [錯誤]
  • 警告
  • None

預設值為資訊。

類型:LogLevel
Position:Named
預設值:None
必要:False
接受管線輸入:False
接受萬用字元:False

-MsAccessToken

指定 Microsoft Graph 存取令牌。

類型:String
Position:Named
預設值:None
必要:False
接受管線輸入:False
接受萬用字元:False

-TenantId

指定租用戶的識別碼。

如果您未指定此參數,帳戶會向主租用戶進行驗證。

您必須指定 TenantId 參數,以驗證為服務主體或使用 Microsoft 帳戶時。

類型:String
別名:Domain, TenantDomain
Position:Named
預設值:None
必要:True
接受管線輸入:False
接受萬用字元:False

-WhatIf

顯示執行 Cmdlet 後會發生的情況。 Cmdlet 並不會執行。

類型:SwitchParameter
別名:wi
Position:Named
預設值:False
必要:False
接受管線輸入:False
接受萬用字元:False