Set-Secret
Hiermee voegt u een geheim toe aan een geregistreerde SecretManagement-kluis.
Syntax
SecureStringParameterSet (Standaard)
Set-Secret
[-Name] <String>
[[-Vault] <String>]
[[-Metadata] <Hashtable>]
-SecureStringSecret <SecureString>
[-NoClobber]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
ObjectParameterSet
Set-Secret
[-Name] <String>
[[-Vault] <String>]
[[-Metadata] <Hashtable>]
-Secret <Object>
[-NoClobber]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
SecretInfoParameterSet
Set-Secret
[-Vault] <String>
-SecretInfo <SecretInformation>
[-NoClobber]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Description
Important
Het PowerShell-team heeft besloten dat Secret-modules volledig functioneel zijn en niet langer actief ontwikkeld zullen worden. De modules blijven ondersteund voor beveiligings- en kritieke bugfixes. De coderepository is gearchiveerd.
De meest recente gepubliceerde versies zijn:
De aard van geheimen is fundamenteel veranderd sinds het ontwerp van dit project. Wachtwoordloze authenticatiemethoden zoals passkeys, single sign-on en gefedereerde inloggegevens zoals Microsoft Entra ID, biometrie en hardware-beveiligingssleutels zijn de toekomst.
Met deze cmdlet wordt een geheime waarde op naam aan een kluis toegevoegd. Wanneer er geen kluisnaam is opgegeven, wordt het geheim toegevoegd aan de standaardkluis. Als er een geheim met die naam bestaat, wordt het overschreven. Aanvullende gegevens kunnen worden opgenomen in het geheim als deze worden ondersteund door de extensiekluis.
De standaardparameterset heeft een SecureString--object. Als u de opdracht uitvoert zonder de geheime waarde op te geven, wordt u door de cmdlet gevraagd een SecureString-in te voeren. De tekst van de tekenreeks is niet zichtbaar in de console.
Voorbeelden
Voorbeeld 1
Set-Secret -Name Secret1 -Secret "SecretValue"
Get-Secret -Name Secret1
System.Security.SecureString
In dit voorbeeld wordt een geheim met de naam Secret1 toegevoegd met een tekst zonder opmaakwaarde van SecretValue. Omdat er geen kluisnaam is opgegeven, wordt het geheim toegevoegd aan de standaardkluis van de huidige gebruiker.
Get-Secret geeft aan dat het geheim is toegevoegd.
Voorbeeld 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
In dit voorbeeld wordt een geheim met de naam Secret2 toegevoegd aan de LocalStore kluis. Omdat er geen geheime waarde is opgegeven, vraagt de cmdlet om een SecureString--waarde. De console verbergt de tekenreekswaarde terwijl deze wordt getypt.
Get-Secret geeft aan dat het geheim is toegevoegd.
Voorbeeld 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]}
In dit voorbeeld wordt een geheim met de naam TargetSecret toegevoegd aan de LocalStore kluis met metagegevens die de vervaldatum van het geheim aangeven.
Get-SecretInfo de metagegevens voor het zojuist gemaakte geheim ophaalt.
Voorbeeld 4
$Metadata = @{ Expiration = ([datetime]::new(2022, 5, 1)) }
Set-Secret -Name PublishSecret -Secret $targetToken -Vault LocalStore2 -Metadata $Metadata
Set-Secret: Can't store secret PublishSecret. Vault LocalStore2 doesn't support secret metadata.
In dit voorbeeld wordt een geheim met de naam PublishSecret toegevoegd aan de LocalStore2 kluis met extra metagegevens.
Kluis LocalStore2 biedt echter geen ondersteuning voor geheime metagegevens en de bewerking retourneert een fout.
Parameters
-Confirm
Voordat u de cmdlet uitvoert, vraagt het systeem om bevestiging.
Parametereigenschappen
| Type: | SwitchParameter |
| Default value: | False |
| Ondersteunt jokertekens: | False |
| DontShow: | False |
| Aliassen: | Cf |
Parametersets
(All)
| Position: | Named |
| Verplicht: | False |
| Waarde uit pijplijn: | False |
| Waarde uit pijplijn op eigenschapsnaam: | False |
| Waarde van resterende argumenten: | False |
-Metadata
Hiermee geeft u een Hashtable met sleutel-waardeparen te koppelen aan het geheim in de kluis. De opgegeven extensiekluis biedt mogelijk geen ondersteuning voor geheime metagegevens. Als de kluis geen ondersteuning biedt voor metagegevens, mislukt de bewerking en wordt er een fout geretourneerd. De waarden van metagegevens in de hashtabel moeten een van de volgende typen zijn:
- string
- int
- Datum/tijd
Metagegevens worden niet veilig opgeslagen in een kluis. Metagegevens mogen geen gevoelige informatie bevatten.
Parametereigenschappen
| Type: | Hashtable |
| Default value: | None |
| Ondersteunt jokertekens: | False |
| DontShow: | False |
Parametersets
SecureStringParameterSet
| Position: | 1 |
| Verplicht: | False |
| Waarde uit pijplijn: | False |
| Waarde uit pijplijn op eigenschapsnaam: | False |
| Waarde van resterende argumenten: | False |
ObjectParameterSet
| Position: | 1 |
| Verplicht: | False |
| Waarde uit pijplijn: | False |
| Waarde uit pijplijn op eigenschapsnaam: | False |
| Waarde van resterende argumenten: | False |
-Name
Hiermee geeft u de naam van het geheim toe te voegen of bij te werken. Jokertekens (*) zijn niet toegestaan.
Parametereigenschappen
| Type: | String |
| Default value: | None |
| Ondersteunt jokertekens: | False |
| DontShow: | False |
Parametersets
SecureStringParameterSet
| Position: | 0 |
| Verplicht: | True |
| Waarde uit pijplijn: | False |
| Waarde uit pijplijn op eigenschapsnaam: | False |
| Waarde van resterende argumenten: | False |
ObjectParameterSet
| Position: | 0 |
| Verplicht: | True |
| Waarde uit pijplijn: | False |
| Waarde uit pijplijn op eigenschapsnaam: | False |
| Waarde van resterende argumenten: | False |
-NoClobber
Hiermee wordt een fout geretourneerd als er al een geheim met dezelfde naam in de kluis bestaat. Deze cmdlet werkt standaard het geheim bij met de nieuwe waarde als deze al bestaat.
Parametereigenschappen
| Type: | SwitchParameter |
| Default value: | False |
| Ondersteunt jokertekens: | False |
| DontShow: | False |
Parametersets
(All)
| Position: | Named |
| Verplicht: | False |
| Waarde uit pijplijn: | False |
| Waarde uit pijplijn op eigenschapsnaam: | False |
| Waarde van resterende argumenten: | False |
-Secret
Hiermee geeft u de waarde van het geheim. Het object moet een van de ondersteunde typen zijn:
- Byte[]
- String
- SecureString
- PSCredential-
- Hashtable-
Parametereigenschappen
| Type: | Object |
| Default value: | None |
| Ondersteunt jokertekens: | False |
| DontShow: | False |
Parametersets
ObjectParameterSet
| Position: | Named |
| Verplicht: | True |
| Waarde uit pijplijn: | True |
| Waarde uit pijplijn op eigenschapsnaam: | False |
| Waarde van resterende argumenten: | False |
-SecretInfo
Hiermee geeft u een SecretInformation object dat een opgeslagen geheim beschrijft dat wordt geretourneerd door Get-SecretInfo.
Hierdoor kunnen geheimen van de ene extensiekluis naar de andere worden gekopieerd.
Parametereigenschappen
| Type: | Microsoft.PowerShell.SecretManagement.SecretInformation |
| Default value: | None |
| Ondersteunt jokertekens: | False |
| DontShow: | False |
Parametersets
SecretInfoParameterSet
| Position: | Named |
| Verplicht: | True |
| Waarde uit pijplijn: | True |
| Waarde uit pijplijn op eigenschapsnaam: | False |
| Waarde van resterende argumenten: | False |
-SecureStringSecret
Hiermee geeft u de waarde van het geheim op als een SecretString-object.
Parametereigenschappen
| Type: | SecureString |
| Default value: | None |
| Ondersteunt jokertekens: | False |
| DontShow: | False |
Parametersets
SecureStringParameterSet
| Position: | Named |
| Verplicht: | True |
| Waarde uit pijplijn: | True |
| Waarde uit pijplijn op eigenschapsnaam: | False |
| Waarde van resterende argumenten: | False |
-Vault
Hiermee geeft u de naam van de kluis op waarin u het geheim wilt toevoegen of bijwerken. Jokertekens (*) zijn niet toegestaan. Standaard wordt het geheim toegevoegd of bijgewerkt in de standaardkluis van de huidige gebruiker.
Parametereigenschappen
| Type: | String |
| Default value: | None |
| Ondersteunt jokertekens: | False |
| DontShow: | False |
Parametersets
SecureStringParameterSet
| Position: | 2 |
| Verplicht: | False |
| Waarde uit pijplijn: | False |
| Waarde uit pijplijn op eigenschapsnaam: | False |
| Waarde van resterende argumenten: | False |
ObjectParameterSet
| Position: | 2 |
| Verplicht: | False |
| Waarde uit pijplijn: | False |
| Waarde uit pijplijn op eigenschapsnaam: | False |
| Waarde van resterende argumenten: | False |
-WhatIf
Toont wat er zou gebeuren wanneer de cmdlet wordt uitgevoerd. De cmdlet wordt niet uitgevoerd.
Parametereigenschappen
| Type: | SwitchParameter |
| Default value: | False |
| Ondersteunt jokertekens: | False |
| DontShow: | False |
| Aliassen: | Wi |
Parametersets
(All)
| Position: | Named |
| Verplicht: | False |
| Waarde uit pijplijn: | False |
| Waarde uit pijplijn op eigenschapsnaam: | False |
| Waarde van resterende argumenten: | False |
CommonParameters
Deze cmdlet ondersteunt de algemene parameters: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction en -WarningVariable. Zie about_CommonParametersvoor meer informatie.
Invoerwaarden
Hashtable
Uitvoerwaarden
None
Notities
Wanneer u Set-Secret uitvoert met de parameter Name om de naam van het geheim op te geven, roept de cmdlet GetSecret() aan die is geïmplementeerd door de kluisextensie.
Set-Secret de naam doorgeeft zoals opgegeven door de gebruiker. De kluisextensie zoekt het geheim op met die naam. Als GetSecret() een overeenkomst retourneert, overschrijft Set-Secret het geheim, tenzij u de parameter NoClobber gebruikt. De kluisextensie schrijft altijd de geheime informatie die wordt ontvangen.
Het is aan de implementatie van de kluisextensie om te bepalen of een hoofdlettergevoelige vergelijking op de naam moet worden gebruikt. Geheime namen in de Microsoft.PowerShell.SecretStore extensiekluis zijn bijvoorbeeld niet hoofdlettergevoelig. Als de naam die u doorgeeft aan Set-Secret alleen verschilt per geval met de naam van een bestaand geheim in een SecretStore-kluis, wordt de naam overschreven met de nieuwe waarde die u hebt opgegeven.