PowerShell وكل ما تحتاج إلى معرفته حول هذه الأداة المساعدة

سجل واكسب 1000 دولار في اليوم ⋙

ماذا لو كان جهاز الكمبيوتر الخاص بك قادرًا على أداء المهام الروتينية نيابةً عنك؟ مع Windows PowerShell، يمكنه ذلك. إليك كيفية استخدام PowerShell لأتمتة المهام اليومية المتكررة التي لا يرغب أحد في تكرارها.

جدول المحتويات

ما هو PowerShell؟

Microsoft PowerShell هي أداة سطر أوامر ولغة برمجة نصية، وهي أداة فعّالة لمسؤولي تكنولوجيا المعلومات لأتمتة مجموعة واسعة من مهام أجهزة الكمبيوتر والشبكات. تحتوي PowerShell على مكونات موجه الأوامر، وهي مبنية على إطار عمل .NET. إذا كنت تقرأ عن WebTech360، فاعلم أن PowerShell هي الأداة المفضلة لمسؤولي تكنولوجيا المعلومات لإدارة الشبكات الكبيرة.

سيُبسّط تعلّم استخدام PowerShell العديد من المهام اليومية المُرهقة. كما يُمكنك إجراء تغييرات على مستوى النظام عبر الشبكة دون الحاجة إلى تهيئة كل خادم على حدة. يُصبح PowerShell جزءًا أساسيًا من تشغيل بيئات السحابة الهجينة .

لـ PowerShell استخدامات متعددة لمساعدتك على العمل بكفاءة أكبر والحفاظ على كفاءة تشغيل شبكتك. من أهم استخداماته: جدولة التحديثات اليومية على الأنظمة، وإنشاء تقارير عن العمليات الحالية، والخدمات الدورية، وغيرها. مع أن العديد من هذه المهام يمكن إنجازها عبر واجهة المستخدم الرسومية، إلا أن هدف PowerShell هو إنجازها بشكل أسرع.

إذا كانت لديك مهمة صيانة روتينية تستغرق بضع دقائق لإعدادها، يمكنك برمجة نفس الوظيفة في أمر واحد يُسمى PowerShell. عند فتح هذا الأمر، سيعمل في الخلفية. إن إتقان منطق برمجة PowerShell، وفهم آلية عمل الكائنات والمتغيرات (var)، ونشره بذكاء عبر شبكتك، سيجعلك تتساءل لماذا لم تستخدم PowerShell من قبل.

سيغطي هذا البرنامج التعليمي أساسيات PowerShell، وهو مفيد للمبتدئين في مجال تكنولوجيا المعلومات، خاصةً إذا كنتَ مُلِمًّا بموجّه أوامر Windows. سيتناول كيفية استخدام الأدوات والأوامر الأساسية، وكيفية التعامل مع الملفات والمجلدات، وفهم الكائنات، واستخدام المتغيرات، وإدارة الخوادم البعيدة.

نبذة مختصرة عن أدوات سطر الأوامر في نظام التشغيل Windows

بعد إصدار Windows NT، أصبح CMD.EXE أداة سطر أوامر لنظام Windows. على الرغم من أن CMD.EXE ورث بعض العناصر من سابقه في نظام DOS (COMMAN.COM)، إلا أنه ظل يعتمد على لغة برمجة نصية بدائية نوعًا ما: باستخدام ملفات أوامر Windows (.CMD و.BAT). وقد عززت إضافة Windows Scripting Host ولغتي VBScript وJScript بشكل كبير من إمكانيات البرمجة النصية للأداة.

هذه التقنيات مزيج متوازن إلى حد ما من أدوات سطر الأوامر المتقدمة وبيئات البرمجة النصية. لا يكمن الاهتمام الحقيقي في عدد ملفات CMD.EXE و.CMD وWindows Scripting Host التي يمكن التعامل معها. بل يكمن الاهتمام الرئيسي في إنجاز بعض المهام التي تبدو بسيطة.

باستخدام "إطار" من أدوات سطر الأوامر والنصوص البرمجية، يتطلب أي نص برمجي شامل مزيجًا من أوامر الدفعات، ومضيف نصوص Windows، وملفات تنفيذية مستقلة. يستخدم كل نص برمجي قواعد مختلفة للتنفيذ والطلبات، والتحليل، وإرجاع البيانات.

ضعف دعم المتغيرات في ملف CMD.EXE، وعدم تناسق الواجهات، ومحدودية الوصول إلى إعدادات ويندوز، بالإضافة إلى نقطة ضعف أخرى، تجعل برمجة سطر الأوامر صعبة التنفيذ والاستخدام. قد تتساءل: ما هي هذه النقطة "الضعيفة"؟ إنها النص. في هذه التقنيات، كل شيء نصي. مخرجات الأمر أو البرنامج النصي نصية، ويجب تحليلها وإعادة تنسيقها لتكون بمثابة مدخلات للأمر التالي. هذه هي نقطة البداية الأساسية التي يعتمد عليها PowerShell من جميع واجهات الأوامر التقليدية.

مقدمة لأدوات PowerShell وأوامرها ووحداتها النمطية

المفاهيم الثلاثة المذكورة في هذا القسم هي مجرد أساسيات لفهم المفاهيم الأساسية التي تُشكل أساس PowerShell. ستحتاج إلى قضاء المزيد من الوقت في تعلم وإتقان المفاهيم الأكثر تقدمًا مع اقترابك من أوامر PowerShell.

أدوات PowerShell

يتم تثبيت PowerShell افتراضيًا في أنظمة Windows 10 وWindows 7 وWindows Server 2008 R2 والإصدارات الأحدث. تُضيف الإصدارات الأحدث من PowerShell ميزات جديدة و"cmdlets" (مصطلح مايكروسوفت لأوامر PowerShell - يُنطق "command-lets")، وتُثبّت مع الإصدار المقابل من Windows Management Framework (WMF).

حاليًا، يُعدّ WMF 5.1 أحدث إصدار مُوصى به. في بعض الحالات، تعتمد بعض الميزات الجديدة على نظام التشغيل بالإضافة إلى إصدار WMF. على سبيل المثال، يدعم نظاما Windows 8 وWindows Server 2012 الأمر Test-NetConnection، الذي يسمح لك باختبار الاتصال بمنفذ TCP/IP مُحدد ، ولكن هذا الأمر غير مُتاح في Windows 7 حتى عند تشغيل أحدث إصدار من WMF.

