استخدام PowerShell للمستخدمين المنزليين - دليل المبتدئين


من لا يرغب في أن يكون ساحرًا وينطق ببضع كلمات ليحدث أشياء سحرية؟ حسنًا ، لا يمكننا أن نوضح لك كيف تكون ساحرًا ، لكن يمكننا أن نريك كيفية القيام ببعض سحر الكمبيوتر.

إذا كان لديك كمبيوتر يعمل بنظام Windows مع Windows 7 عليه ، فستحصل على PowerShell. أيضًا ، إذا كان لديك جهاز كمبيوتر عليه نظام التشغيل Windows 7 ، فيرجى تحديثه من أجل الأمان.

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

هذا مهم لأن ما تعلمته عن PowerShell يمكن استخدامه على أي كمبيوتر تقريبًا الآن. من تعرف؟ قد تنقل هذه المهارة إلى المستوى التالي وتذهب إلى مهنة في مجال تكنولوجيا المعلومات.

ما هو PowerShell؟

الإجابة عالية التقنية من Microsoft هي أنها " ... قذيفة سطر الأوامر مصممة خصيصا لمسؤولي النظام. "يبدو مخيفا. لكنها ليست كذلك. هل تهتم بجهاز الكمبيوتر الخاص بك؟ نعم ، فأنت مسؤول النظام في منزلك.

هل تخبر جهاز الكمبيوتر الخاص بك بما يجب القيام به من خلال النقرات وضربات المفاتيح؟ نعم ، لذلك فكر في سطر أوامر shell كإطار آخر تكتب فيه أشياء لإخبار الكمبيوتر بما يجب القيام به. يمكنك القيام بذلك.

In_content_1 الكل: [300x250] / dfp: [640x360]->

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

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

ماذا يمكنك أن تفعل مع PowerShell؟

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

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

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

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

كيف يمكنني استخدام PowerShell؟

أسهل طريقة للعمل مع PowerShell هي في PowerShell Integrated Scripting Environment (ISE). يمكنك العثور عليه من خلال النقر على "ابدأ" وكتابة powershell iseفي شريط البحث في نظام التشغيل Windows 10. يجب أن تشاهده كما هو موضح أدناه.

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

قد تحصل على <قوي>تحذير من وصول المستخدم(UAC) تحذير منبثق يسألك عما إذا كنت متأكدًا من رغبتك في القيام بذلك. انقر على نعم.

أنت الآن تنظر إلى PowerShell IDE. الجزء العلوي من النافذة (1)هو جزء البرمجة النصية. هذا هو المكان الذي ستكتب فيه البرنامج النصي. الجزء السفلي من النافذة (2)هو منطقة وحدة التحكم. عندما تختبر البرنامج النصي الخاص بك ، سترى الإخراج في هذا الجزء.

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

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

في نافذة البرمجة النصية ، انسخ والصق ما يلي:

Set-ExecutionPolicy -ExecutionPolicy RemoteSigned

و <قوي>Set-ExecutionPolicyيُطلق على جزء منه اسم cmdlet (commandlet واضح). Cmdlets هي أشياء قوية. فكر فيها كأوامر قصيرة يمكنك منحها لـ Windows ، وسيقوم Windows بتنفيذ مجموعة من الأشياء الأكثر تعقيدًا لإرضاء الأمر.

سيُخبر القياس ابنك بتنظيف غرفته. قصيرة وإلى هذه النقطة. إذا كان ابنك على دراية جيدة بتنظيف الغرفة ، فسوف يذهبون ويصنعون سريرهم ويضعون مغسلة في السلة ويعلقون ألعابهم وكتبهم ، وربما يفرغون الأرض. إنهم يفهمون أن الأمر cmdlet Clean-YourRoom يعني كل ذلك.

في الجزء العلوي من النافذة ، سترى رأس سهم أخضر. انقر فوق ذلك لتشغيل الأمر.

The - جزء ExecutionPolicyيخبر Set-ExecutionPolicyالسياسة التي يجب تعيينها. إنها معلمة. إنه يقول ، "أريدك أن تعمل وفقًا لهذه الإرشادات وأن تفعل ذلك بالتحديد. يخبرها باستخدام سياسة محددة لـ RemoteSigned.

