Get-Credential (Microsoft.PowerShell.Security)


Get-Credential

Modül:
Microsoft.PowerShell.Security

Kullanıcı adı ve parolayı temel alan bir kimlik bilgisi nesnesi alır.

Sözdizimi

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

Tanım

Get-Credential cmdlet'i, 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 bir parola veya kullanıcı adı ve parola ister. İsteme yönelik özelleştirilmiş bir mesaj belirtmek için Mesaj parametresini kullanabilirsiniz.

Windows PowerShell 5,1 ve önceki sürümlerinde Windows, kullanıcı adı ve parolanın sorulmasını sağlayan bir iletişim kutusu sunar. PowerShell 6,0 ve sonraki sürümlerde, istem tüm platformlar için konsolda sunulur.

Örnekler

Örnek 1

$c = Get-Credential

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

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

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

Örnek 2

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

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

İlk komut, User01 kullanıcı adına sahip bir kimlik bilgisi alır ve bunu $c değişkeninde saklar. İkinci komut, elde edilen kimlik bilgisi nesnesinin Kullanıcı adı ö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 şifresini istemek için PromptForCredential yöntemini kullanır. Komut, elde edilen kimlik bilgilerini $Credential değişkenine kaydeder.

PromptForCredential yöntemi, Get-Credential cmdlet'ini kullanmaya bir alternatiftir. PromptForCredential'ı kullandığınızda, istemde görünen resim yazısını, mesajları ve kullanıcı adını belirtebilirsiniz.

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

Örnek 4

Bu örnek, Get-Credential tarafından döndürülenle aynı olan bir kimlik bilgisi nesnesinin nasıl oluşturulacağını gösterir.

$User = "Domain01\User01"
$PWord = Read-Host -Prompt 'Enter a Password' -AsSecureString
$Credential = New-Object -TypeName System.Management.Automation.PSCredential -ArgumentList $User, $PWord

İlk komut kullanıcı adını $User değişkenine atar. Değerin "Etki Alanı\Kullanıcı" veya "BilgisayarAdı\Kullanıcı" biçimine uyduğundan emin olun.

İkinci komut, kullanıcı girişinden güvenli bir dize oluşturmak için Read-Host cmdlet'ini kullanır. Prompt parametresi kullanıcı girişi ister ve AsSecureString parametresi girişi maskeler ve onu güvenli bir dizeye dönüştürür.

Üçüncü komut, $User ve $PWord<'da depolanan değerlerden bir PSCredential nesnesi oluşturmak için New-Object cmdlet'ini kullanır. /code> değişkenler.

Ö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, Get-Credential cmdlet'inin Message ve UserName parametrelerini kullanır. Bu komut formatı, paylaşılan komut dosyaları ve işlevler için tasarlanmıştır. Bu durumda mesaj, kullanıcıya kimlik bilgilerinin neden gerekli olduğunu söyler ve isteğin meşru olduğuna dair 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 Get-Credential komutunu çalıştırmak için Invoke-Command cmdlet'ini kullanır. Çıktı, Get-Credential'ın kimlik doğrulama istemine dahil ettiği uzaktan güvenlik mesajını gösterir.

Parametreler

-Credential

Kimlik bilgisi için Kullanıcı01 veya Etki Alanı01\Kullanıcı01 gibi bir kullanıcı adı belirtir. -Kimlik Bilgisi parametre adı isteğe bağlıdır.

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

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

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

Not

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

Tip :

PSCredential'ı

Konum:

1

Varsayılan değer:

None

Gerekli:

False

Boru hattı girişini kabul edin:

False

Joker karakterleri kabul et:

False

-Message

Kimlik doğrulama isteminde görünen bir mesajı belirtir. Bu parametre bir işlev veya komut dosyasında kullanılmak üzere tasarlanmıştır. Bu mesajı kullanıcıya kimlik bilgilerini neden istediğinizi ve kimlik bilgilerinin nasıl kullanılacağını açıklamak için kullanabilirsiniz.

Bu parametre PowerShell 3,0'da tanıtıldı.

Tip :

String

Konum:

Adlandırılmış

Varsayılan değer:

None

Gerekli:

False

Boru hattı girişini kabul edin:

False

Joker karakterleri kabul et:

False

-Title

Konsoldaki kimlik doğrulama isteminin başlık satırının metnini ayarlar.

Bu parametre PowerShell 6,0'da tanıtıldı.

Tip :

String

Konum:

Adlandırılmış

Varsayılan değer:

None

Gerekli:

False

Boru hattı girişini kabul edin:

False

Joker karakterleri kabul et:

False

-UserName

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

Bu parametre PowerShell 3,0'da tanıtıldı.

Tip :

String

Konum:

1

Varsayılan değer:

Yok (boş)

Gerekli:

False

Boru hattı girişini kabul edin:

False

Joker karakterleri kabul et:

False

Girişler

Yok

Nesneleri bu cmdlet'e aktaramazsınız.

Çıkışlar

PSCredential

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

Notlar

Get-Credential'ın oluşturduğu PSCredential nesnesini, Credential parametresine sahip olanlar gibi kullanıcı kimlik doğrulaması isteyen cmdlet'lerde kullanabilirsiniz.

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

İlgili makaleler