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>
[<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 Windows PowerShell 3.0-tól kezdve az Üzenet paraméterrel megadhat egy testreszabott üzenetet a párbeszédpanelen, amely a felhasználó nevét és jelszavát kéri.
A Get-Credential parancsmag jelszót vagy felhasználónevet és jelszót kér a felhasználótól. Alapértelmezés szerint megjelenik egy hitelesítési párbeszédpanel, amely kéri a felhasználót. Egyes gazdagépprogramokban, például a Windows PowerShell-konzolon azonban egy beállításjegyzék-bejegyzés módosításával kérheti a felhasználót a parancssorban. A beállításjegyzék-bejegyzéssel kapcsolatos további információkért tekintse meg a megjegyzéseket és példákat.
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 megjelenik egy párbeszédpanel, amely felhasználónevet és jelszót kér. 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 Windows 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
Get-WmiObject Win32_DiskDrive -ComputerName Server01 -Credential $c
Ezek a parancsok olyan hitelesítő objektumot használnak, amelyet a Get-Credential parancsmag visszaad egy felhasználó távoli számítógépen való hitelesítéséhez, hogy a Windows Management Instrumentation (WMI) használatával felügyelhessék a számítógépet.
Az első parancs lekéri a hitelesítő objektumot, és menti azt a $c változóba. A második parancs a hitelesítő objektumot használja egy Get-WmiObject parancsban. Ez a parancs a Server01 számítógépen található lemezmeghajtókról szerez be információkat.
3. példa
Get-WmiObject Win32_BIOS -ComputerName Server01 -Credential (Get-Credential -Credential Domain01\User01)
Ez a parancs bemutatja, hogyan lehet Get-Credential parancsot belefoglalni egy Get-WmiObject parancsba.
Ez a parancs a Get-WmiObject parancsmagot használja a Server01 számítógépen található BIOS információinak lekéréséhez. A Hitelesítő adatok paraméterrel hitelesíti a felhasználót, a Domain01\User01 és a Get-Credential parancsot a Hitelesítő adatok paraméter értékeként.
4. példa
PS> $c = Get-Credential -credential User01
PS> $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.
5. 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 az üzenetmezőben megjelenő feliratot, üzeneteket és felhasználónevet.
6. példa
Set-ItemProperty "HKLM:\SOFTWARE\Microsoft\PowerShell\1\ShellIds" -Name ConsolePrompting -Value $true
Ez a példa bemutatja, hogyan módosíthatja a beállításjegyzéket úgy, hogy a rendszer a parancssorba kérje a felhasználót a párbeszédpanel helyett.
A parancs létrehozza a ConsolePrompting beállításjegyzék-bejegyzést, és igaz értékre állítja. A parancs futtatásához indítsa el a Windows PowerShellt a "Futtatás rendszergazdaként" lehetőséggel.
Ha párbeszédpanelt szeretne használni a kéréshez, állítsa a ConsolePrompting értékét hamisra ($false), vagy törölje a Remove-ItemProperty parancsmagot.
A ConsolePrompting beállításjegyzék-bejegyzés működik egyes gazdagépprogramokban, például a Windows PowerShell-konzolon. Lehet, hogy nem minden gazdagépprogramban működik.
7. példa
Ez a példa bemutatja, hogyan hozhat létre olyan hitelesítő objektumot, amely megegyezik azzal az objektummal, amelyet Get-Credential a felhasználó kérése nélkül visszaad. Ez a módszer egyszerű szöveges jelszót igényel, ami egyes vállalatok biztonsági előírásait sértheti.
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
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 Kényszerítse paramétert 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 $User és $PWord változók értékeiből.
8. példa
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:
Ez a parancs a Get-Credential parancsmag Message és UserName 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.
9. példa
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
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 azt a távoli biztonsági üzenetet jeleníti meg, amelyet Get-Credential tartalmaz a hitelesítési kérésben.
Paraméterek
-Credential
Megadja a hitelesítő adatok felhasználónevét, például "User01" vagy "Domain01\User01". A paraméter neve ("Hitelesítő adatok") megadása nem kötelező.
A parancs elküldésekor a rendszer jelszó megadását kéri.
A Windows 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é.
Ha kihagyja ezt a paramétert, a rendszer kérni fogja a felhasználónevet és a jelszót.
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ő: | True |
| 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 Windows 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ő: | True |
| 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.
Amikor megjelenik a hitelesítési kérés egy párbeszédpanelen, a felhasználó szerkesztheti a megadott felhasználónevet. A felhasználó azonban nem módosíthatja a felhasználónevet, amikor a parancssorban megjelenik a parancssor. Ha ezt a paramétert megosztott függvényben vagy szkriptben használja, fontolja meg az összes lehetséges bemutatót.
Ezt a paramétert a Windows 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 csövezhet be bemenetet.
Kimenetek
PSCredential
Get-Credential hitelesítő objektumot ad vissza.
Jegyzetek
Használhatja az
Alapértelmezés szerint a hitelesítési kérés megjelenik egy párbeszédpanelen. Ha meg szeretné jeleníteni a parancssorban a hitelesítési kérést, adja hozzá a ConsolePrompting beállításjegyzék-bejegyzést (HKLM:\SOFTWARE\Microsoft\PowerShell\1\ShellIds\ConsolePrompting), és állítsa igaz értékre. Ha a ConsolePrompting beállításjegyzék-bejegyzés nem létezik, vagy ha értéke Hamis, a hitelesítési kérés megjelenik egy párbeszédpanelen. Útmutatásért tekintse meg a példákat.
A ConsolePrompting beállításjegyzék-bejegyzés a Windows PowerShell-konzolon működik, de nem minden gazdagépprogramban működik.
Például nincs hatása a Windows PowerShell integrált szkriptelési környezetében (ISE). A ConsolePrompting beállításjegyzék-bejegyzés hatásáról a gazdagépprogram súgótémaköreiből tájékozódhat.
A Hitelesítő adatok paramétert a Windows PowerShell-lel telepített összes szolgáltató nem támogatja. A Windows PowerShell 3.0-tól kezdve támogatott a kijelölt parancsmagokon, például a Get-WmiObject és New-PSDrive parancsmagokon.