共用方式為


Get-Credential

根據使用者名稱和密碼取得認證物件。

語法

Get-Credential [-Credential] <PSCredential> [<CommonParameters>]

描述

Get-Credential Cmdlet 會為指定的使用者名稱和密碼建立認證物件。您可以在安全性操作中使用認證物件。

此 Cmdlet 會提示使用者輸入密碼或者使用者名稱和密碼。系統會透過對話方塊或命令列提示使用者,根據系統登錄設定而定。

參數

-Credential <PSCredential>

指定認證的使用者名稱,例如 "User01" 或 "Domain01\User01"。參數名稱 ("Credential") 為選擇項。

當您提交命令時,系統將提示您提供密碼。

如果您輸入沒有網域的使用者名稱,Get-Credential 會在名稱之前插入反斜線。

如果省略此參數,則會提示您提供使用者名稱和密碼。

必要?

true

位置?

1

預設值

接受管線輸入?

false

接受萬用字元?

false

<CommonParameters>

這個 Cmdlet 支援一般參數:-Verbose、-Debug、-ErrorAction、-ErrorVariable、-OutBuffer 和 -OutVariable。如需詳細資訊,請參閱 about_Commonparameters.

輸入和輸出

輸入型別是可經由管道輸出至 Cmdlet 的物件型別。傳回型別則是 Cmdlet 所傳回的物件型別。

輸入

您無法經由管道將輸入輸出至這個 Cmdlet。

輸出

System.Management.Automation.PSCredential

Get-Credential 會傳回認證物件。

附註

您可以在要求使用者驗證的 Cmdlet (例如使用 Credential 參數的 Cmdlet) 中使用 Get-Credential 所建立的 PSCredential 物件。

與 Windows PowerShell 一起安裝的提供者並不支援 Credential 參數。不過,您可以使用 Credential 參數搭配 Get-WmiObject,因為它會直接呼叫 Microsoft .NET Framework。

範例 1

C:\PS>$c = Get-Credential

描述
-----------
這個命令會取得認證物件,並將它儲存在 $c 變數中。

輸入此命令時,會出現對話方塊要求使用者名稱和密碼。輸入所要求的資訊後,此 cmdlet 會建立代表使用者認證的 PSCredential 物件,並將它儲存在 $c 變數中。

您可以使用該物件做為要求使用者驗證之 cmdlet (例如那些使用 Credential 參數的 cmdlet) 的輸入。不過,與 Windows PowerShell 一起安裝的提供者並不支援 Credential 參數。





範例 2

C:\PS>$c = Get-Credential

C:\PS>Get-WmiObject Win32_DiskDrive -ComputerName Server01 -Credential $c

描述
-----------
這些命令會使用來自 Get-Credential 的認證物件,以驗證遠端電腦上的使用者,讓他們可以使用 Windows Management Instrumentation (WMI) 來管理電腦。

第一個命令取得認證物件,並將它儲存在 $c 變數中。第二個命令會在 Get-WmiObject 命令中使用認證物件。這個命令會取得 Server01 電腦上磁碟機的相關資訊。





範例 3

C:\PS>C:\PS>Get-WmiObject Win32_BIOS -ComputerName Server01 '
-Credential (get-credential Domain01\User01)

描述
-----------
這個命令會示範如何在 Get-WmiObject 命令中加入 Get-Credential 命令。

這個命令會使用 Get-WmiObject Cmdlet 來取得 Server01 電腦上 BIOS 的相關資訊。它會使用 Credential 參數來驗證使用者 Domain01\User01,並使用 Get-Credential 命令當作 Credential 參數的值。





範例 4

C:\PS>$c = Get-Credential -credential User01

C:\PS>$c.Username

\User01

描述
-----------
這個範例會建立認證,其中包含使用者名稱,但沒有網域名稱。此範例示範 Get-Credential 會在使用者名稱之前插入反斜線。

第一個命令會取得使用者名稱 User01 的認證並將它儲存在 $c 變數中。

第二個命令則顯示所產生之認證物件的 Username 屬性值。





範例 5

C:\PS>$credential = $host.ui.PromptForCredential("Need credentials", "Please enter your user name and password.", "", "NetBiosUserName")

描述
-----------
此命令使用 PromptForCredential 方法提示使用者輸入使用者名稱和密碼。此命令將產生的認證儲存在 $credential 變數中。

PromptForCredential 是除了使用 Get-Credential 以外的另一項選擇。當您使用 PromptForCredential 時,可以指定出現在訊息方塊上的標題、訊息和使用者名稱。





範例 6

C:\PS>Set-ItemProperty 'HKLM:\SOFTWARE\Microsoft\PowerShell\1\ShellIds' ConsolePrompting $true

描述
-----------
當需要使用者名稱和密碼時,會出現對話方塊來提示使用者輸入。若要以命令列進行提示,請在 Windows PowerShell 中以 [以系統管理員身分執行] 執行此命令來修改登錄。

若要以對話方塊進行提示,請使用相同的命令搭配 "ConsolePrompting $false"。