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>]
[<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í.
Počínaje windows PowerShellem 3.0 můžete pomocí parametru Zpráva zadat v dialogovém okně přizpůsobenou zprávu, která uživatele vyzve k zadání jména a hesla.
Rutina Get-Credential vyzve uživatele k zadání hesla nebo uživatelského jména a hesla. Ve výchozím nastavení se zobrazí dialogové okno pro ověření, které uživatele vyzve. V některých hostitelských programech, jako je například konzola Windows PowerShellu, ale můžete uživatele na příkazovém řádku vyzvat změnou položky registru. Další informace o této položce registru najdete v poznámkách a příkladech.
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í dialogové okno s žádostí o uživatelské jméno a heslo. Když zadáte požadované informace, rutina vytvoří PSCredential objekt 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 nainstalovaní s Windows PowerShellem, ale nepodporují parametr přihlašovacích údajů.
Příklad 2
$c = Get-Credential
Get-WmiObject Win32_DiskDrive -ComputerName Server01 -Credential $c
Tyto příkazy používají objekt přihlašovacích údajů, který rutina Get-Credential vrací k ověření uživatele na vzdáleném počítači, aby mohl ke správě počítače použít rozhraní WMI (Windows Management Instrumentation).
První příkaz získá objekt přihlašovacích údajů a uloží ho do proměnné $c. Druhý příkaz používá objekt přihlašovacích údajů v příkazu Get-WmiObject. Tento příkaz získá informace o diskových jednotkách na počítači Server01.
Příklad 3
Get-WmiObject Win32_BIOS -ComputerName Server01 -Credential (Get-Credential -Credential Domain01\User01)
Tento příkaz ukazuje, jak do příkazu Get-WmiObject zahrnout příkaz Get-Credential.
Tento příkaz používá rutinu Get-WmiObject k získání informací o systému BIOS na počítači se serverem Server01. Používá parametr credential k ověření uživatele, Domain01\User01 a Get-Credential jako hodnotu parametru Credential.
Příklad 4
PS> $c = Get-Credential -credential User01
PS> $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 5
$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í v poli zprávy.
Příklad 6
Set-ItemProperty "HKLM:\SOFTWARE\Microsoft\PowerShell\1\ShellIds" -Name ConsolePrompting -Value $true
Tento příklad ukazuje, jak upravit registr tak, aby uživatel byl vyzván na příkazovém řádku místo pomocí dialogového okna.
Příkaz vytvoří položku registru ConsolePrompting a nastaví její hodnotu na True. Pokud chcete tento příkaz spustit, spusťte Windows PowerShell s možností Spustit jako správce.
Pokud chcete k zobrazení výzvy použít dialogové okno, nastavte hodnotu ConsolePrompting na false ($false) nebo ji odstraňte pomocí rutiny Remove-ItemProperty.
Položka registru ConsolePrompting funguje v některých hostitelských programech, jako je například konzola Windows PowerShellu. Nemusí fungovat ve všech hostitelských programech.
Příklad 7
Tento příklad ukazuje, jak vytvořit objekt přihlašovacích údajů, který je identický s objektem, který Get-Credential vrátí bez výzvy uživatele. Tato metoda vyžaduje heslo ve formátu prostého textu, které může porušit standardy zabezpečení v některých podnicích.
PS> $User = "Domain01\User01"
PS> $PWord = ConvertTo-SecureString -String "P@sSwOrd" -AsPlainText -Force
PS> $Credential = New-Object -TypeName System.Management.Automation.PSCredential -ArgumentList $User, $PWord
První příkaz uloží název uživatelského účtu do parametru $User. Hodnota musí mít formát Domain\User nebo ComputerName\User.
Druhý příkaz používá rutinu ConvertTo-SecureString k vytvoření zabezpečeného řetězce z hesla ve formátu prostého textu. Příkaz používá parametr AsPlainText k označení, že řetězec je prostý text a parametr Force k potvrzení, že rozumíte rizikům použití prostého textu.
Třetí příkaz používá rutinu New-Object k vytvoření objektu PSCredential z hodnot v $User a $PWord proměnných.
Příklad 8
PS> Get-Credential -Message "Credential are required for access to the \\Server1\Scripts file share." -User Server01\PowerUsers
Windows PowerShell Credential Request
Credential are required for access to the \\Server1\Scripts file share.
Password for user ntdev\juneb:
Tento příkaz používá parametry
Příklad 9
PS> Invoke-Command -ComputerName Server01 {Get-Credential Domain01\User02}
Windows PowerShell Credential Request : Windows 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 pro přihlašovací údaje, například "User01" nebo "Domain01\User01". Název parametru ("Credential") je volitelný.
Po odeslání příkazu se zobrazí výzva k zadání hesla.
Počínaje windows 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.
Pokud tento parametr vynecháte, zobrazí se výzva k zadání uživatelského jména a hesla.
Typ: | PSCredential |
Position: | 1 |
Default value: | None |
Vyžadováno: | True |
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 je zavedený ve Windows PowerShellu 3.0.
Typ: | String |
Position: | Named |
Default value: | None |
Vyžadováno: | True |
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.
Po zobrazení výzvy k ověření v dialogovém okně může uživatel upravit zadané uživatelské jméno. Uživatel však nemůže změnit uživatelské jméno, když se na příkazovém řádku zobrazí výzva. Při použití tohoto parametru ve sdílené funkci nebo skriptu zvažte všechny možné prezentace.
Tento parametr je zavedený ve Windows 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
Vstup do této rutiny nelze převést.
Výstupy
Get-Credential 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 u parametru přihlašovacích údajů.
Ve výchozím nastavení se v dialogovém okně zobrazí výzva k ověření. Pokud chcete na příkazovém řádku zobrazit příkazový řádek, přidejte položku registru
Položka registru ConsolePrompting funguje v konzole Windows PowerShellu, ale nefunguje ve všech hostitelských programech.
Například nemá žádný vliv na integrované skriptovací prostředí (ISE) windows PowerShellu. Informace o účinku položky registru ConsolePrompting naleznete v tématech nápovědy pro hostitelský program.
Parametr přihlašovacích údajů není podporován všemi poskytovateli nainstalovanými ve Windows PowerShellu. Počínaje Windows PowerShellem 3.0 se podporuje u vybraných rutin, jako jsou Get-WmiObject a rutiny New-PSDrive.