Set-Secret
SecretManagement 등록된 자격 증명 모음에 비밀을 추가합니다.
Syntax
Set-Secret
[-Name] <String>
-SecureStringSecret <SecureString>
[[-Vault] <String>]
[[-Metadata] <Hashtable>]
[-NoClobber]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Set-Secret
[-Name] <String>
-Secret <Object>
[[-Vault] <String>]
[[-Metadata] <Hashtable>]
[-NoClobber]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Set-Secret
-SecretInfo <SecretInformation>
[-Vault] <String>
[-NoClobber]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Description
이 cmdlet은 자격 증명 모음에 이름으로 비밀 값을 추가합니다. 자격 증명 모음 이름을 지정하지 않으면 비밀이 기본 자격 증명 모음에 추가됩니다. 해당 이름의 비밀이 있으면 덮어씁니다. 확장 자격 증명 모음에서 지원하는 경우 비밀에 추가 데이터를 포함할 수 있습니다.
기본 매개 변수 집합은 SecureString 개체를 사용합니다. 비밀 값을 지정하지 않고 명령을 실행하면 cmdlet에서 SecureString을 입력하라는 메시지를 표시합니다. 문자열의 텍스트는 콘솔에 표시되지 않습니다.
예제
예 1
Set-Secret -Name Secret1 -Secret "SecretValue"
Get-Secret -Name Secret1
System.Security.SecureString
다음은 일반 텍스트 값이 인 라는 Secret1
비밀을 추가하는 예제입니다 SecretValue
. 자격 증명 모음 이름이 지정되지 않으므로 비밀이 현재 사용자의 기본 자격 증명 모음에 추가됩니다. Get-Secret
는 비밀이 추가되었음을 보여줍니다.
예 2
PS C:\> Set-Secret -Name Secret2 -Vault LocalStore
cmdlet Set-Secret at command pipeline position 1
Supply values for the following parameters:
SecureStringSecret: ***********
PS C:\> Get-Secret -Name Secret2
System.Security.SecureString
다음은 자격 증명 모음에 라는 Secret2
비밀을 추가하는 예제입니다 LocalStore
. 비밀 값이 제공되지 않으므로 cmdlet은 SecureString 값을 묻는 메시지를 표시합니다. 콘솔은 입력할 때 문자열 값을 숨깁니다. Get-Secret
는 비밀이 추가되었음을 보여줍니다.
예제 3
$Metadata = @{ Expiration = ([datetime]::new(2022, 5, 1)) }
Set-Secret -Name TargetSecret -Secret $targetToken -Vault LocalStore -Metadata $Metadata
Get-SecretInfo -Name TargetSecret | Select-Object Name,Metadata
Name Metadata
---- --------
TargetSecret {[Expiration, 5/1/2022 12:00:00 AM]}
다음은 자격 증명 모음에 LocalStore
비밀의 만료 날짜를 나타내는 메타데이터가 포함된 비밀을 TargetSecret
추가하는 예제입니다. Get-SecretInfo
는 새로 만든 비밀에 대한 메타데이터를 검색합니다.
예제 4
$Metadata = @{ Expiration = ([datetime]::new(2022, 5, 1)) }
Set-Secret -Name PublishSecret -Secret $targetToken -Vault LocalStore2 -Metadata $Metadata
Set-Secret: Cannot store secret PublishSecret. Vault LocalStore2 does not support secret metadata.
다음은 자격 증명 모음에 추가 메타데이터를 LocalStore2
사용하여 라는 PublishSecret
비밀을 추가하는 예제입니다.
그러나 자격 증명 모음 LocalStore2
은 비밀 메타데이터를 지원하지 않으며 작업은 오류를 반환합니다.
매개 변수
-Confirm
cmdlet을 실행하기 전에 확인을 요청합니다.
Type: | SwitchParameter |
Aliases: | cf |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Metadata
자격 증명 모음의 비밀과 연결할 키-값 쌍을 포함하는 Hashtable 을 지정합니다. 지정된 확장 자격 증명 모음이 비밀 메타데이터를 지원하지 않을 수 있습니다. 자격 증명 모음이 메타데이터를 지원하지 않으면 작업이 실패하고 오류가 반환됩니다. 해시 테이블의 메타데이터 값은 다음 형식 중 하나여야 합니다.
- string
- int
- DateTime
메타데이터는 자격 증명 모음에 안전하게 저장되지 않습니다. 메타데이터에는 중요한 정보가 포함되어서는 안 됩니다.
Type: | Hashtable |
Position: | 1 |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Name
추가하거나 업데이트할 비밀의 이름을 지정합니다. 와일드카드 문자(*
)는 허용되지 않습니다.
Type: | String |
Position: | 0 |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-NoClobber
동일한 이름의 비밀이 자격 증명 모음에 이미 있는 경우 명령이 오류를 반환하도록 합니다. 기본적으로 이 cmdlet은 이미 있는 경우 비밀을 새 값으로 업데이트합니다.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Secret
비밀의 값을 지정합니다. 개체는 지원되는 형식 중 하나여야 합니다.
- Byte[]
- String
- SecureString
- PSCredential
- Hashtable
Type: | Object |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-SecretInfo
에서 반환Get-SecretInfo
된 저장된 비밀을 설명하는 SecretInformation 개체를 지정합니다.
이렇게 하면 한 확장 자격 증명 모음에서 다른 확장 자격 증명 모음으로 비밀을 복사할 수 있습니다.
Type: | SecretInformation |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-SecureStringSecret
비밀의 값을 SecretString 개체로 지정합니다.
Type: | SecureString |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-Vault
비밀을 추가하거나 업데이트할 자격 증명 모음의 이름을 지정합니다. 와일드카드 문자(*
)는 허용되지 않습니다. 기본적으로 비밀은 현재 사용자의 기본 자격 증명 모음에 추가되거나 업데이트됩니다.
Type: | String |
Position: | 2 |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-WhatIf
cmdlet을 실행할 경우 발생하는 일을 표시합니다. cmdlet이 실행되지 않습니다.
Type: | SwitchParameter |
Aliases: | wi |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
입력
출력
None
참고
Name 매개 변수를 사용하여 를 실행 Set-Secret
하여 비밀의 이름을 지정하면 cmdlet은 자격 증명 모음 확장에서 구현된 를 호출 GetSecret()
합니다. Set-Secret
는 사용자가 제공한 대로 이름을 전달합니다. 자격 증명 모음 확장은 해당 이름으로 비밀을 조회합니다. 일치 Set-Secret
항목을 반환하는 경우 GetGecret()
NoClobber 매개 변수를 사용하지 않는 한 비밀을 덮어씁니다. 자격 증명 모음 확장은 항상 수신하는 비밀 정보를 씁니다.
이름에 대/소문자 구분 비교를 사용할지 여부를 결정하는 것은 자격 증명 모음 확장 구현에 달려 있습니다. 예를 들어 Microsoft.PowerShell.SecretStore 확장 자격 증명 모음의 비밀 이름은 대/소문자를 구분하지 않습니다. 전달 Set-Secret
한 이름이 SecretStore 자격 증명 모음의 기존 비밀 이름과 대/소문자별로만 다른 경우 이름을 제공한 새 값으로 덮어씁니다.
PowerShell
피드백
https://aka.ms/ContentUserFeedback
출시 예정: 2024년 내내 콘텐츠에 대한 피드백 메커니즘으로 GitHub 문제를 단계적으로 폐지하고 이를 새로운 피드백 시스템으로 바꿀 예정입니다. 자세한 내용은 다음을 참조하세요.다음에 대한 사용자 의견 제출 및 보기