في معظم أنظمة ويندوز، يتوفر للمستخدمين بيئتا PowerShell: وحدة تحكم PowerShell وبيئة البرمجة النصية المتكاملة (ISE). تبدو وحدة تحكم PowerShell كواجهة سطر أوامر تقليدية، ولكنها تتضمن كامل وظائف PowerShell. تتوفر أسماء المتغيرات، والحلقات، والإكمال التلقائي للأوامر، والتوصيلات من وحدة تحكم PowerShell.

للاستخدامات المتقدمة (مثل البرمجة النصية)، يوفر PowerShell ISE إكمالًا تلقائيًا للأوامر، وتمييزًا للأكواد البرمجية، وإكمالًا لأكواد Microsoft Intellisense لمساعدتك في إنشاء واختبار أكواد PowerShell. كما يتيح لك PowerShell ISE العمل مع نصوص برمجية متعددة في PowerShell في الوقت نفسه باستخدام التنقل المُبوّب.

أدوات cmdlets في PowerShell

أساس أوامر PowerShell هو الأوامر الصغيرة (cmdlet). اتبعت مايكروسوفت عدة استراتيجيات تصميم عند إنشاء الأوامر الصغيرة في PowerShell.

أولها إمكانية استنتاج أسماء أوامر الأوامر الصغيرة (cmdlet) بسهولة، أو على الأقل جعلها أسهل في الاكتشاف. كما صُممت أوامر PowerShell (أو أوامر الأوامر الصغيرة) لتكون أسهل في الاستخدام، مع بناء جملة موحد، مما يُسهّل إنشاء البرامج النصية من واجهة سطر الأوامر.

تستخدم أوامر cmdlet تنسيق الفعل-الاسم، كما في Get-Service أو Stop-Service أو Import-Csv. يشير جزء الفعل في اسم الأمر إلى الإجراء المُنفَّذ على الاسم. عادةً ما تتضمن أوامر cmdlet المُستخدمة لاسترجاع المعلومات الفعل Get في اسمها، مثل Get-Process أو Get-Content . عادةً ما تبدأ الأوامر المُستخدمة لتعديل شيء ما بالفعل Set ، بينما تبدأ الأوامر المُستخدمة لإضافة كيان جديد بـ Add أو New .

ثانيًا، تُعطى المعلمات الشائعة الاستخدام في PowerShell أسماءً موحدة. على سبيل المثال، يسمح المعلم -ComputerName بتنفيذ الأمر على جهاز كمبيوتر بعيد واحد أو أكثر. يُستخدم -Credential لتوفير كائن مصادقة، يحتوي على بيانات اعتماد المستخدم، لتشغيل الأمر كمستخدم محدد.

الوحدات النمطية في PowerShell

يمكنك استخدام أسماء مستعارة لكلٍّ من وحدات الأوامر والمعلمات لتوفير ضغطات المفاتيح وتقصير المدة الإجمالية للأوامر (وهذا مفيد عند ربط أوامر متعددة معًا). مع أن هذه الأسماء المستعارة لا تستخدم دائمًا قواعد التسمية القياسية، إلا أنها لا تزال تعكس أدوات سطر الأوامر التقليدية.

في PowerShell، تتوافق أسماء مستعارة مثل DIR وCD وDEL وCLS مع أوامر cmdlet Get-ChildItem وSet-Location وRemove-Item وClear-Host على التوالي. تعمل أسماء مستعارة للمعلمات بطريقتين: إما باستخدام اسم مستعار مُعرّف مُسبقًا يُوفره الأمر، أو عن طريق إدخال عدد كافٍ من الأحرف لإنشاء تطابق فريد بين المعلمات المدعومة في الأمر.

إدارة الملفات والمجلدات

يضطر معظم مسؤولي الأنظمة إلى التعامل مع الملفات والمجلدات أثناء عملهم، سواءً كان ذلك نقل مجلد إلى موقع آخر على الخادم، أو أرشفة ملفات السجل، أو البحث عن ملفات كبيرة. في حال تكرار نفس العمليات على ملفات متعددة، يُعد استخدام PowerShell لأتمتتها حلاً فعالاً لتوفير الوقت.

للعثور على الملفات والمجلدات، كان الأمر dir من أوائل أدوات سطر الأوامر التي تعلمها مسؤولو النظام في عصر الحوسبة القديم. يُدرج الأمر dir الملفات والمجلدات الموجودة في الدليل المحدد.

يحتوي PowerShell على أمر مشابه بصيغة أمر Get-ChildItem . يتيح لك هذا الأمر إنشاء قائمة ملفات في مجلد بسرعة، مما يتيح لك التحكم بها عبر أمر أنبوب أو تعيين المخرجات إلى متغير.

يمكن استخدام Get-ChildItem ببساطة عن طريق توفير مسار، إما عبر خط أنابيب، باستخدام معامل -Path أو مباشرةً بعد اسم الأمر. لتعديل الاستجابة المُعادة بواسطة Get-ChildItem، من الضروري مراعاة بعض المعلمات التي يوفرها الأمر.

معامل -Filter هو إحدى طرق البحث عن الملفات. افتراضيًا، يُرجع Get-ChildItem العناصر الفرعية المباشرة للدليل المستهدف فقط. يمكن توسيع هذه الوظيفة باستخدام معامل -Recurse ، الذي يبحث بشكل متكرر عن المجلدات الموجودة في الدليل الحالي.

في PowerShell 4.0، أضافت خاصية Get-ChildItem إمكانية تحديد النتائج بالملفات أو المجلدات باستخدام المفتاحين –File أو –Directory . كانت الإصدارات السابقة من PowerShell تتطلب تمرير النتائج إلى Where-Object، مع التصفية بناءً على خاصية PSIsContainer لتحديد ذلك. يوضح هذا المثال كلا التقنيتين المستخدمتين لإرجاع المجلدات الموجودة في C:Users:

Get-ChildItem C:Users -Directory Get-ChildItem C:Users | Where-Object {$_.PSIsContainer –eq $true}

للكشف عن الملفات المخفية أو ملفات النظام، يجب استخدام  -Force . يمكن أيضًا استخدام Get-ChildItem في PowerShell 4.0 والإصدارات الأحدث لإرجاع الملفات المخفية فقط، أو ملفات القراءة فقط، أو ملفات النظام باستخدام -Hidden و-ReadOnly و- System على التوالي. كان من الممكن تحقيق وظيفة مماثلة في الإصدارات السابقة عن طريق تصفية خاصية Mode باستخدام Where-Object:

Get-ChildItem C:Users | Where-Object {$_.Mode -like '*R*'}

التحقق من وجود الملف

عادةً، عند العمل مع الملفات، كل ما نحتاج إلى معرفته هو وجود الملف أو صحة مسار الدليل. يوفر PowerShell أمر cmdlet للقيام بذلك بصيغة Test-Path، والذي يُرجع قيمة إما true أو false.