تنص سياسة RemoteSignedعلى أنه لا يجوز لـ PowerShell تنفيذ أو تشغيل أي برنامج نصي تم تنزيله من الإنترنت ما لم يتم التوقيع عليه من قبل ناشر موثوق.

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

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

استخدم PowerShell لإنشاء مساحة على محرك الأقراص الثابتة

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

$TempFileLocation = "C:\Users\username\Appdata\Local\Temp\*"

أي شيء به علامة الدولار أمامه هو اسم متغير . فكر في الأمر وكأنه محفظة لوضع الأشياء الثمينة فيها. يذكرنا Wallet بعملة الدولار ، والأشياء الثمينة تبدو متغيرة ، لذلك سنتذكر ذلك أيضًا. نحن بصدد إنشاء محفظة أو متغير باسم $ TempFileLocation. تخبر علامة المساواة PowerShell بما يجب وضعه في هذا المتغير.

في هذه الحالة ، نضع موقع موقع الملفات المؤقتة في Windows - C: \ Users \ اسم المستخدم \ AppData \ \ درجة الحرارة المحلية \ *. نحن نفعل هذا لسببين ؛ إنه موقع آمن دائمًا لحذف الملفات منه ، وسنستخدمه لإخبار PowerShell بالمكان الذي يجب أن يذهب إليه لحذف الملفات.

حيث يقول اسم المستخدم في ذلك الموقع ، قم بتبديلها مع المستخدم الخاص بك اسم. هذا هو اسم المستخدم الذي تستخدمه لتسجيل الدخول إلى جهاز الكمبيوتر الخاص بك. العلامة النجمية (*) في نهاية اللعبة عبارة عن بطاقة عشوائية. ما يمثله هو كل شيء في المجلد Temp ، لأن كل شيء في مجلد Temp مؤقت ونريد حذفه.

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

$TempFile = Get-ChildItem $TempFileLocation -Recurse

نحن بصدد إنشاء متغير آخر. هذه المرة سنستخدم أمرًا للتوصل إلى شيء لوضعه في المتغير $ TempFile.

Get-ChildItem 

شيء آخر سوف إشعار حول أوامر cmdlets مثل Get-ChildItemهو أنه قابل للقراءة تمامًا. ترى كيف الكلمة الأولى هي الفعل؟ تبدأ Cmdlets بكلمات الحركة ، حتى تعرف على الفور ما تفعله. ChildItem هو اسمان.

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

ما هو cmdlet الذي يحصل على العناصر الفرعية لـ؟ كل شيء في المتغير $ TempFileLocation. سيقوم PowerShell بالانتقال إلى الموقع الذي وضعناه في $ TempFileLocation مسبقًا واحصل على جميع العناصر الفرعية الموجودة هناك. بعد ذلك ، سوف يضعهم في المتغير $ TempFile.

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

$TempFileCount = ($TempFile).count

نعم ، نحن بصدد إنشاء متغير ثالث يسمى $ TempFileCount، وسنضع رقمًا في هذا المتغير. أين الرقم؟ حسنًا ، ($ TempFile) .countستحصل على هذا الرقم. من المحتمل أن تكون على علم بأن الجزء الخاص بالعدد .count سوف يقوم بعدد جميع الملفات التي قمنا بتخزينها للتو في $ TempFile.

لماذا فعلنا هذا؟ غالبًا لأنه من الجيد معرفة عدد الملفات عديمة الفائدة التي نقوم بتنظيفها مع بقية البرنامج النصي حتى نتمكن من معرفة مدى فعاليتها.

if($TempFileCount -eq 0)

الآن نعد الإعداد بيان شرطي. يمكنك أن ترى أنه يسأل "إذا". إذا ماذا؟ إذا كان الشيء الموجود بين قوسين صحيحًا أو خطأ. الأقواس مهمة ، وإلا فإن If لا يعرف ماذا يقارن. هنا ، يسأل ما إذا كان الرقم الذي قمنا بتخزينه في $ TempFileCountيساوي الصفر.

يعد -eqالاختصار للمساواة. إنه نوع من عوامل المقارنة. يشبه إخبار أطفالك ، "إذا كانت غرفتك نظيفة ، رائعة ، فسنفعل شيئًا ..." هذا البيان يقول إذا كان الرقم الذي تم تخزينه في $ TempFileCount يساوي الصفر ، فقم بالشيء التالي.

