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-CredentialBu 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
User01Bu ö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.SecureStringBu 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.