يتم استخدام مسار الاختبار كخطوة احترازية قبل محاولة نسخ أو حذف ملف معين.

نسخ ونقل وحذف الملفات

نسخ العنصر: نسخ ملف أو أكثر أو مجلد من موقع محدد بواسطة معلمة -Path، إلى الموقع المحدد بواسطة خيار -Destination.

نقل العنصر: نقل ملف أو مجلد.

عند نسخ أو نقل بنية دليل، يجب استخدام الأمر -Recurse لتنفيذ الأمر cmdlet على الدليل ومحتوياته. في بعض الحالات، يلزم استخدام الأمر -Force أيضًا ، كما هو الحال عند استبدال ملف للقراءة فقط بعملية نسخ.

إزالة العنصر: حذف الملف أو المجلد.

يجب استخدام Switch -Force عند مواجهة ملف للقراءة فقط ويجب استخدام -Recurse عند حذف دليل ومحتوياته.

استخدام PowerShell -WhatIf و-Confirm

قبل إجراء حذف جماعي كبير، استخدم -WhatIf . يتيح لك -WhatIf معرفة ما سيحدث عند تشغيل نص برمجي أو أمر، وما إذا كان سيؤثر سلبًا على حذف بيانات عمل مهمة. تجدر الإشارة أيضًا إلى أن -WhatIf لا يقتصر على عمليات الملفات، بل يُستخدم على نطاق واسع في PowerShell.

بالنسبة للبرامج النصية التي تنوي تشغيلها يدويًا، أو التي تحتوي على أوامر تابعة تُشغّل يدويًا، فكّر في استخدام -Confirm . يتيح لك هذا طلب تفاعل المستخدم قبل بدء العملية.

نصوص PowerShell = ملفات دفعية على المنشطات

PowerShell نفسه مكتوب بلغة .NET ويعتمد بشكل كبير على .NET Framework. وبالتالي، صُمم PowerShell كلغة شل وبرمجة نصية كائنية التوجه. يُعامل كل شيء في PowerShell ككائن يتمتع بكامل إمكانيات .NET Framework. يعرض الأمر مجموعة من الكائنات التي يمكن استخدامها باستخدام خصائص وأساليب نوع الكائن. عند توجيه مخرجات أمر ما إلى آخر، يقوم PowerShell بتمرير الكائن نفسه، وليس فقط مخرجات الأمر الأول. هذا يمنح الأمر التالي وصولاً كاملاً إلى جميع خصائص وأساليب الكائن في مسار التوجيه.

يُعدّ التعامل مع كل شيء ككائن، والقدرة على قبول الكائنات بين الأوامر، تغييرًا كبيرًا في نظرية أدوات سطر الأوامر. ومع ذلك، لا يزال PowerShell يعمل كواجهة سطر أوامر تقليدية. يمكن كتابة الأوامر والبرامج النصية والملفات القابلة للتنفيذ وتشغيلها من سطر الأوامر، وتُعرض النتائج كنص. لا تزال ملفات Windows .CMD و.BAT، وبرامج VBScript وJScripts، والملفات القابلة للتنفيذ التي تعمل داخل CMD.EXE تعمل جميعها في PowerShell. ومع ذلك، نظرًا لأنها ليست كائنية التوجه، فإنها لا تتمتع بالوصول الكامل إلى الكائنات المُنشأة والمُستخدمة في PowerShell. ستظل هذه البرامج النصية والملفات القابلة للتنفيذ القديمة تُعامل كل شيء كنص، ولكن يمكنك دمج PowerShell مع عدد من التقنيات الأخرى. هذا مهم بشكل خاص إذا كنت ترغب في بدء استخدام PowerShell مع مجموعة من البرامج النصية الموجودة التي لا يمكنك تحويلها جميعًا مرة واحدة.

شرح معلمات PowerShell

يمكن لأوامر الأوامر الصغيرة قبول معلمات لتغيير سلوكها. عند تشغيل أمر صغير أو دالة، يمكنك توفير قيم معلمات لتحديد متى وأين وكيف يتم تشغيل كل أمر من أوامر PowerShell.

على سبيل المثال، سيقوم الأمر Get-Process باسترداد جميع العمليات الجارية في نظام التشغيل لديك وإدراجها في قائمة:

PowerShell وكل ما تحتاج إلى معرفته حول هذه الأداة المساعدة
تحتوي قائمة Get-Process على جميع العمليات الجارية.

ولكن ماذا لو كنت ترغب فقط في الحصول على عملية محددة؟ يمكنك القيام بذلك باستخدام المعلمات. على سبيل المثال، للحصول على جميع عمليات Slack، يمكنك استخدام معلمة الاسم مع أمر Get-Process:

Get-Process -Name Slack

ثم ستشاهد فقط العمليات المسماة "slack":

PowerShell وكل ما تحتاج إلى معرفته حول هذه الأداة المساعدة
استخدام Get-Process مع المعلمات

نصيحة : بعض المعلمات "موضعية"، أي أن أسماؤها اختيارية. في هذه الحالة، يؤدي كلٌّ من Get-Process -Name Slack و Get-Process Slack نفس المهمة.

يقبل كل أمر (cmdlet) أنواعًا مختلفة من المعلمات. استخدم أمر Get-Help للاطلاع على المعلمات المقبولة في الأمر (cmdlet) في قسم SYNTAX.

Get-Help Get-Process

ستشاهد قائمة بجميع الطرق الممكنة لتشغيل الأمر Cmdlet المعطى:

PowerShell وكل ما تحتاج إلى معرفته حول هذه الأداة المساعدة
معلمات بناء جملة cmdlet

في هذه الحالة، تقبل أداة Get-Process معلمات مثل الاسم، والمعرّف، واسم الكمبيوتر، والوحدة النمطية، ومعلومات إصدار الملف ، وغيرها من المعلمات الشائعة. تشير الرموز هنا إلى:

رمز

اسم

معنى

 

طبل

المعلمة لا تقبل الإدخال

-

شرطة

حدد اسم المعلمة

<>

أقواس مجعدة

عنصر نائب للنص

[]

الأقواس

يمكن للمعلمة قبول قيمة واحدة أو أكثر.

{}

أقواس مجعدة

تقبل المعلمة مجموعة من القيم.

تقبل المعلمات مجموعة من القيم التي تُشير إلى نوع البيانات المطلوبة، مثل سلسلة نصية، أو عدد صحيح، أو قيمة منطقية، أو تاريخ ووقت. على سبيل المثال، الأمر التالي:

Get-Process [[-Name] ]

