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

Description

這個 Connect-Entra cmdlet 會用已認證的帳號連接到 Microsoft Entra ID。

根據你的使用情境,支援多種驗證情境,例如委派(互動式)和僅應用程式(非互動式)。

Connect-EntraConnect-MgGraph 的別名。

範例

範例 1:委派存取權:將 PowerShell 工作階段連接到租戶

Connect-Entra

這個範例展示了如何利用憑證將你目前的 PowerShell 會話連接到 Microsoft Entra ID 租戶。

範例 2:委派存取:將 PowerShell 會話連接到具有必要範圍的租戶

Connect-Entra -Scopes 'User.Read.All', 'Group.ReadWrite.All'
Welcome to Microsoft Graph!

這個範例展示了如何用 scope 驗證 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 身份連接,請指定 ContextScope 參數並設定 Process。

欲了解更多如何取得當前上下文的資訊,請參閱 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
別名:證書科目, 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
別名:秘密憑證, 認證

參數集

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
別名:環境名稱, 國家雲

參數集

(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

指定租戶的身分證件。

如果你沒指定這個參數,帳號就是用房客認證的。

你必須指定 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, 裝置代碼, 裝置驗證, 裝置

參數集

UserParameterSet
Position:Named
必要:False
來自管線的值:False
來自管線按屬性名稱的值:False
來自剩餘引數的值:False

CommonParameters

此 Cmdlet 支援一般參數:-Debug、-ErrorAction、-ErrorVariable、-InformationAction、-InformationVariable、-OutBuffer、-OutVariable、-PipelineVariable、-ProgressAction、-Verbose、-WarningAction 和 -WarningVariable。 如需詳細資訊,請參閱 about_CommonParameters