Geek School Learning to Use Cmdlets in PowerShell
إذا كنت قد استخدمت ipconfig أو ping خلال موجه الأوامر ، فأنت في منتصف الطريق لتصبح نينجا PowerShell. لذلك ، انضم إلينا ونكتشف أوامر cmdlets في هذا التثبيت لمدرسة Geek.
تأكد من إطلاعك على مقالتنا الأولى التي تعرف على PowerShell ، واستمر في الترقب لبقية مسلسلاتنا طوال الأسبوع.
تشريح من cmdlet
في الجزء الأول من السلسلة ، شاهدنا أمر cmdlet بدا كالتالي:
التحديث مساعدة
يحتوي أوامر cmdlets لـ PowerShell على بناء جملة Verb-Noun ، والذي يمكن رؤيته أعلاه. من المهم ملاحظة أن الاسم دائمًا ما يكون مفردًا على الرغم من أن الأمر cmdlet قد يرجع إلى أكثر من نتيجة واحدة. للاطلاع على قائمة بالأفعال القانونية في PowerShell ، يمكنك استخدام الأمر cmdlet لـ Get-Verb.
معرفة الأفعال القانونية وتذكر قاعدة الاسم المفردة يساعد في الحقيقة على تخمين أسماء cmdlet. على سبيل المثال ، لنفترض أنك تريد ذلك احصل على قائمة من خدمات وحالتها - هذا صحيح ، وسهل مثل الحصول على الخدمة. كيف تعتقد أننا سنفعل احصل على قائمة تشغيل العمليات - هذا صحيح ، سيحقق Get-Process الحيلة.
احصل على عملية
هذا يجعل من السهل العمل مع أي تقنية. على سبيل المثال ، إذا تم تحميل أوامر cmdlets الخاصة بـ Exchange ، فيمكننا الحصول بسهولة على قائمة بعلب البريد على الخادم باستخدام:
احصل على علبة البريد
ومع ذلك ، هناك استثناء. لتبادل جانبا ، سوف تتطلب جميع الأوامر التقنية الأخرى المحددة البادئة. على سبيل المثال ، إذا أردنا الحصول على المستخدمين الذين تم تسجيل دخولهم حاليًا عبر سطح المكتب البعيد ، فسنكتب:
الحصول على لRDUserSession
والتي يمكن رؤيتها في لقطة الشاشة أدناه.
ملاحظة: تم التقاط لقطة الشاشة هذه في مربع Server 2012 حيث ستجد معظم الوحدات الخاصة بالتكنولوجيا.
منذ فترة وجيزة ، قرأت مقالة كتبها Don Jones ، عراب PowerShell ، حيث أوضح أن Exchange تم شحنها قبل أن تتم إضافة هذه البادئة إلى أوامر cmdlets ، لذلك لم تنفذها أبداً ولن يتم تنفيذها أبداً..
اسماء مستعارة
ميزة أخرى PowerShell يأتي مع القدرة على الحصول على طرق متعددة لتشغيل نفس القيادة - الأسماء المستعارة ، إذا صح التعبير. الشيء المثير في الأمر هو أنها تضمنت العديد من الأوامر التي ربما كنت تستخدمها في موجه الأوامر ، بالإضافة إلى بعض الأسماء المستعارة لـ Linux. على سبيل المثال ، في PowerShell يمكننا الحصول على قائمة دليل باستخدام:
الحصول على لChildItem
تستخدم لاستخدام موجه الأوامر؟ لا تقلق ، لقد قمت بتغطيتها.
لديك خلفية لينكس؟ لقد قمت بتغطية هناك أيضا.
عندما تكون قد كتبت لمدة عامين ، فإنك تميل إلى الكسل وتبدأ في استخدام الأسماء المستعارة كثيرًا ، ولكن هذا لا يساعد القادمين الجدد الذين سيقرأون الكود. لمعرفة ما أمر تشغيل اسم مستعار تحت غطاء محرك السيارة ، يمكنك استخدام ما يلي:
Get-Alias -Name ls
من ناحية أخرى ، إذا كنت تعتقد أن الوقت قد حان لرفع مستوى اللعبة ، فيمكنك استخدام معلمة التعريف للحصول على جميع الأسماء المستعارة لـ cmdlet:
Get-ChildItem -Definition Get-ChildItem
إذا كنت قادمًا من خلفية أخرى ، فيمكنك إضافة الأسماء المستعارة الخاصة بك عن طريق القيام بما يلي:
الاسم المستعار الجديد - الاسم icanhazfilez -Value Get-ChildItem
من الواضح أنك ستحتاج إلى استبدال "icanhazfilez" باسم الاسم المستعار الجديد الخاص بك و Get-ChildItem مع الأمر cmdlet الذي تريده أن يعمل تحت الغطاء.
شيء واحد هو أن نلاحظ أن تفقد جميع الأسماء المستعارة التي حددتها عند إغلاق shell. يمكنك الحصول على هذا عن طريق إضافة التعريف الخاص بهم إلى البرنامج النصي الخاص بك ملف التعريف.
معلمات اقتطاع
كما يسمح لك Windows PowerShell باقتطاع أسماء المعلمات حتى تصل إلى النقطة التي تصبح فيها ملتبسة ، أي حتى النقطة التي لا تستطيع PowerShell بعدها معرفة المعلمة التي تتحدث عنها. فمثلا:
Get-Service -Name "Apple Mobile Device '-ComputerName localhost
بالضبط مثل:
الحصول على خدمة -Na "أبل المحمول الجهاز" -Com المضيف المحلي
إذا جعلت من أي فرصة تجعل المعلمات غامضة للغاية ، فسوف تحصل على خطأ.
الأوامر القديمة
أخيرًا ، ستظل الأوامر التي تعرفها وتحبها تعمل في PowerShell.
ping www.google.com
تذكر فقط أن التطبيقات القديمة مثل إخراج ping سلسلة ، وهناك غالبًا طريقة أفضل لفعل الشيء نفسه باستخدام PowerShell cmdlet.
بدلاً من إخراج سلسلة طويلة من النص ، أصبح لدينا الآن كائنًا ، سنلقي نظرة عليه في طبعة الغد من مدرسة Geek School.