... يعني أن معلمة الاسم تقبل قيمة سلسلة واحدة أو أكثر، في حين أن هذا الأمر:

Get-Process -Id 

... يعني أن معلمة Id تقبل قيمة صحيحة واحدة أو أكثر.

استخدم مثال Get-Process السابق معلمة الاسم لتضييق نطاق النتائج. ومع ذلك، إذا أردت تضييق نطاق البحث إلى عملية أكثر تحديدًا، يمكنك استخدام معلمة المعرف ، والتي تتطلب عددًا صحيحًا كما هو مذكور في صياغتها.

Get-Process -Id 3016

ثم سوف ترى عملية واحدة فقط في القائمة:

PowerShell وكل ما تحتاج إلى معرفته حول هذه الأداة المساعدة
استخدام معلمة Id في وحدات الأوامر الصغيرة

إنشاء خط أنابيب

يعالج PowerShell جميع البيانات ككائنات. لإنشاء نص برمجي، تُمرَّر هذه الكائنات عبر سلسلة من أوامر الأوامر أو الدوال المتصلة باستخدام رمز الأنبوب (|). يُعد اختيار أوامر الأوامر المناسبة وربطها بتسلسل منطقي باستخدام خط أنابيب أمرًا بالغ الأهمية لضمان كفاءة النص البرمجي.

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

PowerShell وكل ما تحتاج إلى معرفته حول هذه الأداة المساعدة
فرز النصوص - الملفات الكبيرة PS1

للقيام بذلك في PowerShell، استخدم خط أنابيب يبدو مثل هذا:

Get-ChildItem -Path "C:\Directory" -File | Sort-Object Length -Descending `
 | Select-Object -First 5 | Format-Table Name, Length -AutoSize

حفظ خط الأنابيب كنص برمجي PS1

الآن بعد أن أصبح لدينا خط أنابيب عامل، يمكنك حفظه كملف نصي PS1 حتى لا تضطر إلى استيراده في كل مرة تستخدمه.

الطريقة الأبسط لإنشاء ملف PS1 هي لصق البرنامج النصي في المفكرة وحفظ الملف بامتداد .ps1.

PowerShell وكل ما تحتاج إلى معرفته حول هذه الأداة المساعدة
إنشاء البرنامج النصي باستخدام المفكرة

بمجرد إنشاء ملف PS1، يمكنك استخدامه في PowerShell عن طريق تشغيل ./ScriptName.ps1 :

PowerShell وكل ما تحتاج إلى معرفته حول هذه الأداة المساعدة
استخدام البرنامج النصي PS1

نصيحة : إذا حصلت على خطأ أذونات، فإن الحل الأسرع هو تشغيل PowerShell بحقوق المسؤول عند تشغيل البرنامج النصي الخاص بك.

تهانينا! يمكنك الآن إنشاء نصوص PowerShell PS1.

مثال على نص برمجي لـ PowerShell

قراءة وفهم روعة التقنيات الجديدة شيء، واستخدامها فعليًا شيء آخر! في بقية هذه المقالة، سنطوّر نصًا برمجيًا لـ PowerShell لتوضيح إمكانياته وكيفية استخدامه.

يُعدّ الأمر DIR أحد أكثر الأوامر شيوعًا في CMD.EXE . يعرض هذا الأمر جميع الملفات والمجلدات الفرعية الموجودة في المجلد الرئيسي (كما هو موضح في الشكل 1). إلى جانب اسم كل كائن، تتضمن المعلومات المُقدّمة تاريخ ووقت آخر تحديث وحجم كل ملف. كما يعرض DIR الحجم الإجمالي لجميع الملفات في المجلد، بالإضافة إلى العدد الإجمالي للملفات والمجلدات الفرعية.

PowerShell وكل ما تحتاج إلى معرفته حول هذه الأداة المساعدة
الشكل 1

يؤدي تشغيل DIR في PowerShell أيضًا إلى إنشاء قائمة مجلدات مثل الشكل 2، ولكن بطريقة مختلفة قليلًا. لا يحتوي PowerShell على أمر DIR، بل يتضمن الأمر Get-ChildItem، الذي يؤدي نفس الوظيفة. في PowerShell، DIR هو اسم مستعار لـ Get-ChildItem. لا أقصد الخوض في الأسماء المستعارة في هذه المقالة. يمكنك اعتبار DIR في PowerShell اختصارًا لـ Get-ChildItem.

يوفر الأمر DIR في PowerShell نفس المعلومات المذكورة أعلاه تقريبًا: قائمة بالملفات والمجلدات، وتاريخ ووقت آخر تعديل لها، وحجم كل ملف. إلا أنه يفتقر إلى المعلومات الموجزة التي يوفرها الأمر DIR في CMD.EXE: الحجم الإجمالي لجميع الملفات في المجلد، وعدد الملفات، وعدد المجلدات الفرعية.

PowerShell وكل ما تحتاج إلى معرفته حول هذه الأداة المساعدة
الشكل 2

في هذا المثال، ستحتاج إلى إنشاء نص برمجي PowerShell يحاكي أمر CMD.EXE DIR. سأشرح أدناه أهم أجزاء النص البرمجي.

DIR.PS1: الرأس

يتكون نص PowerShell من أوامر PowerShell في ملف نصي عادي بامتداد .PS1. بدلاً من DIR، يمكنك استخدام ملف نصي باسم DIR.PS1.

لتشغيل البرنامج النصي، اكتب الأمر التالي في شاشة PowerShell:

.DIR.PS1 X:Folder

حيث X هو حرف قسم محرك الأقراص (مثل C، D، E) وFolder هو اسم المجلد.

إذا كنت ترغب في معرفة بعض المعلومات حول قسم محرك أقراص، فستحتاج إلى استخدام Windows Management Instrumentation (WMI). تفاصيل WMI تتجاوز نطاق هذه المقالة، لذا لن نتطرق إليها هنا. لكن شيفرة PowerShell أدناه سهلة الفهم دون الحاجة إلى استخدام WMI. يمكنك إنشاء متغير "$filter" لاستخدامه مع أمر Get-WmiObject. يُخبر هذا المتغير أمر Get-WmiObject بأنك تريد معلومات حول محرك أقراص محدد فقط. تُخزن نتائج أمر Get-WmiObject في متغير يُسمى $volInfo. تذكر، في PowerShell، كل شيء هو كائن؛ الآن، أصبح $volInfo كائنًا يُرجعه Get-WmiObject.

$filter = "DeviceID = '" + $drive + ":'"
$volInfo = Get-WmiObject -Class Win32_LogicalDisk -Filter $filter

يمكنك الآن الوصول إلى جميع الكائنات والأساليب المرتبطة بها. يمكنك الوصول إلى الرقم التسلسلي للمجلد عبر الخاصية VolumeSerialNumber. الرقم المُرجع عبارة عن سلسلة نصية من 8 أحرف. ولكن غالبًا ما ترغب في تنسيقه كأربعة أرقام، مفصولة بواصلة. يمكن القيام بذلك بنفس الطريقة كما في السطر التالي. الواصلة في نهاية السطر الأول هي حرف استمرار السطر في PowerShell. إنها تُعلم PowerShell أن السطر لا ينقطع وأنه يتضمن السطر التالي. فواصل الأسطر غير ضرورية عند كتابة التعليمات البرمجية، ولكن لتقليل عرضها وجعلها أسهل قراءة، يجب عليك القيام بذلك.

$serial = $volInfo.VolumeSerialNumber.SubString(0, 4) + "-" + `
$volInfo.VolumeSerialNumber.SubString(4, 4)

