Get-Credential
Mendapatkan objek kredensial berdasarkan nama pengguna dan kata sandi.
Sintaks
Get-Credential
[[-Credential] <PSCredential>]
[<CommonParameters>]
Get-Credential
[-Message <String>]
[[-UserName] <String>]
[-Title <String>]
[<CommonParameters>]
Deskripsi
cmdlet Get-Credential
membuat objek kredensial untuk nama pengguna dan kata sandi tertentu. Anda dapat menggunakan objek kredensial dalam operasi keamanan.
Cmdlet Get-Credential
meminta kata sandi atau nama pengguna dan kata sandi kepada pengguna. Anda dapat menggunakan parameter Pesan untuk menentukan pesan yang dikustomisasi untuk perintah tersebut.
Di Windows PowerShell 5.1 dan yang lebih lama, Windows menyajikan kotak dialog untuk meminta nama pengguna dan kata sandi. Di PowerShell 6.0 dan yang lebih baru, perintah disajikan di konsol untuk semua platform.
Contoh
Contoh 1
$c = Get-Credential
Perintah ini mendapatkan objek kredensial dan menyimpannya dalam variabel $c
.
Saat Anda memasukkan perintah, Anda akan dimintai nama pengguna dan kata sandi. Saat Anda memasukkan informasi yang diminta, cmdlet membuat objek PSCredential yang mewakili kredensial pengguna dan menyimpannya dalam variabel $c
.
Anda dapat menggunakan objek sebagai input ke cmdlet yang meminta autentikasi pengguna, seperti objek dengan parameter Kredensial. Namun, beberapa penyedia yang diinstal dengan PowerShell tidak mendukung parameter Kredensial.
Contoh 2
$c = Get-Credential -Credential User01
$c.Username
User01
Contoh ini membuat kredensial yang menyertakan nama pengguna tanpa nama domain.
Perintah pertama mendapatkan kredensial dengan nama pengguna User01 dan menyimpannya dalam variabel $c
.
Perintah kedua menampilkan nilai properti Nama Pengguna dari objek kredensial yang dihasilkan.
Contoh 3
$Credential = $Host.UI.PromptForCredential(
"Need credentials", "Please enter your user name and password.", "", "NetBiosUserName")
Perintah ini menggunakan metode PromptForCredential untuk meminta nama pengguna dan kata sandi pengguna. Perintah menyimpan kredensial yang dihasilkan dalam variabel $Credential
.
Metode PromptForCredential adalah alternatif untuk menggunakan cmdlet Get-Credential
. Saat Anda menggunakan PromptForCredential, Anda dapat menentukan keterangan, pesan, dan nama pengguna yang muncul di perintah.
Untuk informasi selengkapnya, lihat dokumentasi PromptForCredential di SDK.
Contoh 4
Contoh ini menunjukkan cara membuat objek kredensial yang identik dengan objek yang dikembalikan oleh Get-Credential
.
$User = "Domain01\User01"
$PWord = Read-Host -Prompt 'Enter a Password' -AsSecureString
$credentialParams = @{
TypeName = 'System.Management.Automation.PSCredential'
ArgumentList = $User, $PWord
}
$Credential = New-Object @credentialParams
Perintah pertama menetapkan nama pengguna ke variabel $User
. Pastikan nilai mengikuti format "Domain\User" atau "ComputerName\User".
Perintah kedua menggunakan cmdlet Read-Host
untuk membuat string aman dari input pengguna. Parameter Prompt meminta input pengguna, dan parameter AsSecureString menutupi input dan mengonversinya menjadi string aman.
Perintah ketiga menggunakan cmdlet New-Object
untuk membuat objek PSCredential dari nilai yang disimpan dalam variabel $User
dan $PWord
.
Contoh 5
$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:
Perintah ini menggunakan parameter Message dan UserName dari cmdlet Get-Credential
. Format perintah ini dirancang untuk skrip dan fungsi bersama. Dalam hal ini, pesan memberi tahu pengguna mengapa kredensial diperlukan dan memberi mereka keyakinan bahwa permintaan tersebut sah.
Contoh 6
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
Perintah ini mendapatkan kredensial dari komputer jarak jauh Server01. Perintah menggunakan cmdlet Invoke-Command
untuk menjalankan perintah Get-Credential
di komputer jarak jauh. Output menunjukkan pesan keamanan jarak jauh yang Get-Credential
sertakan dalam prompt autentikasi.
Parameter
-Credential
Menentukan nama pengguna untuk kredensial, seperti User01 atau Domain01\User01. Nama parameter, -Credential
, bersifat opsional.
Saat Anda mengirimkan perintah dan menentukan nama pengguna, Anda akan dimintai kata sandi. Jika Anda menghilangkan parameter ini, Anda akan dimintai nama pengguna dan kata sandi.
Dimulai dalam PowerShell 3.0, jika Anda memasukkan nama pengguna tanpa domain, Get-Credential
tidak lagi menyisipkan garis miring terbalik sebelum nama.
Kredensial disimpan dalam objek PSCredential dan kata sandi disimpan sebagai SecureString.
Nota
Untuk informasi selengkapnya tentang perlindungan data SecureString, lihat Seberapa aman SecureString?.
Jenis: | PSCredential |
Position: | 1 |
Nilai default: | None |
Diperlukan: | False |
Terima input alur: | False |
Terima karakter wildcard: | False |
-Message
Menentukan pesan yang muncul di prompt autentikasi. Parameter ini dirancang untuk digunakan dalam fungsi atau skrip. Anda dapat menggunakan pesan untuk menjelaskan kepada pengguna mengapa Anda meminta kredensial dan bagaimana mereka akan digunakan.
Parameter ini diperkenalkan di PowerShell 3.0.
Jenis: | String |
Position: | Named |
Nilai default: | None |
Diperlukan: | False |
Terima input alur: | False |
Terima karakter wildcard: | False |
-Title
Mengatur teks baris judul untuk perintah autentikasi di konsol.
Parameter ini diperkenalkan di PowerShell 6.0.
Jenis: | String |
Position: | Named |
Nilai default: | None |
Diperlukan: | False |
Terima input alur: | False |
Terima karakter wildcard: | False |
-UserName
Menentukan nama pengguna. Permintaan autentikasi meminta kata sandi untuk nama pengguna. Secara default, nama pengguna kosong dan permintaan autentikasi meminta nama pengguna dan kata sandi.
Parameter ini diperkenalkan di PowerShell 3.0.
Jenis: | String |
Position: | 1 |
Nilai default: | None (blank) |
Diperlukan: | False |
Terima input alur: | False |
Terima karakter wildcard: | False |
Input
None
Anda tidak dapat menyalurkan objek ke cmdlet ini.
Output
Cmdlet ini mengembalikan objek kredensial.
Catatan
Anda dapat menggunakan objek PSCredential yang Get-Credential
buat dalam cmdlet yang meminta autentikasi pengguna, seperti yang memiliki parameter Kredensial.
Parameter Kredensial tidak didukung oleh semua penyedia yang diinstal dengan PowerShell.
Dimulai di PowerShell 3.0, ini didukung pada cmdlet tertentu, seperti cmdlet Get-Content
dan New-PSDrive
.