Bagikan melalui


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

PSCredential

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.