الآن، بعد أن أصبح لديك كائن $volInfo، يمكنك كتابة معلومات رأس DIR على الشاشة. إذا لم يكن للمحرك اسم، فسيكون النص المكتوب على الشاشة مختلفًا قليلاً عما إذا كان للمحرك اسم. تُستخدم عبارة If-Else البسيطة للتحقق مما إذا كانت خاصية VolumeName سلسلة نصية فارغة. تُستخدم عبارة Write-Host لكتابة كل سطر من النص على الشاشة.

If ($volInfo.VolumeName -eq "") { Write-Host (" Volume in drive " + $drive + " has no label") } Else { Write-Host (" Volume in drive " + $drive + " is " + $volInfo.VolumeName) } Write-Host (" Volume Serial Number is " + $serial) Write-Host ("`n Directory of " + $args[0] + "`n")

يُستخدم حرف "n" في بداية ونهاية أمر "Write-Host" لإدراج سطر جديد قبل النص وبعده. يضيف أمر "Write-Host" سطرًا جديدًا في نهاية كل سطر. لذا، فإن تأثير "n" هو إنشاء سطر فارغ قبل النص وبعده.

هل لاحظتَ "-eq" في أمر "If"؟ إنه مُعامل مقارنة للمساواة. يوضح الجدول أدناه جميع مُعاملات المقارنة:

-eq، -ieq مقارنة حسب
-ne, -ine المقارنة ليست متساوية
-gt، -igt قارن أكبر من
-ge, -ige قارن أكبر من أو يساوي
-lt, -ilt مقارنة أصغر من
-le, -ile قارن أقل من أو يساوي

يشير الحرف -i قبل مشغلي المقارنة إلى أن المشغل لا يفرق بين الأحرف الكبيرة والصغيرة.

PowerShell وكل ما تحتاج إلى معرفته حول هذه الأداة المساعدة
الشكل 3: بيانات الإخراج للنص البرمجي الذي لديك حاليًا

DIR.PS1: قائمة الملفات/المجلدات

الآن، أنت جاهز لعرض محتويات وخصائص هذا المجلد. أول ما عليك فعله هو استدعاء أمر PowerShell Get-ChildItem للحصول على مجموعة من الملفات وتمريرها إلى البرنامج النصي كمعامل. سيعمل أمر Get-ChildItem على الحصول على مجموعة من كائنات الملفات والمجلدات، ليس فقط أسمائها، بل سينقلها مباشرةً إلى أمر Sort-Object لفرزها. افتراضيًا، يقوم أمر Sort-Object بفرز الكائنات بناءً على خاصية الاسم. لذلك، لا حاجة لتحديد أي معاملات أخرى. سيتم بعد ذلك تخزين مجموعة الكائنات المرتبة في متغير باسم $items.

$items = Get-ChildItem $args[0] | Sort-Object

بمجرد حصولك على مجموعة من كائنات الملفات والمجلدات، ستحتاج إلى تكرارها وعرض خصائصها المناسبة. الأمر المستخدم هو ForEach. لكل ملف أو مجلد، ستكون الخصائص المعروضة هي تاريخ ووقت آخر تعديل، واسم الملف، وطوله، وحجمه. السلاسل النصية الغريبة الشكل داخل الأقواس هي رموز تنسيق سلسلة .NET. تُستخدم لمحاذاة الحقول يمينًا ويسارًا، وتنسيق التواريخ والأوقات والأرقام. فهم رموز تنسيق السلسلة هذه ليس مهمًا جدًا، لأنها ليست أساسية لطبيعة هذا البرنامج النصي.

عبارة "If" هي التي تحدد ما إذا كان الكائن دليلاً أم لا. إذا كان الحرف الأول من سمة "Mode" هو "d"، يكون الكائن دليلاً. يجب عليك التحقق جيدًا لأن شيفرة المجلدات غالبًا ما تختلف عن شيفرة الملفات.

لاحظ سطر $totalDirs++ داخل جملة If. هذا عداد مسؤول عن تتبع عدد المجلدات. وبالمثل، يوجد متغير $totalFiles يُستخدم لتتبع الحجم الإجمالي لجميع الملفات. تُحسب هذه القيم دائمًا أثناء التنفيذ، ولكنها لا تُعرض إلا بعد انتهاء عملية سرد الملفات.

ForEach ($i In $items)
{
$date = "{0, -20:MM/dd/yyyy hh:mm tt}" -f $i.LastWriteTime
$file = $i.Name
If ($i.Mode.SubString(0, 1) -eq "d")
{
$totalDirs++
$list = $date + " {0, -15}" -f "
" + " " + $file
}
Else
{
$totalFiles++
$size = "{0, 18:N0}" -f $i.Length
$list = $date + $size + " " + $file
}
$totalSize += $i.Length
Write-Host $list
}

PowerShell وكل ما تحتاج إلى معرفته حول هذه الأداة المساعدة
الشكل 4: يعرض بيانات الإخراج للنص البرمجي المحدث.

DIR.PS1: التذييل

لم يبقَ سوى كتابة إجمالي عدد الملفات والمجلدات وحجمها الإجمالي والمساحة الفارغة على هذا القسم من القرص على الشاشة. للقيام بذلك، ستحتاج إلى استخدام متغيرات العداد ($totalFiles، $totalDirs، $totalSize) التي تم إنشاؤها في القسم السابق. يمكنك معرفة مقدار المساحة الفارغة من المتغير $volInfo الذي تم إنشاؤه في بداية البرنامج النصي.

Write-Host ("{0, 16:N0}" -f $totalFiles + " File(s)" + `
"{0, 15:N0}" -f $totalSize + " bytes")
Write-Host ("{0, 16:N0}" -f $totalDirs + " Dir(s)" + `
"{0, 16:N0}" -f $volInfo.FreeSpace + " bytes free`n")