{Write-Host "There are no files in the folder $TempFileLocation" -ForegroundColor Green}

هذا هو الشيء الذي سيحدث إذا كان $ TempFileCountصفرًا. بين قوسين مجعد مهم. يخبرون PowerShell أن يفعلوا فقط ما بداخلهم إذا كان $ TempFileCount يساوي الصفر.

ستكتب إلى المضيف ، أو الشاشة ، "لا توجد ملفات في المجلد C: \ Users \ اسم المستخدم \ Appdata \ Local \ Temp \ *". المعلمة في النهاية ، - ForegroundColorتخبر PowerShell بجعل النص أخضر. هذا يجعل من السهل التمييز بين رسالة الخطأ التي عادة ما تكون حمراء.

Else

تعرف معنى آخر. هذا هو الجزء "غرفتك نظيفة بشكل أفضل أو غير ذلك ..." في التحقق مما إذا كان طفلك قد قام بتنظيف غرفته. هذا ما سيحدث إذا لم يكن $ TempFileCountصفراً.

{$TempFile | Remove-Item -WhatIf -Confirm:$false -Recurse -Force -WarningAction SilentlyContinue -ErrorAction SilentlyContinue}

هذا يقول انتقل إلى الموقع الحالي المخزن في $ TempFile. الخط العمودي بعد أن يسمى الأنابيب. إنه يعمل بشكل يشبه أنبوب الحياة الواقعية لأنه يخبر PowerShell بتدفق محتويات $ TempFile في الأمر cmdlet ، كما لو كان يتم ضخ المياه في غسالة. بعد ذلك ، يقوم أمر cmdlet إزالة العنصربما يقول ؛ أنه يزيل كل ما هو في هذا الموقع.

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

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

توقف المعلمة -Confirm: $ falseالبرنامج النصي عن السؤال عما إذا كنت تريد حقًا حذف الملف. أنت تعرف ما يفعله -Recurse. -Forceيعني حذف هذا الشيء بغض النظر عن ما. تم تعيين -WarningActionعلى SilentlyContinue.

هذا يمنع البرنامج النصي من إعطائك تحذيرات بشأن ما تقوم بحذفه. تم تعيين -ErrorActionعلى SilentlyContinueحتى إذا كان هناك أي نوع من الخطأ في هذه العملية ، فسيستمر الأمر في التنقل.

الآن نحن في السطر الأخير.

Write-Host "Cleared $TempFileCount files in the folder $TempFileLocation" -ForegroundColor Green}

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

لننظر إلى البرنامج النصي تمامًا:

$TempFileLocation = "C:\Users\guymcd\Appdata\Local\Temp\*"
$TempFile = Get-ChildItem $TempFileLocation -Recurse
$TempFileCount = ($TempFile).count

if($TempFileCount -eq "0") {
Write-Host "There are no files in the folder $TempFileLocation" - ForegroundColor Green
}
Else {
$TempFile | Remove-Item -Confirm:$false -Recurse -Force -WarningAction SilentlyContinue -ErrorAction SilentlyContinue
Write-Host "Cleared $TempFileCount files in the folder $TempFileLocation" -ForegroundColor Green
}

يمكنك نسخ هذا ولصقه في PowerShell ISE وحفظه كشيء مثل delete-TemporaryFiles.ps1. يمكنك أيضًا الالتزام بعبارة تسمية أوامر cmdlets التي تفهمها الآن.

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

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

أين يمكنني معرفة المزيد من PowerShell؟

يبدو ذلك كثيرًا! بالنسبة لأول سيناريو من PowerShell الخاص بك ، يعد هذا أمرًا مقبولًا. إذا كنت قد وصلت إلى هذا الحد ، فاستحسن لك. لقد تعلمت الكثير اليوم ، لكنك تريد الآن معرفة المزيد. ذلك رائع!

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

  • الشروع في العمل مع Microsoft PowerShell - Microsoft Virtual Academy
  • بوويرشيل تعليمي - TutorialsPoint.com
  • المنشورات ذات الصلة:


    14.03.2019