owerShell workflow چیست؟

شنبه 9 اردیبهشت 1396 ساعت 08:00
حرفه ای های IT مدیریت شبکه های بزرگ خود را با اجرای دنباله هایی از taskهای طولانی مدت، به صورت خودکار در می آورند. به این دنباله ها workflow می گوییم. Windows PowerShell Workflow به حرفه ای های IT و توسعه دهندگان این امکان را می دهد که با استفاده از مزایای Windows Workflow Foundation در کنار امکانات خودکارسازی و سادگی PowerShell کیفیت کار خود را بالا ببرند. این امکان در ویندوز سرور 2012 و ویندوز 8 برای اولین بار ارائه گردید و بخشی از Windows PowerShell 3.0 و نسخه های جدیدتر آن است. به این ترتیب این امکان به ادمین ها داده می شود که روی کارهای مهم تر و سطح بالای خود تمرکز کنند.Windows PowerShell که برای اولین بار با ویندوز سرور 2008 و ویستا ارائه شد، یک command line shell و زبان اسکریپت نویسی است که بر پایه dot net framework ارائه شده و هدف آن خودکارسازی مدیریت ویندوز است.

معرفی Windows Powershell Workflow
Workflow دنباله ای از قدم های برنامه ریزی شده و متصل به هم است که taskهای طولانی مدت را اجرا می کنند یا نیاز به هماهنگی تعداد زیادی دستگاه دارد. Windows Powershell Workflow امکان ایجاد چنین دنباله هایی را می دهد. Workflowها می توانند قابل تکرار، پشت سر هم، قابل موازی سازی، قابل متوقف شدن و قابل شروع شدن مجدد باشند که بسته به طراحی آن ها متفاوت است. حتی می توانند پس از یک قطعی پیش بینی نشده برق و یا شبکه، از سر گرفته شوند. Syntax آن ها مشابه syntax مربوط به PowerShell است و به کمک فایل های XAML هم می توانند ساخته شوند.با استفاده از Runas در Windows PowerShell، افراد مجاز قادر خواهند بود workflowها و یا فعالیت های داخل یک workflow را اجرا کنند.

فعالیت چیست؟
فعالیت یک وظیفه خاص است که می خواهیم یک workflow اجرا نماید. همان طور که یک اسکریپت از یک یا بیشتر دستور ساخته شده است، workflow هم از یک یا چند فعالیت تشکیل شده است که به دنبال هم اجرا می شوند. یک workflow می تواند به عنوان یک فعالیت در workflow دیگری مورد استفاده قرار گیرد.

مزایای استفاده از Windows Powershell Workflow

    ادمین ها می توانند از مهارت های اسکریپت نویسی خود برای نوشتتن workflow استفاده کنند. این اسکریپت ها به سادگی نوشته می شوند و قابل به اشتراک گذاری هستند.

وظایف workflow را می توان همزمان به صدها دستگاه اعمال نمود. Windows Powershell Workflow به طور خودکار پارامترهایی مثل نام کامپیوتر را به workflow اضافه می نماید تا امکان انجام چنین سناریوهایی وجود داشته باشد.

    به راحتی می توان با ترکیب چندین اسکریپت و فرمان، یک سناریو را در قالب یک workflow اجرا کرد و مراحل پیشرفت آن را کنترل کرد.
    Workflowها در مقابل قطع شدن برق، خاموش شدن ناگهانی سیستم و یا قطعی شبکه آسیب پذیر نیستند و با توجه به نقاط checkpoint که برای آنها تعریف می شود، ادامه می یابند و یا مجدداً شروع می شوند.
    قطع و وصل شدن کاربران از workflowها تأثیری روی اجرای آنها ندارد.
    Workflowها قابل زمانبندی هستند.


اسکریپت های Windows Powershell Workflow و Windows PowerShell چه تفاوتی با هم دارند؟
در اسکریپت های معمول، کل اسکریپت در یک فضای اجرا، اجرا می شود. فضای اجرا محیط عاملی است که تعیین می کند کدام فرمان ها، متغیرها و المان های دیگر موجود هستند. در workflow هر فعالیت در یک فضای اجرای مخصوص به خود اجرا می شود. به طور کلی زمانی باید به جای اسکریپت یا دستور سراغ workflow برویم که هدف ما یکی از موارد زیر باشد:

    می خواهید یک task طولانی مدت اجرا کنید که چندین قدم را شامل می شود.
    نیاز دارید task شما روی چندین دستگاه اجرا شود.
    می خواهید task شما checkpoint داشته باشد و قابل ادامه دادن باشد.
    نیاز دارید یک task طولانی مدت اجرا کنید که قابل وقفه افتادن، شروع مجدد و موازی سازی باشد.
    می خواهید taskای را در یک محیط بزرگ با در نظر گرفتن کم و زیاد شدن پهنای باند و connection pooling اجرا نمایید.


ایجاد و وارد کردن workflowها با استفاده از Visual Studio Workflow Designer
یک راه دیگر برای ایجاد workflowها استفاده از Visual Studio Workflow Designer است. این workflowها فرمت XAML دارند. این فایلها را می توانید در Windows Powershell Workflow وارد نمایید.

فعالیت های Windows Powershell Workflow در Visual Studio Workflow Designer
Windows PowerShell فعالیت های از پیش آماده ای برای بیشتر cmdletها دارد.این فعالیت ها در بسته هایی با نام های مشابه ماژول مربوط به خود قرار گرفته اند. لیست زیر، مجموعه فعالیت های از پیش نصب شده است:

    Microsoft.PowerShell.Activities
    Microsoft.PowerShell.Core.Activities
    Microsoft.PowerShell.Diagnostics.Activities
    Microsoft.PowerShell.Management.Activities
    Microsoft.PowerShell.Security.Activities
    Microsoft.PowerShell.Utility.Activities
    Microsoft.WSMan.Management.Activities

نظرات (0)
امکان ثبت نظر جدید برای این مطلب وجود ندارد.