PowerShell وكل ما تحتاج إلى معرفته حول هذه الأداة المساعدة
الشكل 5: يعرض بيانات الإخراج الكاملة للنص البرمجي.

يمكن التنبؤات والتحسينات

على الرغم من أن البرنامج النصي الذي تقوم بإنشائه ينتج نفس النتيجة تقريبًا لأمر CMD.EXE DIR، فهناك بعض التحذيرات التي يجب أن تكون على دراية بها وبعض التحسينات التي يمكن إجراؤها.

  • لا يقوم هذا البرنامج النصي بإجراء أي فحص للأخطاء.
  • إذا لم يتم تمرير مسار صالح إلى البرنامج النصي، فسوف يفشل البرنامج النصي مع ظهور رسالة خطأ PowerShell.
  • العدد الإجمالي للمجلدات المعطاة في البرنامج النصي أقل بمقدار 2 من النتيجة من أمر CMD.EXE DIR لأن أمر Get-ChildItem لا يحسب المجلدين "." و ".." كما هو الحال في CMD.EXE.
  • يقوم البرنامج النصي الخاص بك بالفرز حسب اسم الملف واسم المجلد فقط ولا يوفر أي فرز آخر حسب السمات.
  • لا يستطيع البرنامج النصي الخاص بك عرض محتويات المجلد وجميع المجلدات الفرعية.

كيف يساعدك PowerShell في أتمتة أي شيء على جهاز الكمبيوتر الخاص بك

اكتب نصوص PowerShell بسيطة

يمكنك استخدام PowerShell لأتمتة أي شيء تقريبًا، مثل إعادة تسمية الملفات دفعةً واحدة لضمان التناسق، أو تشغيل التطبيقات تلقائيًا. لنكتب بعض نصوص Windows PowerShell البسيطة لنرى كيف تعمل.

ملاحظة : إذا واجهت خطأً عند تنفيذ البرنامج النصي فيما يتعلق بسياسة التنفيذ، فقد تحتاج إلى السماح للبرنامج النصي بالتنفيذ مؤقتًا عن طريق تشغيل "Set-ExecutionPolicy -Scope Process -ExecutionPolicy Bypass"

إعادة تسمية الملفات دفعة واحدة في مجلد

يمكنك استخدام PowerShell لنسخ الملفات ونقلها وحذفها على جهاز الكمبيوتر. كما يمكنك إعادة تسمية ملفات من نوع معين دفعةً واحدة. على سبيل المثال، إليك كيفية إعادة تسمية عدة ملفات نصية باستبدال البادئة "oldco" بـ "newco" في أسمائها:

Get-ChildItem -Path "C:\CompanyFiles" -Filter "*.txt" | Rename-Item -NewName {$_.Name -replace "oldco","newco"}

في النص أعلاه، ".txt" هو مُرشِّح امتداد الملف. يمكنك تعديله وتعيينه إلى .jpg أو .docx، إلخ، للبحث عن أنواع مختلفة من الملفات.

تشغيل التطبيق تلقائيًا

إذا قمت بفتح نفس مجموعة التطبيقات كل يوم، فيمكنك كتابة برنامج نصي PowerShell لتشغيلها بنقرة واحدة:

#Open multiple apps with a single click
Start-Process "notepad.exe"
Start-Process "calc.exe"
Start-Process "Chrome.exe"
Start-Process "slack.exe"

ألصق النص في ملف المفكرة واحفظه باسم LaunchFavoriteApps.ps1. ثم انقر نقرًا مزدوجًا على الملف لتشغيل جميع التطبيقات المدرجة فيه.

نسخ الملفات الهامة إلى موقع النسخ الاحتياطي

يمكنك نسخ ملفاتك المهمة احتياطيًا بشكل دوري إلى موقع نسخ احتياطي باستخدام البرنامج النصي التالي. تأكد من تغيير مساري المصدر والوجهة حسب الحاجة:

#Copy MyFiles folder contents to MyFilesBackup in D:\
Copy-Item -Path "C:\Documents\MyFiles" -Destination "D:\MyFilesBackup" -Recurse

اكتب نصًا برمجيًا لـ PowerShell لتنظيم الملفات تلقائيًا يوميًا

نظرًا لكثرة أنواع الملفات التي يتم تنزيلها يوميًا، قد يمتلئ مجلد التنزيلات بسرعة بأنواع مختلفة من الملفات المتناثرة. لحل هذه المشكلة، يمكننا كتابة برنامج PowerShell نصي يُرتب الملفات المُنزّلة في مجلدات حسب نوعها في نهاية كل يوم.

افتح ملف نوتباد جديد والصق النص التالي. تأكد من تغيير مسار مجلد المصدر في النص ليتوافق مع مسار مجلد التنزيلات:

# Change the source folder path below
$sourcePath = "E:\Downloads"
# Add file mapping folder names; the Others folder includes all the files that do not match file types in the other categories
$fileTypes = @{
"Documents" = @("*.docx", "*.pdf", "*.txt")
"Images" = @("*.jpg", "*.png", "*.gif")
"Media" = @("*.mp4", "*.mp3", "*.mov")
"Zip" = @("*.zip", "*.rar")
"ISO" = @("*.iso")
"Others" = @("*")
}
# Iterate through each folder type and prepare a destination folder for organizing files
foreach ($folder in $fileTypes.Keys) {
# Create the destination folder path
$destPath = Join-Path -Path $sourcePath -ChildPath $folder
# Check if the destination folder exists, and create it if it doesn't
if (!(Test-Path -Path $destPath)) {
New-Item -ItemType Directory -Path $destPath | Out-Null
}
# Move matching files from the source folder to the destination folder based on file type patterns
foreach ($pattern in $fileTypes[$folder]) {
Get-ChildItem -Path $sourcePath -Filter $pattern -File -ErrorAction SilentlyContinue | ForEach-Object {
try {
Move-Item -Path $_.FullName -Destination $destPath -Force -ErrorAction Stop
Write-Output "Moved: $($_.FullName) to $destPath"
} catch {
Write-Warning "Failed to move file: $($_.FullName). Error: $_"
}
}
}
}
Write-Output "Files organized successfully!"

لحفظ الملف، انقر على "ملف" > "حفظ باسم" وأدخل اسم الملف OrganizeDownloadsFolder.ps1 . ثم انقر على "نوع الحفظ" وحدد "جميع الملفات ". انقر نقرًا مزدوجًا على ملف OrganizeDownloadsFolder.ps1 لتشغيل البرنامج النصي.

جدولة المهام وتنفيذها

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

