Set-Secret
يضيف سرا إلى مخزن SecretManagement المسجل.
بناء الجملة
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>]
الوصف
يضيف 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.
يضيف هذا المثال بيانات سرية باسم PublishSecret
إلى LocalStore2
المخزن مع بيانات تعريف إضافية.
ومع ذلك، لا يدعم المخزن LocalStore2
بيانات التعريف السرية وترجع العملية خطأ.
المعلمات
-Confirm
يطالبك بالتأكيد قبل تشغيل cmdlet.
Type: | SwitchParameter |
Aliases: | cf |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Metadata
يحدد Hashtable يحتوي على أزواج قيم المفاتيح لإقرانه بالبيانات السرية في المخزن. قد لا يدعم مخزن الملحق المحدد بيانات التعريف السرية. إذا كان المخزن لا يدعم بيانات التعريف، تفشل العملية وترجع خطأ. يجب أن تكون قيم أي بيانات تعريف في hashtable أحد الأنواع التالية:
- string
- Int
- التاريخ والوقت
لا يتم تخزين بيانات التعريف بشكل آمن في المخزن. يجب ألا تحتوي بيانات التعريف على معلومات حساسة.
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
يحدد قيمة السر. يجب أن يكون الكائن أحد الأنواع المدعومة:
- بايت[]
- سلسلة
- سلسلة الأمان
- PSCredential
- جدول تجزئة
Type: | Object |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-SecretInfo
يحدد كائن SecretInformation يصف سرا مخزنا تم إرجاعه بواسطة Get-SecretInfo
.
وهذا يتيح نسخ البيانات السرية من مخزن ملحق إلى آخر.
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
ملاحظات
عند التشغيل Set-Secret
باستخدام المعلمة Name لتحديد اسم السر، يستدعي GetSecret()
cmdlet الذي يتم تنفيذه بواسطة ملحق المخزن. Set-Secret
يمر عبر الاسم كما هو مقدم من قبل المستخدم. يبحث ملحق المخزن عن السر بهذا الاسم. إذا GetGecret()
أرجعت تطابقا، Set-Secret
فستبدل البيانات السرية ما لم تستخدم المعلمة NoClobber . يكتب ملحق المخزن دائما المعلومات السرية التي يتلقاها.
الأمر متروك لتنفيذ ملحق المخزن لتحديد ما إذا كان يجب استخدام مقارنة حساسة لحالة الأحرف على الاسم أم لا. على سبيل المثال، الأسماء السرية في مخزن ملحق Microsoft.PowerShell.SecretStore غير حساسة لحالة الأحرف. إذا كان الاسم الذي تمرره Set-Secret
يختلف فقط حسب الحالة مع اسم سر موجود في مخزن SecretStore، يتم استبدال الاسم بالقيمة الجديدة التي قدمتها.
PowerShell
الملاحظات
https://aka.ms/ContentUserFeedback.
قريبًا: خلال عام 2024، سنتخلص تدريجيًا من GitHub Issues بوصفها آلية إرسال ملاحظات للمحتوى ونستبدلها بنظام ملاحظات جديد. لمزيد من المعلومات، راجعإرسال الملاحظات وعرضها المتعلقة بـ