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>]
[<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.
PowerShell 3.0'dan başlayarak, iletişim kutusunda kullanıcıdan adını ve parolasını isteyen özelleştirilmiş bir ileti belirtmek için İleti parametresini kullanabilirsiniz.
Get-Credential
cmdlet'i kullanıcıdan parola veya kullanıcı adı ve parola ister. Varsayılan olarak, kullanıcıdan istemde bulunan bir kimlik doğrulama iletişim kutusu görüntülenir. Ancak, PowerShell konsolu gibi bazı konak programlarında, bir kayıt defteri girdisini değiştirerek komut satırında kullanıcıya sorabilirsiniz. Bu kayıt defteri girdisi hakkında daha fazla bilgi için notlara ve örneklere bakın.
Örnekler
Örnek 1
$c = Get-Credential
Bu komut bir kimlik bilgisi nesnesi alır ve değişkene $c
kaydeder.
Komutu girdiğinizde, kullanıcı adı ve parola isteyen bir iletişim kutusu görüntülenir. İ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, ileti kutusunda görünen başlık, iletileri ve kullanıcı adını belirtebilirsiniz.
Daha fazla bilgi için SDK'daki PromptForCredential belgelerine bakın.
Örnek 4
Set-ItemProperty "HKLM:\SOFTWARE\Microsoft\PowerShell\1\ShellIds" -Name ConsolePrompting -Value $true
Bu örnekte, kullanıcıdan bir iletişim kutusu yerine komut satırında istenmesi için kayıt defterinin nasıl değiştirileceği gösterilmektedir.
komutu ConsolePrompting kayıt defteri girdisini oluşturur ve değerini True olarak ayarlar. Bu komutu çalıştırmak için PowerShell'i "Yönetici olarak çalıştır" seçeneğiyle başlatın.
İstem için bir iletişim kutusu kullanmak için ConsolePrompting değerini false ($false) olarak ayarlayın veya silmek için cmdlet'ini Remove-ItemProperty
kullanın.
ConsolePrompting kayıt defteri girdisi, PowerShell konsolu gibi bazı konak programlarında çalışır. Tüm konak programlarında çalışmayabilir.
Örnek 5
Bu örnekte, tarafından Get-Credential
döndürülenle aynı bir kimlik bilgisi nesnesinin nasıl oluşturulacağı gösterilmektedir.
$User = "Domain01\User01"
$PWord = Read-Host -Prompt 'Enter a Password' -AsSecureString
$Credential = New-Object -TypeName System.Management.Automation.PSCredential -ArgumentList $User, $PWord
İlk komut, değişkene $User
kullanıcı adını atar. Değerin "Domain\User" veya "ComputerName\User" biçimine uydığından emin olun.
İkinci komut, kullanıcı girişinden güvenli bir dize oluşturmak için cmdlet'ini kullanır Read-Host
. prompt parametresi kullanıcı girişi ister ve AsSecureString parametresi girişi maskeler ve güvenli bir dizeye dönüştürür.
Üçüncü komut, ve $PWord
değişkenlerinde depolanan değerlerden bir PSCredential nesnesi oluşturmak için cmdlet'ini $User
kullanırNew-Object
.
Örnek 6
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 7
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ı -Credential
isteğ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: | True |
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: | True |
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.
Bir iletişim kutusunda kimlik doğrulama istemi görüntülendiğinde, kullanıcı belirtilen kullanıcı adını düzenleyebilir. Ancak komut satırında istem görüntülendiğinde kullanıcı adını değiştiremez. Bu parametreyi paylaşılan bir işlevde veya betikte kullanırken tüm olası sunuları göz önünde bulundurun.
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
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.
Varsayılan olarak, kimlik doğrulama istemi bir iletişim kutusunda görüntülenir. Komut satırında kimlik doğrulama istemini görüntülemek için ConsolePrompting kayıt defteri girdisini (HKLM:\SOFTWARE\Microsoft\PowerShell\1\ShellIds\ConsolePrompting
) ekleyin ve değerini True olarak ayarlayın.
ConsolePrompting kayıt defteri girdisi yoksa veya değeri False ise, kimlik doğrulama istemi bir iletişim kutusunda görüntülenir. Yönergeler için örneklere bakın.
ConsolePrompting kayıt defteri girdisi PowerShell konsolunda çalışır, ancak tüm konak programlarında çalışmaz.
Örneğin, PowerShell Tümleşik Betik Ortamı'nda (ISE) hiçbir etkisi yoktur. ConsolePrompting kayıt defteri girişinin etkisi hakkında bilgi için konak programının yardım konularına bakın.
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.
İlişkili Bağlantılar
PowerShell
Geri Bildirim
https://aka.ms/ContentUserFeedback.
Çok yakında: 2024 boyunca, içerik için geri bildirim mekanizması olarak GitHub Sorunları’nı kullanımdan kaldıracak ve yeni bir geri bildirim sistemiyle değiştireceğiz. Daha fazla bilgi için bkz.Gönderin ve geri bildirimi görüntüleyin