افتح PowerShell، ثم انسخ النص التالي والصقه واضغط على Enter . تأكد من استبدال 'J:\OrganizeDownloadsFolder.ps1' بالمسار الكامل لملف OrganizeDownloadsFolder.ps1 .

$action = New-ScheduledTaskAction -Execute "PowerShell.exe" -Argument "-File 'J:\OrganizeDownloadsFolder.ps1'"
$trigger = New-ScheduledTaskTrigger -Daily -At "5:00 PM"
Register-ScheduledTask -Action $action -Trigger $trigger -TaskName "OrganizeDownloadsFolderDaily"

بعد الانتهاء، اضغط على زر الإدخال . سيُنشئ البرنامج النصي مهمة مجدولة في مُجدول المهام لتشغيل برنامج تنظيم الملفات يوميًا الساعة 5:00 مساءً. إذا كنت تُفضل وقتًا مختلفًا، يُمكنك تعديله في البرنامج النصي أعلاه.

بالإضافة إلى ذلك، يمكنك استخدام PowerShell لأتمتة المهام اليومية الأخرى، مثل برنامج مراقبة المساحة الذي ينبهك عند نفاد المساحة الخالية على محرك الأقراص الأساسي لديك، وحماية دفعات من مستندات PDF بكلمة مرور، وحتى تطبيق خلفيات حية من مجلد الصور لديك.

على الرغم من أن PowerShell لغة قوية في الأدوات المساعدة والبرمجة النصية، إلا أن فهمها واستخدامها يستغرق بعض الوقت، خاصةً إذا لم تكن على دراية ببيئة .NET Framework. آمل أن تكون هذه المقالة والنص البرمجي النموذجي مفيدين لكل من يرغب في فهم PowerShell. النص البرمجي النموذجي المُنشأ في المقالة بسيط للغاية. أعتقد أنه يمكن بناؤه وتطويره بشكل أكثر شمولاً لخدمة تطبيقات أكثر تعقيدًا.

Tags: #System
Sign up and earn $1000 a day ⋙

Leave a Comment

6 إضافات لمستكشف ملفات Windows تجعل الحياة أسهل

6 إضافات لمستكشف ملفات Windows تجعل الحياة أسهل

مستكشف ملفات Windows يُنجز المهمة، ولكن بالكاد. فعدم وجود معاينات سريعة، وصعوبة الوصول إلى السحابة، وعمليات الدفعات المُرهقة، تجعل إدارة الملفات اليومية أكثر صعوبة مما ينبغي.

5 طرق لفتح إعدادات الصوت على جهاز كمبيوتر يعمل بنظام Windows

5 طرق لفتح إعدادات الصوت على جهاز كمبيوتر يعمل بنظام Windows

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

ملخص لطرق إصلاح أخطاء كاميرا الويب في الكمبيوتر المحمول

ملخص لطرق إصلاح أخطاء كاميرا الويب في الكمبيوتر المحمول

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

تعليمات إعادة تثبيت إعدادات Windows

تعليمات إعادة تثبيت إعدادات Windows

في حالة تأثير الإعدادات التي قمت بتغييرها على المحتوى الموجود على جهاز الكمبيوتر الخاص بك، أو وجود مشكلة، فيمكنك إعادة تعيين إعدادات Windows، باتباع الإرشادات أدناه.

كيفية إغلاق جميع التطبيقات المفتوحة مرة واحدة على Windows 11؟

كيفية إغلاق جميع التطبيقات المفتوحة مرة واحدة على Windows 11؟

لا يحتوي نظام التشغيل Windows 11 على زر محدد لإغلاق جميع التطبيقات، ولكن هناك بعض الطرق لإغلاق جميع التطبيقات المفتوحة مرة واحدة على نظام التشغيل Windows 11.

9 أدوات قديمة من نظام التشغيل Windows لا تزال مفيدة حتى اليوم

9 أدوات قديمة من نظام التشغيل Windows لا تزال مفيدة حتى اليوم

من مراقبة الأداء إلى إجراء التعديلات السريعة على النظام، تعد هذه الأدوات المدمجة مفيدة أكثر من أي وقت مضى.

كيفية إصلاح رمز الخطأ 0x80004005

كيفية إصلاح رمز الخطأ 0x80004005

رمز الخطأ 0x80004005 هو نوع من أخطاء Windows غير المعروفة، والذي يرتبط سببه بعدد من المشكلات المختلفة.

كيفية إظهار أيقونة البلوتوث المفقودة على شريط مهام Windows

كيفية إظهار أيقونة البلوتوث المفقودة على شريط مهام Windows

إذا لم تتمكن من العثور على أيقونة البلوتوث على شريط المهام، فاتبع الخطوات أدناه لإظهار أيقونة البلوتوث المفقودة على شريط المهام في نظام التشغيل Windows 10.

كيفية تغيير المتصفح الافتراضي في Windows 10

كيفية تغيير المتصفح الافتراضي في Windows 10

يتيح Windows 10 للمستخدمين تغيير متصفح الويب الافتراضي على النظام بطريقة مرنة وبسيطة للغاية.

كيفية تحرير وإعادة تعيين مركز الإجراءات في Windows 11

كيفية تحرير وإعادة تعيين مركز الإجراءات في Windows 11

يمكن للمستخدمين تغيير وتحرير الإعدادات في مركز الإجراءات لتناسب احتياجاتهم.

4 طرق لتغيير امتدادات الملفات في Windows 11

4 طرق لتغيير امتدادات الملفات في Windows 11

تشرح هذه المقالة كيفية تغيير امتدادات الملفات في Windows 11، كما تناقش الفرق بين امتدادات الملفات وأنواع الملفات.

تعليمات لإصلاح خطأ عدم التعرف عليه كأمر داخلي أو خارجي عند استخدام CMD في Windows

تعليمات لإصلاح خطأ عدم التعرف عليه كأمر داخلي أو خارجي عند استخدام CMD في Windows

في أحد الأيام، شغّلت حاسوبك، وتوجهت إلى موجه الأوامر (CMD)، وظهرت لك رسالة خطأ: "لم يتم التعرف على أمر داخلي أو خارجي، أو برنامج قابل للتنفيذ، أو ملف دفعي". ماذا تفعل؟

كيفية إيقاف تشغيل التطبيقات الخلفية على نظام التشغيل Windows

كيفية إيقاف تشغيل التطبيقات الخلفية على نظام التشغيل Windows

سيساعد إيقاف تشغيل تطبيقات الخلفية في نظام Windows 10 على تقليل بطء جهاز الكمبيوتر وتوفير موارد النظام. سترشدك المقالة التالية من WebTech360 إلى كيفية إيقاف تشغيل تطبيقات الخلفية في نظام Windows 10.

