Get-Credential
Egy hitelesítő objektumot kér le felhasználónév és jelszó alapján.
Syntax
Get-Credential
[[-Credential] <PSCredential>]
[<CommonParameters>]
Get-Credential
[-Message <String>]
[[-UserName] <String>]
[-Title <String>]
[<CommonParameters>]
Description
A Get-Credential
parancsmag létrehoz egy hitelesítő objektumot egy megadott felhasználónévhez és jelszóhoz. A hitelesítő objektumot a biztonsági műveletekben is használhatja.
A Get-Credential
parancsmag jelszót vagy felhasználónevet és jelszót kér a felhasználótól. Az Üzenet paraméterrel testre szabott üzenetet adhat meg a kéréshez.
A Windows PowerShell 5.1-ben és korábbi verzióiban a Windows egy párbeszédpanelt jelenít meg, amely a felhasználónév és a jelszó megadását kéri. A PowerShell 6.0-s és újabb verzióiban a parancssor minden platform konzolján megjelenik.
Példák
1. példa
$c = Get-Credential
Ez a parancs lekéri a hitelesítő objektumot, és menti azt a $c
változóba.
A parancs megadásakor a rendszer kérni fogja a felhasználónevet és a jelszót. A kért adatok megadásakor a parancsmag létrehoz egy PSCredential objektumot, amely a felhasználó hitelesítő adatait jelöli, és menti a $c
változóban.
Az objektumot bemenetként használhatja a felhasználói hitelesítést kérő parancsmagokhoz, például a hitelesítő adatok paraméterrel rendelkező parancsmagokhoz. A PowerShell-lel telepített egyes szolgáltatók azonban nem támogatják a Hitelesítő adatok paramétert .
2. példa
$c = Get-Credential -credential User01
$c.Username
User01
Ez a példa létrehoz egy hitelesítő adatot, amely tartománynév nélküli felhasználónevet tartalmaz.
Az első parancs lekéri a User01 felhasználónévvel rendelkező hitelesítő adatokat, és tárolja azt a $c
változóban.
A második parancs megjeleníti az eredményül kapott hitelesítőadat-objektum Felhasználónév tulajdonságának értékét.
3. példa
$Credential = $host.ui.PromptForCredential("Need credentials", "Please enter your user name and password.", "", "NetBiosUserName")
Ez a parancs a PromptForCredential metódus használatával kéri a felhasználótól a felhasználónevet és a jelszót. A parancs menti az eredményként kapott hitelesítő adatokat a $Credential
változóban.
A PromptForCredential metódus alternatíva a Get-Credential
parancsmag használata helyett. Az PromptForCredential használatakor megadhatja az üzenetben megjelenő feliratot, üzeneteket és felhasználónevet.
További információ: PromptForCredential dokumentáció az SDK-ban.
4. példa
Ez a példa bemutatja, hogyan hozhat létre olyan hitelesítő objektumot, amely megegyezik a visszaadott objektummal Get-Credential
.
$User = "Domain01\User01"
$PWord = Read-Host -Prompt 'Enter a Password' -AsSecureString
$Credential = New-Object -TypeName System.Management.Automation.PSCredential -ArgumentList $User, $PWord
Az első parancs hozzárendeli a felhasználónevet a $User
változóhoz. Győződjön meg arról, hogy az érték a "Domain\User" vagy a "ComputerName\User" formátumot követi.
A második parancs a Read-Host
parancsmaggal hoz létre egy biztonságos sztringet a felhasználói bemenetből. A Prompt paraméter felhasználói bemenetet kér, az AsSecureString paraméter pedig maszkolja a bemenetet, és biztonságos sztringgé alakítja.
A harmadik parancs a New-Object
parancsmaggal hoz létre egy PSCredential objektumot a benne és $PWord
változókban $User
tárolt értékekből.
5. példa
Get-Credential -Message "Credential are required for access to the \\Server1\Scripts file share." -User Server01\PowerUser
PowerShell Credential Request
Credential are required for access to the \\Server1\Scripts file share.
Password for user Server01\PowerUser:
Ez a parancs a parancsmag Message és UserName paramétereit Get-Credential
használja. Ez a parancsformátum megosztott szkriptekhez és függvényekhez készült. Ebben az esetben az üzenet tájékoztatja a felhasználót arról, hogy miért van szükség hitelesítő adatokra, és biztosítja számukra, hogy a kérés jogos.
6. példa
Invoke-Command -ComputerName Server01 {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
Ez a parancs lekéri a hitelesítő adatokat a Server01 távoli számítógépről. A parancs a Invoke-Command
parancsmaggal futtat egy Get-Credential
parancsot a távoli számítógépen. A kimenet a hitelesítési parancssorban található távoli biztonsági üzenetet Get-Credential
jeleníti meg.
Paraméterek
-Credential
Megadja a hitelesítő adatok (például User01 vagy Domain01\User01) felhasználónevét. A paraméter neve -Credential
nem kötelező.
Amikor elküldi a parancsot, és megadja a felhasználónevet, a rendszer jelszót kér. Ha kihagyja ezt a paramétert, a rendszer egy felhasználónevet és egy jelszót kér.
A PowerShell 3.0-tól kezdve, ha tartomány nélküli felhasználónevet ad meg, Get-Credential
a továbbiakban nem szúr be fordított perjelet a név elé.
A hitelesítő adatokat PSCredential objektum tárolja, a jelszót pedig SecureStringként tárolja a rendszer.
Feljegyzés
További információ a SecureString adatvédelemről: Mennyire biztonságos a SecureString?.
Típus: | PSCredential |
Position: | 1 |
Alapértelmezett érték: | None |
Kötelező: | False |
Folyamatbemenet elfogadása: | False |
Helyettesítő karakterek elfogadása: | False |
-Message
A hitelesítési parancssorban megjelenő üzenetet adja meg. Ezt a paramétert egy függvényben vagy szkriptben való használatra tervezték. Az üzenet segítségével elmagyarázhatja a felhasználónak, hogy miért kér hitelesítő adatokat, és hogyan fogják használni őket.
Ezt a paramétert a PowerShell 3.0-ban vezettük be.
Típus: | String |
Position: | Named |
Alapértelmezett érték: | None |
Kötelező: | False |
Folyamatbemenet elfogadása: | False |
Helyettesítő karakterek elfogadása: | False |
-Title
Beállítja a konzolon a hitelesítési kérés címsorának szövegét.
Ezt a paramétert a PowerShell 6.0-ban vezettük be.
Típus: | String |
Position: | Named |
Alapértelmezett érték: | None |
Kötelező: | False |
Folyamatbemenet elfogadása: | False |
Helyettesítő karakterek elfogadása: | False |
-UserName
Felhasználónevet ad meg. A hitelesítési kérés jelszót kér a felhasználónévhez. Alapértelmezés szerint a felhasználónév üres, és a hitelesítési kérés felhasználónevet és jelszót is kér.
Ezt a paramétert a PowerShell 3.0-ban vezettük be.
Típus: | String |
Position: | 1 |
Alapértelmezett érték: | None (blank) |
Kötelező: | False |
Folyamatbemenet elfogadása: | False |
Helyettesítő karakterek elfogadása: | False |
Bevitelek
None
Ehhez a parancsmaghoz nem lehet objektumokat csövezni.
Kimenetek
Ez a parancsmag egy hitelesítő objektumot ad vissza.
Jegyzetek
Használhatja a PSCredential objektumot, amely Get-Credential
felhasználói hitelesítést kérő parancsmagokban jön létre, például hitelesítő paraméterrel rendelkező parancsmagokban.
A hitelesítőadat-paramétert nem támogatja minden, a PowerShell-lel telepített szolgáltató.
A PowerShell 3.0-tól kezdve támogatott a kiválasztott parancsmagok, például a parancsmagok és New-PSDrive
a Get-Content
parancsmagok esetén.