Get-Credential
Egy hitelesítő objektumot kér le felhasználónév és jelszó alapján.
Syntax
CredentialSet (Alapértelmezett)
Get-Credential
[[-Credential] <PSCredential>]
[<CommonParameters>]
MessageSet
Get-Credential
[[-UserName] <String>]
[-Message <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 azokat a $c változóba.
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 a $c változóban tárolja.
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álatára. Ha PromptForCredentialhasznál, megadhatja a parancssorban megjelenő feliratot, üzeneteket és felhasználónevet.
További információ: PromptForCredential dokumentációja az SDK-ban.
4. példa
Ez a példa bemutatja, hogyan hozhat létre olyan hitelesítő objektumot, amely megegyezik a Get-Credentialáltal visszaadott objektummal.
$User = "Domain01\User01"
$PWord = Read-Host -Prompt 'Enter a Password' -AsSecureString
$credentialParams = @{
TypeName = 'System.Management.Automation.PSCredential'
ArgumentList = $User, $PWord
}
$Credential = New-Object @credentialParams
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 $User és $PWord változókban tárolt értékekből.
5. példa
$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:
Ez a parancs a -parancsmag Message és Get-Credential paraméterét 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 -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
Ez a parancs a Server01 távoli számítógépről kéri le a hitelesítő adatokat. A parancs a Invoke-Command parancsmaggal futtat egy Get-Credential parancsot a távoli számítógépen. A kimenet a Get-Credential által a hitelesítési felszólításban szereplő távoli biztonsági üzenetet jeleníti meg.
Paraméterek
-Credential
Adja meg a hitelesítő adatokhoz tartozó felhasználónevet, például User01 vagy Domain01\User01. A paraméter neve (-Credential) megadása 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 már nem szúr be fordított perjelet a név elé.
A hitelesítő adatokat egy PSCredential objektum tárolja, a jelszó pedig SecureString.
Megjegyzés:
További információért a SecureString adatvédelemről lásd: Mennyire biztonságos a SecureString?.
Paramétertulajdonságok
| Típus: | PSCredential |
| Alapértelmezett érték: | None |
| Támogatja a helyettesítő karaktereket: | False |
| DontShow: | False |
Paraméterkészletek
CredentialSet
| Position: | 1 |
| Kötelező: | False |
| Folyamatból származó érték: | False |
| Folyamatból származó érték tulajdonságnév alapján: | False |
| Fennmaradó argumentumokból származó érték: | 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.
Paramétertulajdonságok
| Típus: | String |
| Alapértelmezett érték: | None |
| Támogatja a helyettesítő karaktereket: | False |
| DontShow: | False |
Paraméterkészletek
MessageSet
| Position: | Named |
| Kötelező: | False |
| Folyamatból származó érték: | False |
| Folyamatból származó érték tulajdonságnév alapján: | False |
| Fennmaradó argumentumokból származó érték: | 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.
Paramétertulajdonságok
| Típus: | String |
| Alapértelmezett érték: | None |
| Támogatja a helyettesítő karaktereket: | False |
| DontShow: | False |
Paraméterkészletek
MessageSet
| Position: | Named |
| Kötelező: | False |
| Folyamatból származó érték: | False |
| Folyamatból származó érték tulajdonságnév alapján: | False |
| Fennmaradó argumentumokból származó érték: | 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.
Paramétertulajdonságok
| Típus: | String |
| Alapértelmezett érték: | None (blank) |
| Támogatja a helyettesítő karaktereket: | False |
| DontShow: | False |
Paraméterkészletek
MessageSet
| Position: | 1 |
| Kötelező: | False |
| Folyamatból származó érték: | False |
| Folyamatból származó érték tulajdonságnév alapján: | False |
| Fennmaradó argumentumokból származó érték: | False |
CommonParameters
Ez a parancsmag a következő gyakori paramétereket támogatja: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction és -WarningVariable. További információért lásd about_CommonParameters.
Bevitelek
None
Ehhez a parancsmaghoz nem lehet objektumokat csövezni.
Kimenetek
PSCredential
Ez a parancsmag egy hitelesítő objektumot ad vissza.
Jegyzetek
Használhatja a PSCredential objektumot, amelyet Get-Credential felhasználói hitelesítést kérő parancsmagokban hoz létre, például a hitelesítő adatok paraméterrel rendelkező.
A Hitelesítő adatok paramétert a PowerShell-lel telepített összes szolgáltató nem támogatja.
A PowerShell 3.0-tól kezdve támogatott bizonyos parancsmagokon, például a Get-Content és New-PSDrive parancsmagokon.