كيفية تمكين/تعطيل شريط اللغة في Windows 11

كيفية تمكين/تعطيل شريط اللغة في Windows 11

حسب احتياجات الاستخدام، يمكن للمستخدمين تفعيل أو تعطيل شريط اللغة على جهاز الكمبيوتر بسرعة. فيما يلي تعليمات تفعيل أو تعطيل شريط اللغة في نظام Windows 11.

كيفية مسح ذاكرة التخزين المؤقت لـ NVIDIA Shader على نظام التشغيل Windows

كيفية مسح ذاكرة التخزين المؤقت لـ NVIDIA Shader على نظام التشغيل Windows

سيؤدي مسح ذاكرة التخزين المؤقت لـ NVIDIA Shader إلى إعادة ضبط النظام، مما يُجبره على إعادة البناء ببيانات جديدة. إليك تعليمات مسح ذاكرة التخزين المؤقت لـ NVIDIA Shader.

6 إضافات لمستكشف ملفات Windows تجعل الحياة أسهل

6 إضافات لمستكشف ملفات Windows تجعل الحياة أسهل

مستكشف ملفات Windows يُنجز المهمة، ولكن بالكاد. فعدم وجود معاينات سريعة، وصعوبة الوصول إلى السحابة، وعمليات الدفعات المُرهقة، تجعل إدارة الملفات اليومية أكثر صعوبة مما ينبغي.

5 طرق لفتح إعدادات الصوت على جهاز كمبيوتر يعمل بنظام Windows

5 طرق لفتح إعدادات الصوت على جهاز كمبيوتر يعمل بنظام Windows

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

ملخص لطرق إصلاح أخطاء كاميرا الويب في الكمبيوتر المحمول

ملخص لطرق إصلاح أخطاء كاميرا الويب في الكمبيوتر المحمول

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

تعليمات إعادة تثبيت إعدادات Windows

تعليمات إعادة تثبيت إعدادات Windows

في حالة تأثير الإعدادات التي قمت بتغييرها على المحتوى الموجود على جهاز الكمبيوتر الخاص بك، أو وجود مشكلة، فيمكنك إعادة تعيين إعدادات Windows، باتباع الإرشادات أدناه.

كيفية إغلاق جميع التطبيقات المفتوحة مرة واحدة على Windows 11؟

كيفية إغلاق جميع التطبيقات المفتوحة مرة واحدة على Windows 11؟

لا يحتوي نظام التشغيل Windows 11 على زر محدد لإغلاق جميع التطبيقات، ولكن هناك بعض الطرق لإغلاق جميع التطبيقات المفتوحة مرة واحدة على نظام التشغيل Windows 11.

9 أدوات قديمة من نظام التشغيل Windows لا تزال مفيدة حتى اليوم

9 أدوات قديمة من نظام التشغيل Windows لا تزال مفيدة حتى اليوم

من مراقبة الأداء إلى إجراء التعديلات السريعة على النظام، تعد هذه الأدوات المدمجة مفيدة أكثر من أي وقت مضى.

كيفية إصلاح رمز الخطأ 0x80004005

كيفية إصلاح رمز الخطأ 0x80004005

رمز الخطأ 0x80004005 هو نوع من أخطاء Windows غير المعروفة، والذي يرتبط سببه بعدد من المشكلات المختلفة.

كيفية إظهار أيقونة البلوتوث المفقودة على شريط مهام Windows

كيفية إظهار أيقونة البلوتوث المفقودة على شريط مهام Windows

إذا لم تتمكن من العثور على أيقونة البلوتوث على شريط المهام، فاتبع الخطوات أدناه لإظهار أيقونة البلوتوث المفقودة على شريط المهام في نظام التشغيل Windows 10.

كيفية تغيير المتصفح الافتراضي في Windows 10

كيفية تغيير المتصفح الافتراضي في Windows 10

يتيح Windows 10 للمستخدمين تغيير متصفح الويب الافتراضي على النظام بطريقة مرنة وبسيطة للغاية.

كيفية تحرير وإعادة تعيين مركز الإجراءات في Windows 11

كيفية تحرير وإعادة تعيين مركز الإجراءات في Windows 11

يمكن للمستخدمين تغيير وتحرير الإعدادات في مركز الإجراءات لتناسب احتياجاتهم.

4 طرق لتغيير امتدادات الملفات في Windows 11

4 طرق لتغيير امتدادات الملفات في Windows 11

تشرح هذه المقالة كيفية تغيير امتدادات الملفات في Windows 11، كما تناقش الفرق بين امتدادات الملفات وأنواع الملفات.

تعليمات لإصلاح خطأ عدم التعرف عليه كأمر داخلي أو خارجي عند استخدام CMD في Windows

تعليمات لإصلاح خطأ عدم التعرف عليه كأمر داخلي أو خارجي عند استخدام CMD في Windows

في أحد الأيام، شغّلت حاسوبك، وتوجهت إلى موجه الأوامر (CMD)، وظهرت لك رسالة خطأ: "لم يتم التعرف على أمر داخلي أو خارجي، أو برنامج قابل للتنفيذ، أو ملف دفعي". ماذا تفعل؟

كيفية إيقاف تشغيل التطبيقات الخلفية على نظام التشغيل Windows

كيفية إيقاف تشغيل التطبيقات الخلفية على نظام التشغيل Windows

سيساعد إيقاف تشغيل تطبيقات الخلفية في نظام Windows 10 على تقليل بطء جهاز الكمبيوتر وتوفير موارد النظام. سترشدك المقالة التالية من WebTech360 إلى كيفية إيقاف تشغيل تطبيقات الخلفية في نظام Windows 10.

كيفية تمكين/تعطيل شريط اللغة في Windows 11

كيفية تمكين/تعطيل شريط اللغة في Windows 11

حسب احتياجات الاستخدام، يمكن للمستخدمين تفعيل أو تعطيل شريط اللغة على جهاز الكمبيوتر بسرعة. فيما يلي تعليمات تفعيل أو تعطيل شريط اللغة في نظام Windows 11.

كيفية مسح ذاكرة التخزين المؤقت لـ NVIDIA Shader على نظام التشغيل Windows

كيفية مسح ذاكرة التخزين المؤقت لـ NVIDIA Shader على نظام التشغيل Windows

سيؤدي مسح ذاكرة التخزين المؤقت لـ NVIDIA Shader إلى إعادة ضبط النظام، مما يُجبره على إعادة البناء ببيانات جديدة. إليك تعليمات مسح ذاكرة التخزين المؤقت لـ NVIDIA Shader.