يمكن أن يكون تشفير الملفات وفك تشفير الملفات مهمة صعبة بعض الشيء. ومع ذلك، باستخدام PowerShell ، يمكنك تبسيط هذه العملية إلى أمر من سطر واحد فقط. للقيام بذلك، نحتاج إلى تثبيت Gpg4win ووحدة Powershell. استخدم البرامج النصية لأتمتة عملية التشفير وفك التشفير. ستوضح لك هذه المقالة كيفية تشفير الملفات تلقائيًا في نظام التشغيل Windows 10 باستخدام برنامج نصي.
قبل البدء، يحتاج المستخدمون إلى تثبيت وتكوين أدوات GPG4Win . سوف تستخدم وظيفة التشفير المتماثل الخاصة بـ GPG4Win في هذه الوحدة.
تتعامل وحدة Powershell هذه مع تشفير الملفات بكلمة مرور بدلاً من زوج المفاتيح. تعتمد قوة التشفير على قوة كلمة المرور . يجب على المستخدمين اختيار كلمات مرور معقدة، ربما باستخدام أداة LastPass أو مدير كلمات مرور آخر . أخيرًا، أكمل التثبيت وانتقل إلى وحدة Powershell.

وحدات Powershell عبارة عن مجموعات مجمعة من الوظائف، باستخدام تنسيق ملف PSM1. يمكنك حفظ هذه الملفات في مجلد الوحدات في ملف التعريف الخاص بك، ثم قم بإضافة الوحدة إلى الجلسة/البرنامج النصي الخاص بك باستخدام Import-Module .
كافة أوامر cmdlets للوحدة متوفرة. ومع تطوير مهاراتك في Powershell، يمكنك أيضًا إنشاء وحداتك الخاصة. لتثبيت وحدة تشفير الملفات، قم بتنزيل الوحدة من TechNet . بعد ذلك، تحتاج إلى نسخه إلى أحد مجلدات الوحدات. إذا كنت تريد تثبيته بنفسك، فانسخه إلى PowershellModules في دليل المستخدم الخاص بك. انسخ السطر أدناه إلى Explorer لإنشاء اختصار:
%UserProfile%\Documents\WindowsPowerShell\Modules
إذا كنت تريد تثبيت الوحدات النمطية لجميع المستخدمين، فاستخدم المجلد Program Files\Windows PowerShell\Modules . الصق السطر التالي في Explorer لإنشاء اختصار:
%ProgramFiles%\Windows PowerShell\Modules
قم بإنشاء مجلد جديد يسمى GNUPG في المجلد Modules والصق ملف PSM1 هناك.
![تشفير الملفات تلقائيًا في Windows باستخدام Powershell تشفير الملفات تلقائيًا في Windows باستخدام Powershell]()
تحتاج إلى استيراد الوحدة في كل مرة تستخدمها: Import-Module GnuPG . ومع ذلك، يمكنك ضبط التنفيذ على غير مقيد عن طريق تشغيل Set-ExecutionPolicy RemoteSigned cmdlet .
![تشفير الملفات تلقائيًا في Windows باستخدام Powershell تشفير الملفات تلقائيًا في Windows باستخدام Powershell]()
منذ أن قمت بتحميل هذه الوحدة، تحتاج إلى وضع علامة عليها كملف محلي. انقر بزر الماوس الأيمن على الملف وحدد خصائص . بعد ذلك، في مربع الحوار، حدد إلغاء الحظر . قم بتأكيد الإجراء في مربع الحوار UAC وستكون جاهزًا لاستخدام الوحدة.
أوامر كمدليت
تخطي أمر Cmdlet الأول المستخدم لتثبيت GPG4Win. إذا لم تكن قد أكملت هذه الخطوة، فيمكنك استخدام أمر cmdlet هذا لتثبيت البرنامج وتكوينه. يقوم أمر cmdlet بتحميله في دليل من اختيارك وتشغيل برنامج التثبيت. الأمران الآخران cmdlet إضافيان: Add-Encryption و Remove-Encryption . كلاهما لديه ثلاث معلمات.
![تشفير الملفات تلقائيًا في Windows باستخدام Powershell تشفير الملفات تلقائيًا في Windows باستخدام Powershell]()
المعلمة الأولى عبارة عن مجلد: -FolderPath . ستستعرض هذه الوحدة كل ملف في المجلد لتشفير الملف أو فك تشفيره. إذا كنت لا تريد توجيهه إلى مجلد المستندات، فيجب عليك إنشاء زوج من المجلدات الفرعية للعمل مع هذا البرنامج النصي. إذا نظرت إلى الكود المصدري للوحدة، فإنها تستخدم Get-ChildItem للحصول على كل شيء في الدليل. تقوم وظيفة فك التشفير بتقييد البحث على الملفات التي تنتهي بـ .GPG.
![تشفير الملفات تلقائيًا في Windows باستخدام Powershell تشفير الملفات تلقائيًا في Windows باستخدام Powershell]()
المعلمة التالية هي كلمة المرور المستخدمة لتشفير الملفات: -Password . تأكد من أن كلمة المرور هذه معقدة، لأنها تحمي ملفاتك. ستنتقل هذه الوظيفة عبر كل ملف باستخدام حلقة ForEach. تم دمج الملف وكلمة المرور كوسائط في عملية بدء التشغيل لـ GPG4Win.
المعلمة الأخيرة -GPGPath اختيارية. تم تثبيته كموقع افتراضي لـ GPG4Win. إذا قمت بتثبيته على محرك أقراص آخر، فيمكنك تحديثه باستخدام هذه المعلمة لتغيير الهدف لـ Start-Process .
كتابة البرامج النصية
الآن حان الوقت لأتمتة العملية. سيقوم هذا البرنامج النصي بتشفير الملفات الموجودة في مجلد، ونقل الملفات التي تم فك تشفيرها إلى مجلد جديد وحذف الملف الأصلي.
أولاً، قم باستيراد الوحدة باستخدام mport-Module GnuPG . تحتاج إلى إعداد بعض المتغيرات. المتغير الأول $EncryptionTarget هو الدليل الهدف. (على سبيل المثال، يتم استخدام متغير البيئة للإشارة إلى دليل المستندات الخاص بالمستخدم الحالي). قم بتعيين المتغير الثاني ليكون عبارة المرور، هذه الخطوة تجعل تغيير كلمة المرور أسهل.
وحدة الاستيراد GnuPG
$EncryptionTarget = "$($env:USERPROFILE)\Documents\Files-ToEncrypt"
$Passphrase = "MakeAVeryLongSecurePhrase"
إضافة التشفير $EncryptionTarget -كلمة المرور $Passphrase
بدء النوم -الثواني 60
$EcnryptedFiles = Get-ChildItem $EncryptionTarget | مكان الكائن $_.Name -مثل "*.gpg"
foreach ($gpg في $EcnryptedFiles){
نقل العنصر - المسار $gpg.FullName -الوجهة "$($env:USERPROFILE)\Documents\$($gpg.Name)"
}
$UnEncryptedFiles = Get-ChildItem $EncryptionTarget | مكان الكائن $_.Name - ليس مثل "*.gpg"
foreach ($nongpg في $UnEcnryptedFiles){
إزالة العنصر - المسار $nongpg.FullName - تأكيد خطأ $
}
تنتقل هذه المتغيرات إلى Add-Encryption كمعلمات. يستخدم المستخدم Start-Sleep لضبط الوقت اللازم لاستكمال تشفير الملفات، على سبيل المثال الوقت هو ثلاث دقائق. قد تختلف هذه المرة بناءً على حجم وعدد الملفات التي يتم العمل عليها.
يمكنك الحصول على ملف .GPG من خلال دمج Get-ChildItem مع Where-Object . استخدم حلقة ForEach بحيث يتم نسخ كل ملف إلى دليل جديد. يمكنك تكرار هذه الخطوات، ولكن قم بتحويل -like إلى -notlike بحيث تقوم حلقة ForEach ثانية بتنظيف الملفات الأصلية.
قم بإعداد وظائف كرون
الآن بعد أن أصبح لديك البرنامج النصي، فأنت بحاجة إلى إنشاء مهمة مجدولة. افتح برنامج جدولة المهام وانقر فوق "إنشاء مهمة" .
![تشفير الملفات تلقائيًا في Windows باستخدام Powershell تشفير الملفات تلقائيًا في Windows باستخدام Powershell]()
أطلق عليه اسم التشفير التلقائي . إذا كنت تريد تشغيل المهمة فقط عند تسجيل الدخول، فاترك الإعدادات كإعداد افتراضي. إذا تم تعيينه للتشغيل سواء قام المستخدم بتسجيل الدخول أم لا، فحدد " تشغيل سواء قام المستخدم بتسجيل الدخول أم لا "، ويمكنه فقط الوصول إلى المجلدات الموجودة على الكمبيوتر. ومع ذلك، إذا كانت وجهتك على جهاز كمبيوتر بعيد، فستحتاج إلى تخزين كلمة المرور. بالإضافة إلى ذلك، يمكنك إعداد حساب ثانوي لحماية حسابك الرئيسي.
![تشفير الملفات تلقائيًا في Windows باستخدام Powershell تشفير الملفات تلقائيًا في Windows باستخدام Powershell]()
انقر فوق علامة التبويب المشغلات وقم بتعيين الشروط. بعد ذلك، انقر فوق جديد لفتح نافذة الجدولة. يمكنك ترك الإعدادات كإعداد افتراضي، ثم الضغط على المربع الموجود بجوار تكرار المهمة كل مرة وضبطه على 5 دقائق . يمكنك اختيار المزيد من الوقت إذا لم تكن حاجتك ملحة. في القائمة المنسدلة بجوار المدة: حدد إلى أجل غير مسمى ، انقر فوق موافق للعودة إلى نافذة إنشاء مهمة.
![تشفير الملفات تلقائيًا في Windows باستخدام Powershell تشفير الملفات تلقائيًا في Windows باستخدام Powershell]()
في علامة التبويب " الإجراءات "، انقر فوق " جديد" ، وفي النافذة المنبثقة، قم بتعيين المسار إلى Powershell في مربع البرنامج :
%SystemRoot%/system32/Windows PowerShell/v1.0/powershell.exe
في مربع الوسيطة، ضع ./ والمسار إلى البرنامج النصي. انقر فوق "موافق" مرتين ويتم تعيين البرنامج النصي للتشغيل كمهمة مجدولة.
شاهد المزيد: