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 a parancssorban megjelenő képaláírás, ü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 anélkül, hogy Get-Credential a felhasználót kérték. Ez a módszer egyszerű szöveges jelszót igényel, ami egyes vállalatok biztonsági előírásait sértheti.

$User = "Domain01\User01"
$PWord = ConvertTo-SecureString -String "P@sSwOrd" -AsPlainText -Force
$Credential = New-Object -TypeName System.Management.Automation.PSCredential -ArgumentList $User, $PWord

Az első parancs menti a felhasználói fiók nevét a $User paraméterben. Az értéknek "Domain\User" vagy "ComputerName\User" formátumúnak kell lennie.

A második parancs a ConvertTo-SecureString parancsmaggal hoz létre egy egyszerű szöveges jelszóból származó biztonságos sztringet. A parancs az AsPlainText paraméterrel jelzi, hogy a sztring egyszerű szöveg, a Force paraméter pedig annak ellenőrzésére, hogy tisztában van-e az egyszerű szöveg használatának kockázataival.

A harmadik parancs a New-Object parancsmaggal hoz létre egy PSCredential objektumot a változók és $PWord a $User változók értékeibő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 -Credentialnem 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?.

Type:PSCredential
Position:1
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters: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.

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters: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.

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters: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.

Type:String
Position:1
Default value:None (blank)
Required:False
Accept pipeline input:False
Accept wildcard characters:False

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, 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.