كيفية تحديث البرامج المجانية تلقائيًا باستخدام Chocolatey

لديك تطبيقات على جهاز الكمبيوتر الخاص بك مثل Spotify و Adobe Reader و Chrome و Firefox و 7-Zip و VLC Media Player - والقائمة(VLC Media Player…the list) تطول وكلها مجانية. ماذا سنفعل بدون برامج مجانية(freeware) ؟ ومع ذلك ، تتطلب هذه التطبيقات تحديثات متكررة لإصلاح الثغرات الأمنية وتقديم ميزات جديدة ومفيدة. التحديثات لا تحدث أبدا في الوقت المناسب.

وهنا يأتي دور Chocolatey . استخدم التطبيق المجاني Chocolatey لتحديث برامجك باستمرار. إنه سهل وسريع وبسيط ، وهل ذكرنا أنه مجاني؟ يبدو(Seems) جيدًا جدًا لدرجة يصعب تصديقها ، ومع ذلك فهو كذلك. لكن ما هو Chocolatey ؟

ما هو الشوكولاته؟

إذا لم تقم بأشياء في سطر أوامر Windows(Windows command line) أو PowerShell أو Linux(Linux command line) ، فقد يكون مفهوم Chocolatey غريبًا بعض الشيء. Chocolatey هو برنامج على مستوى الآلة يساعدك على إدارة البرامج(manage software) .

مستوى الماكينة يعني عدم وجود واجهة مستخدم(user interface) رسومية تساعدك على القيام بالأشياء. يجب كتابة جميع الأوامر. لا (Don)تدع(t let) ذلك يخيفك ! إذا كنت تستطيع كتابة الكلمات ، يمكنك إتقان هذا.

كيف أقوم بتثبيت Chocolatey؟

هناك بعض الأشياء التي تحتاجها Chocolatey للعمل. عندما يحتاج أحد البرامج إلى برامج أخرى من ميزات Windows للعمل ، يشار إلى تلك البرامج المطلوبة باسم التبعيات. تبعيات Chocolatey التي يجب عليك استخدامها على الأقل:(Chocolatey)

  • Windows 7 أو أحدث
  • الإصدار 2 من PowerShell أو أحدث
  • NET Framework 4 أو أحدث
  • بالإضافة إلى ذلك ، يجب أن يكون لديك وصول المسؤول(administrator access) على جهاز الكمبيوتر الخاص بك

إذا كنت قد حصلت على Windows 7 أو أحدث ، فلديك بالفعل الإصدار 2 من PowerShell(PowerShell version 2) أو أحدث. إذا لم تكن متأكدًا مما إذا كان لديك .NET Framework 4 ، فلا داعي للقلق. عند تثبيت Chocolatey ، إذا لم يكن لديك .NET 4 ، فسيقوم Chocolatey بتثبيته لك.

افتح PowerShell عن طريق الكتابة في قائمة ابدأ(Start Menu) - مربع بحث PowerShell . يجب أن ترى نتيجة تسمى تطبيق Windows PowerShell(Windows PowerShell App) .

انقر بزر الماوس الأيمن فوق ذلك وحدد تشغيل كمسؤول(Run as Administrator) . يُعرف القيام بذلك بتشغيل PowerShell في مثيل مرتفع(elevated instance) . تمت ترقيته إلى امتيازات المسؤول. سيتم فتح نافذة PowerShell .(PowerShell window)

في نافذة PowerShell(PowerShell window) ، اكتب(type or copy) الأمر أو انسخه والصقه:

