x
تبلیغات

powershell

جالب است که بدانید، Windows PowerShell اولین تلاش مایکروسافت برای ارائه راه حلی جهت خودکار سازی (automation) فعالیت های مدیریتی نمی باشد.

 

مایکروسافت در سال های گذشته و قبل از ارائه Windows PowerShell، تلاش هایی را در این راستا نموده است که نتیجه آنها را می توان در ارائه راه حل هایی همانند Batch، KiXtart و VBScript خلاصه نمود. از آنجایی که فراگیری Windows PowerShell ممکن است شما را با چالش دچار نماید، دانستن آنکه به چه علت می بایست شما این مسیر طاقت فرسا را بپیمائید، می تواند شما را در مراحل یادگیری این تکنولوژی یاری رساند. ابتدا می خواهم شما را با شرایطی آشنا کنم که در آن، تکنولوژی Windows PowerShell وجود نداشته باشد. به ادامه مقاله توجه فرمایید.

 

زندگی بدون Windows PowerShell چگونه است؟

 توانایی مدیریت سیستم های مایکروسافتی از طریق محیط گرافیکی، همواره مدیران این گونه سیستم ها را خرسند نگاه داشته است. آیا زمانی که برای اولین بار از کنسول Active Directory Users and Computers استفاده کرده اید را به خاطر دارید؟ با اجرای این کنسول و چندین کلیک و پر کردن چندین فیلد، شما می توانید یک کاربر را براحتی هر چه تمام تر، ایجاد کنید. اما این تمام ماجرا نیست! به منظور ایجاد کاربر مورد نظر، به راستی شما چه میزان زمان را صرف نموده اید؟ با فرض اینکه ایجاد یک کاربر، به حداقل زمان 2 دقیقه نیازمند است، برای ایجاد 100 کاربر، می باست حداقل، 200 دقیقه (بیشتر از 3 ساعت!!) زمان بگذارید. در این روش، متاسفانه نمی توان از روش هایی استفاده کرد که میزان زمان صرف شده را به میزان زیادی، کاهش دهد.

 

با فرض وجود چنین شرایطی، مایکروسافت تلاش های زیادی را در این راستا نموده است و احتمالا موفق ترین آنها، ارائه VBScript می باشد. در این روش، شما مدت زمان قابل توجهی را صرف ایجاد یک script جهت import نمودن کاربران، بر اساس اطلاعات درج شده در یک فایل CSV، می نمایید. اما هنگامی که script مورد نظر تولید و نهایی شد، ایجاد تعداد زیادی از کاربران، تنها به چندین ثانیه نیازمند است.

 

نکته ای که می بایست در خصوص VBScript در نظر داشته باشید (که البته از جمله کاستی های آن در نظر گرفته می شود) آنست که مایکروسافت، به درستی از این تکنولوژی پشتیبای نمی نماید. به عبارت دیگر، میزان تلاش مایکروسافت در ارائه این تکنولوژی و هم گام سازی آن با تکنولوژی های جدید، بسیار اندک است.

 

به عنوان مثال، اگر چنانچه شما بخواهید از طریق VBScript اقدام به تغییر آدرس IP یک کارت شبکه را به انجام برسانید، امکان این فعالیت وجود دارد. این در حالیست که، اگر چناچه بخواهید با استفاده از VBScript میزان سرعت یک کارت شبکه را بدست آورید، متاسفانه این امکان وجود ندارد! علت این امر آنست که در هنگام تولید سیستم عامل، اقدامی جهت پشتیبانی از VBScript جهت دریافتن سرعت کارت شبکه، از سوی برنامه نویسان، صورت نگرفته است. وجود چنین کاستی هایی در VBScript باعث شده است که از آن به عنوان راه حل کیلومتر آخر (the last line solution) یاد کنند و این بدان علت است که اگر چه شما می توانید با استفاده از آن، بسیاری از فعالیت های مدیریتی را به اصلاح automate نمایید، اما نمی توان از آن برای گذشتن از خط پایان (finish line) استفاده کرد.

 

وجود چنین کاستی هایی، مایکروسافت را بر آن داشت که اقدام به ارائه راه حلی به نام Windows PowerShell نماید که بوسیله آن، علاوه بر رسیدن به کیلومتر آخر، می توان از خط پایان نیز گذشت! در این راستا، بسیاری از محصولات تولید شده از سوی مایکروسافت، پشتیبانی از Windows PowerShell را در دستور کار خود قرار داده اند و بسیاری از شرکت های تولید نرم افزار نیز چنین رویکردی را پیش روی خود قرار داده اند. همچنین شاهد ظهور متخصصانی هستیم که بسیاری از فعالیت های روزمره خود را با استفاده از این راه حل به انجام رسانیده و اطلاعات و تجربیات گرانبهای خود را با دیگران به اشتراک می گذارند.


زندگی با Windows PowerShell چگونه است؟

هدف مایکروسافت از ارائه Windows PowerShell آنست که شما بتوانید تمامی فعالیت های مدیریتی خود را از طریق پوسته (shell) مرتبط، به انجام برسانید. جالب است که بدانید، با این رویکرد، مایکروسافت کماکان جهت مدیریت سرویس های تولید شده از سوی خود، کنسول های گرافیکی تولید می نماید و این در حالیست که فرامین اجرا شده در این کنسول ها، ابتدا به فرامین منطبق با PowerShell تبدیل شده و سپس جهت حسول نتیجه نهایی، به اجرا در می آیند. این رویکرد اتخاذ شده از سوی شرکت باعث شده است که امکان اجرای تمامی فرامین موجود در محیط گرافیکی، در میحط PowerShell نیز در اختیار قرار گیرد. با این رویکرد، هنگامی که شما مایل به اجرای فرامینی هستید که تکرار پذیر بوده و یا آنکه محیط گرافیکی، آنها را به درستی انجام نمی دهد، می توانید از Windows PowerShell استفاده کنید.

 

از گذشته ای نه چندان دور، چندین محصول ارائه شده از سوی شرکت مایکروسافت، خود را هم راستای رویکرد مورد بحث نموده اند. از جمله این محصولات می توان به Exchange Server 2007 و بالاتر، SharePoint Server 2010 و بالاتر، بسیاری از محصولات خانواده System Center، Office 365 و همچنین بسیاری از اجرای سیستم عامل را نام برد. از آنجایی که شرکت مایکروسافت تمامی توان خود را در پیش برد این رویکرد به میدان آورده است، قطعا در آینده ای نزدیک شاهد پشتیبانی بیشتر محصولات و اجزای سیستم عامل از این تصمیم اتخاذ شده هستیم.

 

به عنوان مثال، با معرفی Windows PowerShell version 3 در Windows Server 2012، شاهد آن هستیم که تمامی فعالیت های مدیریتی صورت گرفته بر روی سیستم عامل را می توان از طریق Windows PowerShell نیز به انجام رسانید و این هم دلیل قطعی دیگر برای آنکه نمی توان از Windows PowerShell براحتی گذشت.


نتیجه گیری:

به طور کلی می توان دنیای مدیران شبکه مبتنی بر محصولات مایکروسافت را به دو گروه تقسیم بندی نمود، مدیرانی که توانایی استفاده از PowerShell جهت انجام فعالیت های روزمره خود را دارند و مدیرانی که فاقد این توانایی هستند. اگر چنانچه از گروه اول هستید، به شما تبریک می گویم و اگر زمره گروه دومید، می بایست خدمتتان عرض کنم که بزودی به پایان زندگی حرفه ای خود در حوزه فناوری اطلاعات خواهید رسید!