Get-Credential
사용자 이름 및 암호를 기반으로 자격 증명 개체를 가져옵니다.
구문
Get-Credential
[[-Credential] <PSCredential>]
[<CommonParameters>]
Get-Credential
[-Message <String>]
[[-UserName] <String>]
[-Title <String>]
[<CommonParameters>]
Description
cmdlet은 Get-Credential
지정된 사용자 이름 및 암호에 대한 자격 증명 개체를 만듭니다. 보안 작업에서 자격 증명 개체를 사용할 수 있습니다.
cmdlet은 Get-Credential
사용자에게 암호 또는 사용자 이름 및 암호를 묻는 메시지를 표시합니다. 메시지 매개 변수를 사용하여 프롬프트에 대해 사용자 지정된 메시지를 지정할 수 있습니다.
Windows PowerShell 5.1 이전 버전에서 Windows는 사용자 이름과 암호를 묻는 대화 상자를 표시합니다. PowerShell 6.0 이상에서는 모든 플랫폼에 대한 프롬프트가 콘솔에 표시됩니다.
예제
예 1
$c = Get-Credential
이 명령은 자격 증명 개체를 가져오고 변수에 $c
저장합니다.
명령을 입력하면 사용자 이름과 암호를 입력하라는 메시지가 표시됩니다. 요청된 정보를 입력하면 cmdlet은 사용자의 자격 증명을 나타내는 PSCredential 개체를 만들고 변수에 $c
저장합니다.
자격 증명 매개 변수를 사용하는 것과 같이 사용자 인증을 요청하는 cmdlet에 대한 입력으로 개체를 사용할 수 있습니다. 그러나 PowerShell과 함께 설치된 일부 공급자는 자격 증명 매개 변수를 지원하지 않습니다.
예제 2
$c = Get-Credential -credential User01
$c.Username
User01
이 예제에서는 도메인 이름이 없는 사용자 이름을 포함하는 자격 증명을 만듭니다.
첫 번째 명령은 사용자 이름 User01이 있는 자격 증명을 가져오고 변수에 $c
저장합니다.
두 번째 명령은 결과 자격 증명 개체의 Username 속성 값을 표시합니다.
예 3
$Credential = $host.ui.PromptForCredential("Need credentials", "Please enter your user name and password.", "", "NetBiosUserName")
이 명령은 PromptForCredential 메서드를 사용하여 사용자에게 사용자 이름 및 암호를 묻는 메시지를 표시합니다. 이 명령은 결과 자격 증명을 변수에 $Credential
저장합니다.
PromptForCredential 메서드는 cmdlet을 사용하는 대신 사용할 Get-Credential
수 있습니다. PromptForCredential을 사용하는 경우 프롬프트에 표시되는 캡션, 메시지 및 사용자 이름을 지정할 수 있습니다.
자세한 내용은 SDK의 PromptForCredential 설명서를 참조하세요.
예제 4
이 예제에서는 반환 Get-Credential
된 자격 증명 개체와 동일한 자격 증명 개체를 만드는 방법을 보여 줍니다.
$User = "Domain01\User01"
$PWord = Read-Host -Prompt 'Enter a Password' -AsSecureString
$Credential = New-Object -TypeName System.Management.Automation.PSCredential -ArgumentList $User, $PWord
첫 번째 명령은 변수에 사용자 이름을 $User
할당합니다. 값이 "Domain\User" 또는 "ComputerName\User" 형식을 따르는지 확인합니다.
두 번째 명령은 cmdlet을 Read-Host
사용하여 사용자 입력에서 보안 문자열을 만듭니다. 프롬프트 매개 변수는 사용자 입력을 요청하고, AsSecureString 매개 변수는 입력을 마스크하고 보안 문자열로 변환합니다.
세 번째 명령은 cmdlet을 사용하여 New-Object
변수 및 $PWord
변수에 저장된 값에서 PSCredential 개체를 $User
만듭니다.
예시 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:
이 명령은 cmdlet의 Message 및 UserName 매개 변수를 Get-Credential
사용합니다. 이 명령 형식은 공유 스크립트 및 함수용으로 설계되었습니다. 이런 경우, 메시지를 통해 자격 증명이 필요한 이유를 알려 주며 요청이 적합하다는 확신을 줍니다.
예제 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
이 명령은 Server01 원격 컴퓨터에서 자격 증명을 가져옵니다. 이 명령은 cmdlet을 Invoke-Command
사용하여 원격 컴퓨터에서 Get-Credential
명령을 실행합니다. 출력에는 인증 프롬프트에 포함된 Get-Credential
원격 보안 메시지가 표시됩니다.
매개 변수
-Credential
자격 증명의 사용자 이름(예: User01 또는 Domain01\User01)을 지정합니다. 매개 변수 이름( -Credential
선택 사항)입니다.
명령을 제출하고 사용자 이름을 지정하면 암호를 입력하라는 메시지가 표시됩니다. 이 매개 변수를 생략하면 사용자 이름과 암호를 묻는 메시지가 표시됩니다.
PowerShell 3.0부터 도메인 Get-Credential
없이 사용자 이름을 입력하는 경우 더 이상 이름 앞에 백슬래시를 삽입하지 않습니다.
자격 증명은 PSCredential 개체에 저장되고 암호는 SecureString으로 저장됩니다.
참고 항목
SecureString 데이터 보호에 대한 자세한 내용은 SecureString이 얼마나 안전한가요?를 참조하세요.
형식: | PSCredential |
Position: | 1 |
Default value: | None |
필수: | False |
파이프라인 입력 허용: | False |
와일드카드 문자 허용: | False |
-Message
인증 프롬프트에 표시되는 메시지를 지정합니다. 이 매개 변수는 함수 또는 스크립트에서 사용하도록 설계되었습니다. 메시지를 사용하여 자격 증명을 요청하는 이유와 자격 증명을 사용하는 방법을 사용자에게 설명할 수 있습니다.
이 매개 변수는 PowerShell 3.0에서 도입되었습니다.
형식: | String |
Position: | Named |
Default value: | None |
필수: | False |
파이프라인 입력 허용: | False |
와일드카드 문자 허용: | False |
-Title
콘솔에서 인증 프롬프트의 제목 줄 텍스트를 설정합니다.
이 매개 변수는 PowerShell 6.0에서 도입되었습니다.
형식: | String |
Position: | Named |
Default value: | None |
필수: | False |
파이프라인 입력 허용: | False |
와일드카드 문자 허용: | False |
-UserName
사용자 이름을 지정합니다. 인증 프롬프트에서 사용자 이름에 대한 암호를 요청합니다. 기본적으로 사용자 이름은 비어 있으며 인증 프롬프트는 사용자 이름과 암호를 모두 요청합니다.
이 매개 변수는 PowerShell 3.0에서 도입되었습니다.
형식: | String |
Position: | 1 |
Default value: | None (blank) |
필수: | False |
파이프라인 입력 허용: | False |
와일드카드 문자 허용: | False |
입력
None
개체를 이 cmdlet으로 파이프할 수 없습니다.
출력
이 cmdlet은 자격 증명 개체를 반환합니다.
참고
자격 증명 매개 변수가 있는 Get-Credential
개체와 같이 사용자 인증을 요청하는 cmdlet에서 만드는 PSCredential 개체를 사용할 수 있습니다.
Credential 매개 변수는 PowerShell과 함께 설치된 모든 공급자에서 지원되지 않습니다.
PowerShell 3.0부터는 cmdlet과 New-PSDrive
같은 선택 cmdlet에서 Get-Content
지원됩니다.
관련 링크
PowerShell