Get-Credential

Kullanıcı adı ve parola temelinde bir kimlik bilgisi nesnesi alır.

Syntax

Get-Credential
   [[-Credential] <PSCredential>]
   [<CommonParameters>]
Get-Credential
   [-Message <String>]
   [[-UserName] <String>]
   [-Title <String>]
   [<CommonParameters>]

Description

Cmdlet, Get-Credential belirtilen kullanıcı adı ve parola için bir kimlik bilgisi nesnesi oluşturur. Kimlik bilgisi nesnesini güvenlik işlemlerinde kullanabilirsiniz.

Get-Credential cmdlet'i kullanıcıdan parola veya kullanıcı adı ve parola ister. İleti parametresini kullanarak istem için özelleştirilmiş bir ileti belirtebilirsiniz.

Windows PowerShell 5.1 ve önceki sürümlerde Windows, kullanıcı adı ve parola istemeye yönelik bir iletişim kutusu sunar. PowerShell 6.0 ve sonraki sürümlerde, istem tüm platformlar için konsolunda sunulur.

Örnekler

Örnek 1

$c = Get-Credential

Bu komut bir kimlik bilgisi nesnesi alır ve değişkene $c kaydeder.

Komutu girdiğinizde bir kullanıcı adı ve parola girmeniz istenir. İstenen bilgileri girdiğinizde, cmdlet kullanıcının kimlik bilgilerini temsil eden bir PSCredential nesnesi oluşturur ve bunu değişkene $c kaydeder.

Nesnesini, Kimlik Bilgisi parametresine sahip olanlar gibi kullanıcı kimlik doğrulaması isteyen cmdlet'lere giriş olarak kullanabilirsiniz. Ancak, PowerShell ile yüklenen bazı sağlayıcılar Credential parametresini desteklemez.

Örnek 2

$c = Get-Credential -credential User01
$c.Username
User01

Bu örnek, etki alanı adı olmayan bir kullanıcı adı içeren bir kimlik bilgisi oluşturur.

İlk komut User01 kullanıcı adına sahip bir kimlik bilgisi alır ve bunu değişkende $c depolar. İkinci komut, sonuçta elde edilen kimlik bilgisi nesnesinin Username özelliğinin değerini görüntüler.

Örnek 3

$Credential = $host.ui.PromptForCredential("Need credentials", "Please enter your user name and password.", "", "NetBiosUserName")

Bu komut, kullanıcıdan kullanıcı adını ve parolasını istemesi için PromptForCredential yöntemini kullanır. komutu, sonuçta elde edilen kimlik bilgilerini değişkene $Credential kaydeder.

PromptForCredential yöntemi cmdlet'ini Get-Credential kullanmaya alternatiftir. PromptForCredential kullandığınızda, istemde görüntülenen başlık, iletileri ve kullanıcı adını belirtebilirsiniz.

Daha fazla bilgi için SDK'daki PromptForCredential belgelerine bakın.

Örnek 4

Bu örnekte, kullanıcıya sorulmadan döndüren Get-Credential nesneyle aynı olan bir kimlik bilgisi nesnesinin nasıl oluşturulacağı gösterilmektedir. Bu yöntem, bazı kuruluşlardaki güvenlik standartlarını ihlal eden düz metin bir parola gerektirir.

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

İlk komut, kullanıcı hesabı adını parametresine $User kaydeder. Değerin "Domain\User" veya "ComputerName\User" biçiminde olması gerekir.

İkinci komut, düz metin parolasından güvenli bir dize oluşturmak için cmdlet'ini kullanır ConvertTo-SecureString . komutu, dizenin düz metin olduğunu belirtmek için AsPlainText parametresini ve düz metin kullanmanın risklerini anladığınızı onaylamak için Force parametresini kullanır.

Üçüncü komut cmdlet'ini New-Object kullanarak ve $PWord değişkenlerindeki $User değerlerden bir PSCredential nesnesi oluşturur.

Örnek 5

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:

Bu komut, cmdlet'in Get-Credential Message ve UserName parametrelerini kullanır. Bu komut biçimi paylaşılan betikler ve işlevler için tasarlanmıştır. Bu durumda, ileti kullanıcıya kimlik bilgilerinin neden gerekli olduğunu bildirir ve isteğin geçerli olduğuna güven verir.

Örnek 6

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

Bu komut, Server01 uzak bilgisayarından bir kimlik bilgisi alır. komut, uzak bilgisayarda bir Get-Credential komut çalıştırmak için cmdlet'ini kullanırInvoke-Command. Çıktı, kimlik doğrulama isteminde bulunan Get-Credential uzak güvenlik iletisini gösterir.

Parametreler

-Credential

Kimlik bilgisi için User01 veya Domain01\User01 gibi bir kullanıcı adı belirtir. parametre adı -Credentialisteğe bağlıdır.

Komutu gönderip bir kullanıcı adı belirttiğinizde parola girmeniz istenir. Bu parametreyi atlarsanız kullanıcı adı ve parola girmeniz istenir.

PowerShell 3.0'dan başlayarak, etki alanı olmayan bir kullanıcı adı girerseniz, Get-Credential artık adından önce ters eğik çizgi eklemez.

Kimlik bilgileri bir PSCredential nesnesinde depolanır ve parola SecureString olarak depolanır.

Not

SecureString veri koruması hakkında daha fazla bilgi için bkz. SecureString ne kadar güvenli?.

Type:PSCredential
Position:1
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Message

Kimlik doğrulama isteminde görüntülenen bir iletiyi belirtir. Bu parametre bir işlevde veya betikte kullanılmak üzere tasarlanmıştır. Kullanıcıya neden kimlik bilgileri istediğinizi ve bunların nasıl kullanılacağını açıklamak için iletiyi kullanabilirsiniz.

Bu parametre PowerShell 3.0'da kullanıma sunulmuştur.

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Title

Konsolunda kimlik doğrulaması istemi için başlık satırının metnini ayarlar.

Bu parametre PowerShell 6.0'da kullanıma sunulmuştur.

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-UserName

Bir kullanıcı adı belirtir. Kimlik doğrulama istemi, kullanıcı adı için bir parola ister. Varsayılan olarak, kullanıcı adı boş olur ve kimlik doğrulama istemi hem kullanıcı adı hem de parola ister.

Bu parametre PowerShell 3.0'da kullanıma sunulmuştur.

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

Girişler

None

Nesneleri bu cmdlet'e yöneltemezsiniz.

Çıkışlar

PSCredential

Bu cmdlet bir kimlik bilgisi nesnesi döndürür.

Notlar

Kimlik Bilgisi parametresine sahip olanlar gibi kullanıcı kimlik doğrulaması isteyen cmdlet'lerde oluşturan PSCredential nesnesini Get-Credential kullanabilirsiniz.

Credential parametresi, PowerShell ile yüklenen tüm sağlayıcılar tarafından desteklenmez. PowerShell 3.0'dan başlayarak ve New-PSDrive cmdlet'leri gibi Get-Content belirli cmdlet'lerde desteklenir.