Archive

Posts Tagged ‘Snap-in’

The difference between Modules and Snap-in

سبتمبر 21, 2010 تعليق واحد

سؤال دائما بيتكرر من أغلب مستخدمين الـ PowerShell “هو إيه الفرق بين الـModule و الـSnap-in؟”، وطبعاً السؤال ده بيتسأل لأن الفرق بينهم غير واضح للمستخدمين العاديين او حتي المحترفين ولكن واضح جداً للأشخاص اللي بتكتب الـModules و الـSnapin. وده الرئيسي اني احاول اوضح الفرق بينهم بإيجاز إلي حين شرحهم بتفاصيل أكثر في تدوينات أخري.

الـ Module:

الـ Module هو عبارة عن حزمة (package) تحتوي على مجموعة من أوامر PowerShell المختلفة مثل الـ Cmdlets و Functions و Providers و Aliases و Variables. الهدف الأساسي من الـ Module هو سهولة تجميع كل هذه الأوامر المختلفة سواء كانت Built-in او Custom لسهولة تناقلها ومشاركتها. بيتكون الـ Module من Folder مسمي بأسمه، على سبيل لو أردنا ان ننشيء Module بأسم ArabianPowerShell يجب تسمية الـ Folder بأسم ArabianPowerShell، يوجد الـFolder الخاص بالـModules  في:

Documents\WindowsPowerShell\Modules

من أشهر الـ Modules:

الـ Snap-in:

الـ Snap-in هي عبارة عن MS .net framework assemblies تحتوي على الـ cmdlets و الـ providers الخاصةبـPowerShell كما هو الحال في الـModules، وعادةً نجد الـSnap-in مستخدمة مع البرامج التي تدعم Windows PowerShell على سبيل المثال وليس الحصر نجد SQL Server 2008 يستخدم:

  • SqlServerCmdletSnapin100
  • SqlServerProviderSnapin100

حتي يوفر التعامل مع الـSQl Server من خلال Windows PowerShell. يوجد الكثير من الأمثلة ولكن سأكتفي بهذا المثال في هذا الموضوع حتي نستكمل الشرح المفصل في المواضيع القادمة.

من الشرح الموجز لكلاً من الـ Module والـ Snapin نجد ان الفرق بينهم بسيط جداً، ببساطة شديدة يمكن إستخدام اياً منهم لتنفيذ نفس الغرض، فقط يعتمد الإستخدام على السيناريو المراد تنفيذه حسب رغبة ورؤية المستخدم.

التصنيفات :Windows PowerShell الوسوم:,