Bagikan melalui


Get-Credential

Mendapatkan objek kredensial berdasarkan nama pengguna dan kata sandi.

Sintaks

CredentialSet (Default)

Get-Credential
    [[-Credential] <PSCredential>]
    [<CommonParameters>]

MessageSet

Get-Credential
    [[-UserName] <String>]
    [-Message <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?.

Properti parameter

Jenis:PSCredential
Nilai default:None
Mendukung wildcard:False
DontShow:False

Set parameter

CredentialSet
Position:1
Wajib:False
Nilai dari alur:False
Nilai dari alur berdasarkan nama properti:False
Nilai dari argumen yang tersisa: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.

Properti parameter

Jenis:String
Nilai default:None
Mendukung wildcard:False
DontShow:False

Set parameter

MessageSet
Position:Named
Wajib:False
Nilai dari alur:False
Nilai dari alur berdasarkan nama properti:False
Nilai dari argumen yang tersisa:False

-Title

Mengatur teks baris judul untuk perintah autentikasi di konsol.

Parameter ini diperkenalkan di PowerShell 6.0.

Properti parameter

Jenis:String
Nilai default:None
Mendukung wildcard:False
DontShow:False

Set parameter

MessageSet
Position:Named
Wajib:False
Nilai dari alur:False
Nilai dari alur berdasarkan nama properti:False
Nilai dari argumen yang tersisa: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.

Properti parameter

Jenis:String
Nilai default:None (blank)
Mendukung wildcard:False
DontShow:False

Set parameter

MessageSet
Position:1
Wajib:False
Nilai dari alur:False
Nilai dari alur berdasarkan nama properti:False
Nilai dari argumen yang tersisa:False

CommonParameters

Cmdlet ini mendukung parameter umum: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction, dan -WarningVariable. Untuk informasi selengkapnya, lihat about_CommonParameters.

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.