Get-Credential
Získá objekt přihlašovacích údajů na základě uživatelského jména a hesla.
Syntaxe
Get-Credential
[[-Credential] <PSCredential>]
[<CommonParameters>]
Get-Credential
[-Message <String>]
[[-UserName] <String>]
[-Title <String>]
[<CommonParameters>]
Description
Rutina Get-Credential
vytvoří objekt přihlašovacích údajů pro zadané uživatelské jméno a heslo. Objekt přihlašovacích údajů můžete použít v operacích zabezpečení.
Rutina Get-Credential
vyzve uživatele k zadání hesla nebo uživatelského jména a hesla. Pomocí parametru Message můžete zadat přizpůsobenou zprávu pro výzvu.
Ve Windows PowerShellu 5.1 a starším zobrazí Windows dialogové okno s výzvou k zadání uživatelského jména a hesla. V PowerShellu 6.0 a novějším se výzva zobrazí v konzole pro všechny platformy.
Příklady
Příklad 1
$c = Get-Credential
Tento příkaz získá objekt přihlašovacích údajů a uloží ho do proměnné $c
.
Po zadání příkazu se zobrazí výzva k zadání uživatelského jména a hesla. Když zadáte požadované informace, rutina vytvoří objekt PSCredential představující přihlašovací údaje uživatele a uloží ho do proměnné $c
.
Objekt můžete použít jako vstup pro rutiny, které požadují ověření uživatele, jako jsou například rutiny s parametrem credential. Někteří poskytovatelé, kteří jsou nainstalováni pomocí PowerShellu, ale nepodporují parametr přihlašovacích údajů.
Příklad 2
$c = Get-Credential -Credential User01
$c.Username
User01
Tento příklad vytvoří přihlašovací údaje, které obsahují uživatelské jméno bez názvu domény.
První příkaz získá přihlašovací údaje s uživatelským jménem User01 a uloží ho do proměnné $c
.
Druhý příkaz zobrazí hodnotu vlastnosti Uživatelské jméno výsledného objektu přihlašovacích údajů.
Příklad 3
$Credential = $Host.ui.PromptForCredential(
"Need credentials", "Please enter your user name and password.", "", "NetBiosUserName")
Tento příkaz používá metodu PromptForCredential k zobrazení výzvy uživateli k zadání uživatelského jména a hesla. Příkaz uloží výsledné přihlašovací údaje do proměnné $Credential
.
Metoda PromptForCredential je alternativou k použití rutiny Get-Credential
. Pokud používáte PromptForCredential, můžete zadat titulek, zprávy a uživatelské jméno, které se zobrazí na příkazovém řádku.
Další informace najdete v dokumentaci PromptForCredential v rámci sady SDK.
Příklad 4
Tento příklad ukazuje, jak vytvořit objekt pověření identický s objektem vráceným Get-Credential
.
$User = "Domain01\User01"
$PWord = Read-Host -Prompt 'Enter a Password' -AsSecureString
$credentialParams = @{
TypeName = 'System.Management.Automation.PSCredential'
ArgumentList = $User, $PWord
}
$Credential = New-Object @credentialParams
První příkaz přiřadí uživatelské jméno k proměnné $User
. Ujistěte se, že hodnota odpovídá formátu Domain\User nebo ComputerName\User.
Druhý příkaz používá rutinu Read-Host
k vytvoření zabezpečeného řetězce ze vstupu uživatele.
Prompt parametr požaduje uživatelský vstup a AsSecureString parametr maskuje vstup a převede ho na zabezpečený řetězec.
Třetí příkaz používá rutinu New-Object
k vytvoření objektu PSCredential z hodnot uložených v $User
a $PWord
proměnných.
Příklad 5
$credentialParams = @{
Message = "Credential are required for access to the \\Server1\Scripts file share."
UserName = "Server01\PowerUser"
}
Get-Credential @credentialParams
PowerShell Credential Request
Credential are required for access to the \\Server1\Scripts file share.
Password for user Server01\PowerUser:
Tento příkaz používá parametry Message a UserName rutiny Get-Credential
. Tento formát příkazu je určený pro sdílené skripty a funkce. V tomto případě zpráva uživateli řekne, proč jsou potřeba přihlašovací údaje, a dává mu jistotu, že požadavek je legitimní.
Příklad 6
Invoke-Command -ComputerName Server01 -ScriptBlock {Get-Credential Domain01\User02}
PowerShell Credential Request : PowerShell Credential Request
Warning: This credential is being requested by a script or application on the SERVER01 remote
computer. Enter your credentials only if you trust the remote computer and the application or script
requesting it.
Enter your credentials.
Password for user Domain01\User02: ***************
PSComputerName : Server01
RunspaceId : 422bdf52-9886-4ada-ab2f-130497c6777f
PSShowComputerName : True
UserName : Domain01\User01
Password : System.Security.SecureString
Tento příkaz získá přihlašovací údaje ze vzdáleného počítače Serveru01. Příkaz používá rutinu Invoke-Command
ke spuštění příkazu Get-Credential
na vzdáleném počítači. Výstup zobrazuje zprávu o vzdáleném zabezpečení, která Get-Credential
zahrnuje do výzvy k ověření.
Parametry
-Credential
Určuje uživatelské jméno přihlašovacích údajů, například User01 nebo Domain01\User01. Název parametru -Credential
je volitelný.
Když příkaz odešlete a zadáte uživatelské jméno, zobrazí se výzva k zadání hesla. Pokud tento parametr vynecháte, zobrazí se výzva k zadání uživatelského jména a hesla.
Počínaje PowerShellem 3.0, pokud zadáte uživatelské jméno bez domény, Get-Credential
už před název nevloží zpětné lomítko.
Přihlašovací údaje jsou uloženy v objektu PSCredential a heslo je uloženo jako SecureString.
Poznámka
Další informace o ochraně dat SecureString najdete v tématu Jak zabezpečený je SecureString?.
Typ: | PSCredential |
Position: | 1 |
Default value: | None |
Vyžadováno: | False |
Přijmout vstup kanálu: | False |
Přijmout zástupné znaky: | False |
-Message
Určuje zprávu, která se zobrazí v výzvě k ověření. Tento parametr je určený pro použití ve funkci nebo skriptu. Pomocí zprávy můžete uživateli vysvětlit, proč požadujete přihlašovací údaje a jak se budou používat.
Tento parametr byl představen v PowerShellu 3.0.
Typ: | String |
Position: | Named |
Default value: | None |
Vyžadováno: | False |
Přijmout vstup kanálu: | False |
Přijmout zástupné znaky: | False |
-Title
Nastaví text titulku pro autentizační výzvu v konzole.
Tento parametr byl představen v PowerShellu 6.0.
Typ: | String |
Position: | Named |
Default value: | None |
Vyžadováno: | False |
Přijmout vstup kanálu: | False |
Přijmout zástupné znaky: | False |
-UserName
Určuje uživatelské jméno. Výzva k ověření požádá o heslo pro uživatelské jméno. Ve výchozím nastavení je uživatelské jméno prázdné a výzva k ověření vyžaduje uživatelské jméno i heslo.
Tento parametr byl představen v PowerShellu 3.0.
Typ: | String |
Position: | 1 |
Default value: | None (blank) |
Vyžadováno: | False |
Přijmout vstup kanálu: | False |
Přijmout zástupné znaky: | False |
Vstupy
None
K této rutinně nemůžete směrovat objekty.
Výstupy
Tato rutina vrátí objekt přihlašovacích údajů.
Poznámky
Můžete použít objekt PSCredential, který Get-Credential
vytvoří v rutinách, které požadují ověření uživatele, například v rutinách s parametrem credential.
Parametr přihlašovacích údajů není podporován všemi poskytovateli nainstalovanými pomocí PowerShellu.
Počínaje verzí 3.0 PowerShell, je podpora dostupná pro vybrané rutiny, jako jsou rutiny Get-Content
a New-PSDrive
.