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-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!
這個範例展示了如何用 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。