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"。