Set-ExecutionPolicy Bypass -Scope Process -Force; iex ((New-Object System.Net.WebClient).DownloadString(‘https://chocolatey.org/install.ps1’))

يخبر جزء Set-ExecutionPolicy Bypass -Scope Process -Force برنامج (Set-ExecutionPolicy Bypass -Scope Process -Force)PowerShell أنك لا تريد فرض سياسة التنفيذ المقيدة لهذا الشيء التالي فقط. PowerShell ، افتراضيًا ، سيسمح فقط بتشغيل العمليات الموقعة. إنه أعلى إعداد أمان(security setting) . لكننا نحتاج إلى تشغيل هذه العملية غير الموقعة لتثبيت Chocolatey .

يخبر iex ((New-Object System.Net.WebClient).DownloadString(‘https://chocolatey.org/install.ps1’)) من الأمر PowerShell بالذهاب إلى موقع Chocolatey الإلكتروني(Chocolatey website) ، قم بتنزيل التثبيت البرنامج النصي .ps1 ، وتشغيله. هذا هو الجزء الذي يقوم بتثبيت Chocolatey حقًا .

سترى مجموعة من النصوص تطير(text fly) بها. لا تتردد(Feel) في الرجوع إليها وقراءتها حتى تعرف ما حدث للتو. في النهاية ، يقترح عليك تشغيل الأمر choco /? لرؤية قائمة الوظائف. هذه طريقة جيدة للتأكد من نجاح التثبيت. انطلق وقم بتشغيل هذا الأمر.

ستنتقل كومة أخرى من النص ، وهو أمر جيد أيضًا للقراءة والفهم. في النهاية ، إذا نجح تثبيت Chocolatey ، فستشاهد شيئًا مشابهًا لما يلي ، حيث يسرد الجزء الأخضر الإصدار الذي قمت بتثبيته للتو.

تثبيت البرنامج مع Chocolatey

دعونا نلقي نظرة سريعة على تثبيت البرنامج باستخدام Chocolatey قبل أن نبدأ في تحديث البرنامج به.

انتقل إلى الصفحة https://chocolatey.org/packages لتصفح البرنامج المتاح عبر Chocolatey . سترى أنه يشار إليها باسم الحزم.

ابحث عن الحزمة التي ترغب في تثبيتها. في هذا المثال ، سنستخدم Malwarebytes Anti-Malware . من الجيد دائمًا أن يكون لديك Malwarebytes على جهاز الكمبيوتر الخاص بك.

في مثيل مرتفع من PowerShell ، استخدم الأمر choco install malwarebytes . هذا كل شيء. سيبدأ التثبيت. سيتوقف بالنص التالي:

إذا كنت مرتاحًا للسماح لـ Chocolatey بإدارة البرامج الخاصة بك ، فعند الانتهاء من هذا التثبيت ، يجب أن نستخدم أمر choco -n allowGlobalConfirmation(choco feature enable -n allowGlobalConfirmation) حتى نتمكن من أتمتة عمليات التثبيت والتحديثات في المستقبل. في الوقت الحالي ، دعنا نستخدم " أ(A) " فقط لإكمال التثبيت.

ستلاحظ أن برنامج Malwarebytes(Malwarebytes) يتم تنزيله ثم يبدأ في التثبيت.

في غضون دقيقة تقريبًا ، سيتم تنزيل Malwarebytes وتثبيته دون أي عمل إضافي من أجلك.(Malwarebytes)

تحديث البرنامج مع Chocolatey

الآن وقد حصلنا على بعض البرامج المثبتة ، يمكننا محاولة تحديثها باستخدام Chocolatey . مرة أخرى(Again) ، تحتاج إلى فتح PowerShell كمسؤول(Administrator) . ثم يمكنك تشغيل الأمر choco Upgrade malwarebytes .

سيؤدي ذلك إلى إخراج Chocolatey ومعرفة ما إذا كان هناك تحديث ثم تحديثه. لقد قمنا للتو بتثبيت Malwarebytes ، لذلك سيظهر أنه لم يتم تحديث حزم واحدة. هذا جيد.

إذا قمت بتثبيت العديد من الحزم مع Chocolatey ، فيمكنك تحديثها جميعًا باستخدام أمر من سطر واحد: choco Upgrade all -y .

هذا صعب بقدر ما يحصل. الآن ما يجب علينا فعله لتحديث البرنامج تلقائيًا باستخدام Chocolatey هو تشغيل هذا الأمر بطريقة ما وفقًا لجدول زمني.

تحديث البرنامج(Update Software) تلقائيًا باستخدام Chocolatey

الخطوة التالية التي يمكنك القيام بها باستخدام برنامج Notepad أو PowerShell ISE ( بيئة البرمجة النصية المتكاملة(Integrated Scripting Environment) ). سنقوم بهذا المثال باستخدام Notepad حيث لا تحتوي جميع إصدارات Windows على (Windows)PowerShell ISE .

افتح المفكرة. انسخ الأمر choco Upgrade all -y في المفكرة.

احفظ ذلك كبرنامج نصي PowerShell(PowerShell script) عن طريق تسميته شيئًا مثل Upgrade-ChocoPackages.ps1 . يخبر الامتداد .ps1 Windows أن هذا  البرنامج النصي Â Â PowerShell(PowerShell script) .

قم بتغيير نوع الملف من Text Documents (*.txt) إلى All Files (*.*).إذا لم تقم بذلك ، فسيقوم Windows بجعله يقوم بترقية ChocoPackages.ps1.txt ويعتقد(upgrade-ChocoPackages.ps1.txt) أنه مجرد ملف Notepad(Notepad file) .

يأتي Windows مزودًا بميزة رائعة تسمى Task Scheduler . ربما لا يعرف المستخدم المنزلي(home user) العادي ذلك ، ولكن برنامج جدولة المهام(Task Scheduler) هو الميزة التي تجعل الكثير من الأشياء تعمل على أساس منتظم.

في قائمة ابدأ ابحث(Start Menu search) في برنامج جدولة المهام(Task Scheduler) . اضغط(Click) عليها عندما تظهر نتيجة لذلك.

عند فتح "برنامج جدولة المهام" ، انقر فوق (Task Scheduler)"مكتبة برنامج جدولة المهام"(Task Scheduler Library) في المنطقة العلوية اليسرى من النافذة. سيُظهر لك هذا جميع المهام المجدولة التي تم إعدادها حاليًا على جهاز الكمبيوتر الخاص بك.

في جزء الإجراءات(Actions) في المنطقة العلوية اليمنى ، انقر فوق إنشاء مهمة(Create Task…) . إنشاء مهمة أساسية ليس(Create Basic Task isn) مناسبًا لهذا الموقف ، حيث سنستخدم عبارات الوسيطة لاحقًا.

في النافذة التي تفتح ، في علامة التبويب " عام(General) " ، امنح المهمة اسمًا مثل Choco Upgrade All ثم وصفًا(Description ) مثل تحديثات جميع البرامج المثبتة بواسطة Chocolatey( Updates all software installed by Chocolatey) . إذا لم يكن حساب المستخدم(user account) الحالي الخاص بك حساب مسؤول(administrator account) على جهاز الكمبيوتر الخاص بك ، فاستخدم زر تغيير المستخدم أو المجموعة(Change User or Group) لتحديد حساب المسؤول(Administrator account) .

ستحتاج أيضًا إلى معرفة كلمة مرور حساب المسؤول . (Administrator account)تأكد(Make) من تحديد تشغيل سواء تم تسجيل دخول المستخدم أم لا(Run whether the user is logged on or not) . سيسمح هذا بتشغيل البرنامج النصي حتى إذا لم تكن على جهاز الكمبيوتر الخاص بك وسيكون لديه جميع الامتيازات التي يحتاجها للقيام بالمهمة.

علامة التبويب المشغلات(Triggers) هي المكان الذي تخبر فيه المهمة عندما تريد تشغيلها. لهذا ، مرة واحدة في الأسبوع يجب أن تكون كافية. في مثالنا ، تم تعيينه للتشغيل كل يوم أحد(Sunday) في الساعة 1:00 صباحًا اختر وقتًا لا يحتمل فيه استخدام جهاز الكمبيوتر الخاص بك ، للحصول على أفضل أداء.

يوصى أيضًا بالتحقق من إيقاف المهمة إذا كانت تعمل لفترة أطول من:(Stop the task if it runs longer than:) وتغيير المدة إلى ساعتين. يمكنك تعديل ذلك كما تريد. للسماح للمشغل بالتطبيق ، يجب عليك تحديد المربع ممكّن في الأسفل.(Enabled)

انتقل إلى علامة التبويب " الإجراءات(Actions) " ، وسنخبر المهمة بما نريدها أن تفعله. سيتم تعيين الإجراء(Action) افتراضيًا لبدء برنامج(Start a program) . هذا ما نريده فقط اترك ذلك. في حقل Program/script ، اكتبowershell.exe. يتيح هذا لـ Windows معرفة أنك ستقوم بتشغيل برنامج نصي PowerShell(PowerShell script) .

في حقل إضافة وسيطات(Add arguments) ، أدخل الوسيطات التالية.

-noprofile - هذا يمنع تشغيل البرامج النصية لملف تعريف PowerShell(PowerShell profile) ويخبرها بتشغيل البرنامج النصي الذي تريده.

- ExecutionPolicy Bypass - إذا لم تكن متأكدًا من تمكين تنفيذ البرنامج النصي ، فمن الجيد أن يكون هذا في الوسائط. سيضمن تشغيل البرنامج النصي.

-ملف(-file ) - هذه هي الحجة التي تخبر برنامج جدولة المهام أن كل ما يلي هو المسار إلى الملف الذي نريد تشغيل PowerShell . في مثالنا ، تم حفظ البرنامج النصي في C:\Scripts\upgrade-ChocoPackages.ps1 . قد يكون مختلفًا على جهاز الكمبيوتر الخاص بك ، لذا اضبط وفقًا لذلك. إذا كان المسار إلى ملفك يحتوي على أي أسماء بها مسافات ، فستحتاج إلى وضع المسار بالكامل داخل علامات الاقتباس.

ستبدو الوسيطة الكاملة مثل -noprofile -executionpolicy bypass -file C:\Scripts\upgrade-ChocoPackages.ps1

في علامة التبويب " الشروط(Conditions ) " ، هناك المزيد من الخيارات التي يمكننا تعيينها حول كيفية تشغيل البرنامج النصي. انظر إليهم لمعرفة أي منهم ترغب في تقديمه. في هذا المثال ، يتم تعيينه على بدء المهمة فقط إذا كان الكمبيوتر في حالة تشغيل التيار المتردد(Start the task only if the computer is on AC power) وإيقاف إذا تحول الكمبيوتر إلى طاقة البطارية(Stop if the computer switches to battery power ) لضمان عدم نفاد طاقة البطارية.

تم تحديد تنبيه الكمبيوتر لتشغيل هذه المهمة(Wake the computer to run this task) لضمان تشغيل المهمة ، سواء كان الكمبيوتر في وضع السكون أم لا.

في علامة التبويب " الإعدادات(Settings ) " ، يوصى بالتحقق من مربع السماح بتشغيل المهمة عند الطلب(Allow task to be run on demand) ، حتى نتمكن من اختبار المهمة يدويًا عند الانتهاء. التحديدات الافتراضية للباقي جيدة.

انقر فوق " موافق(OK) " لإنهاء إنشاء المهمة المجدولة. يجب أن تنبثق نافذة بها اسم المستخدم الذي حددته مرة أخرى في علامة التبويب "عام". يجب إدخال كلمة المرور للمستخدم والنقر فوق " (user and click) موافق(OK) " . هذا يخبر Windows بأن لديك بالفعل السلطة لتشغيل المهمة.

الآن ستعود إلى نافذة "برنامج جدولة المهام"(Task Scheduler window) الرئيسية . ابحث عن مهمتك الجديدة. انقر بزر الماوس الأيمن فوق المهمة وحدد (task and select) "تشغيل"(Run ) لاختبارها.

لن ترى أي شيء مهم يحدث ، باستثناء أن حالة المهمة ستتغير إلى قيد التشغيل(Running) . في غضون دقيقة أو نحو ذلك ، يجب أن ترى تغيير وقت التشغيل الأخير(Last Run Time ) أيضًا إلى الطابع الزمني عند بدء تشغيل المهمة.

إذا لم تحصل على أي رسائل خطأ ، يجب أن تكون المهمة على ما يرام. أغلق نافذة Task Scheduler(Task Scheduler window) ولا تقلق بشأن الاضطرار إلى تحديث أي من البرامج التي قمت بتثبيتها مع Chocolatey يدويًا مرة أخرى.

كله تمام!

قد يبدو أن هناك الكثير من العمل لإعداد هذا. ضع في اعتبارك هذا: استغرق الأمر ما بين 10 و 30 دقيقة لإعداد هذا. إذا كنت تستخدم هذا لتحديث 10 برامج ، ويستغرق كل برنامج حوالي 6 دقائق لإجراء عملية التحديث كل شهر ، فقد وفرت على نفسك ما بين 30 و 50 دقيقة.

أنت متقدم بالفعل في الوقت المحفوظ. على مدار عام ، يمكن توفير ذلك من 6 إلى 10 ساعات من الوقت. هذا لا يشمل الوقت الذي يتم توفيره من خلال معرفة كيفية استخدام Chocolatey لتثبيت البرامج في دقيقة أو دقيقتين بدلاً من 10 أو 15 دقيقة.



About the author

أنا مراجع برامج ومهندس لاسلكي لدي أكثر من 10 سنوات من الخبرة في هذا المجال. أنا متخصص في مراجعة تطبيقات وبرامج الهاتف المحمول ، وكذلك مساعدة العملاء على تحسين شبكاتهم. من خلال مراجعاتي ، يمكنني مساعدتك في اتخاذ قرارات مستنيرة بشأن المنتجات التي يجب استخدامها وكيفية تحسين سير عملك والمزيد. تشمل مهاراتي التواصل الكتابي والشفهي الممتاز ، وحل المشكلات ، والمعرفة الفنية القوية ، والاهتمام بالتفاصيل. أنا أيضًا ماهر في العمل بشكل مستقل والتعاون في المشاريع.



Related posts