نقد و بررسی کتاب - Windows PowerShell 3.0 First Steps، نوشته اد ویلسون

ما اخیراً نسخه‌ای از Windows PowerShell 3.0 First Steps را دریافت کردیم و من تصمیم گرفتم چالش بررسی آن را انجام دهم، عمدتاً به دو دلیل. اولین مورد این است که من تا به حال کتابی را نقد نکرده ام و آن را تمرینی عالی در این راستا دیدم. دلیل دوم این واقعیت است که این کتاب با در نظر گرفتن مبتدیان پاورشل(PowerShell beginner) نوشته شده است و - حدس زدید - من یک مبتدی پاورشل(PowerShell beginner) هستم . در واقع، این یک اغراق خواهد بود، زیرا من قبلاً هرگز از PowerShell استفاده نکرده بودم، بنابراین آن را راهی عالی برای یادگیری یک مهارت جدید در نظر گرفتم. بدون هیچ مقدمه‌ای، بیایید وارد آن شویم و ببینیم آیا این کتاب ارزش خرید دارد یا خیر.

چه کسی پاورشل را به من آموزش می دهد؟

نویسنده Windows PowerShell 3.0 First Steps اد ویلسون(Ed Wilson)(Ed Wilson) است . همانطور که از جلد کتابش به ما خبر می‌دهد، اد مشاور ارشد مایکروسافت(Microsoft) و کارشناس مشهور فیلمنامه‌نویسی است(scripting expert) . با توجه به مهارت هایش، به نظر می رسد که او یکی از افراد مورد علاقه مایکروسافت(Microsoft) در ارائه کارگاه های اسکریپت نویسی به مشتریان و کارمندان مایکروسافت(Microsoft) در سراسر جهان باشد.

اد همچنین نویسنده Windows PowerShell 2.0 Best Practices ، Microsoft VBScript گام به گام(Microsoft VBScript Step by Step) است و وبلاگ TechNet(TechNet blog) خود را دارد که در آن درباره اسکریپت صحبت می کند. من واقعاً تا به حال به کار او نپرداخته‌ام، اما با توجه به این حقایق، می‌توانم بگویم که آن مرد می‌داند در مورد چه چیزی صحبت می‌کند، بنابراین، در نگاه اول، با خوشحالی از توصیه او در مورد یادگیری PowerShell استفاده می‌کنم .

Windows PowerShell 3.0 First Steps، کتاب، بررسی، Ed Wilson

قرار دادن چیزها در چشم انداز

اد ویلسون(Ed Wilson) این کتاب را برای مبتدیان کامل نوشته است و به شما توصیه می کند که آن را از جلد تا جلد بخوانید. لحنی که این کتاب با آن نوشته شده، لحنی دوستانه است و درک آن بسیار آسان است. نویسنده هنگام آموزش PowerShell(PowerShell) به شما از اصطلاحات تخصصی بسیار فنی استفاده نمی کند ، بنابراین، مگر اینکه به تازگی رایانه ای خریداری کرده باشید و به تازگی استفاده از آن را یاد بگیرید، در درک درس ها و مثال هایی که Ed آورده است مشکلی ندارید.

Windows PowerShell 3.0 First Steps، کتاب، بررسی، Ed Wilson

برای دریافت نمای کلی بهتر از نحوه ساختار این کتاب تقریباً 300 صفحه‌ای، در اینجا فهرستی از فصل‌ها و آنچه در هر کدام باید انتظار داشت آمده است:

  • فصل 1 - نمای کلی Windows PowerShell 3.0(Chapter 1 - Overview of Windows PowerShell 3.0) - این فصل اول یک نمای کلی بسیار خوب و قابل درک از چیستی PowerShell به شما ارائه می دهد و همچنین برخی از تفاوت های بین کنسول Windows PowerShell(Windows PowerShell console) و Windows PowerShell Integrated Scripting Environment را نشان می دهد که بعداً از آن استفاده خواهید کرد. در کتاب شما همچنین در مورد افعال(verbs) و قراردادهای نامگذاری استفاده شده در Powershell و همچنین چند جنبه امنیتی اساسی که مستقیماً بر استفاده از PowerShell تأثیر می گذارد، آشنا می شوید .
  • فصل 2 - استفاده از cmdlet های Windows PowerShell(Chapter 2 - Using Windows PowerShell cmdlets) - این فصل را ABC PowerShell در نظر بگیرید . Cmdlet(Cmdlets) ها قلب PowerShell هستند و اگر واقعاً می خواهید استفاده از آن را یاد بگیرید، ابتدا باید به cmdlet ها مسلط شوید. خوشبختانه، اد در توضیح نقش و ساختار آنها کار بسیار خوبی انجام می دهد و به سرعت نمونه های زیادی را به شما ارائه می دهد که می توانید آنها را روی رایانه شخصی خود اجرا کنید و خودتان آنها را آزمایش کنید تا اثر را ببینید. برخی از مثال‌های ارائه شده در اینجا عبارتند از جستجو در موضوعات راهنما(Help) PowerShell یا استفاده از cmdlet Get-Command برای یافتن cmdlet‌های دیگر. فصل با بخش هایی در مورد تنظیم یک خط مشی (Policy)اجرای اسکریپت به پایان می رسد(Script Execution) (نگران نباشید، آن را نیز یاد خواهید گرفت) و ایجاد یک نمایه اولیه Windows PowerShell(Windows PowerShell profile) .
  • فصل 3 - فیلتر کردن، گروه بندی و مرتب سازی(Chapter 3 - Filtering, grouping, and sorting) - PowerShell در ارائه بینش کامل به انواع مختلف داده ها عالی است. این فصل با مقدمه‌ای بر خط لوله شروع می‌شود و با آموزش نحوه مرتب‌سازی، گروه‌بندی یا فیلتر کردن اطلاعاتی که با استفاده از cmdlet‌های مختلف دریافت می‌کنید ادامه می‌یابد.
  • فصل 4 - قالب‌بندی خروجی(Chapter 4 - Formatting output) - نمایش داده‌های خام در کنسول PowerShell(PowerShell console) ممکن است همیشه بهترین راه برای مشاهده آن نباشد. فصل چهارم کتاب به شما نشان می دهد که چگونه می توانید یک جدول در PowerShell ایجاد کنید و از آن برای نمایش داده های مورد نیاز خود به صورت سازمان یافته استفاده کنید. همچنین به شما نشان می دهد که چگونه از شبکه خروجی(output grid) استفاده کنید ، ویژگی که شرط می بندم بسیاری از شما دوستش خواهید داشت.
  • فصل 5 - ذخیره سازی خروجی(Chapter 5 - Storing output) - هنگامی که اطلاعات را از PowerShell دریافت کردید ، اد نحوه ذخیره آن اطلاعات را در ابزارهای مختلف نشان می دهد. او این را با ذخیره اطلاعات در فایل‌های csv ، txt و xml نشان می‌دهد .
  • فصل 6 - استفاده از ارائه دهندگان Windows PowerShell(Chapter 6 - Leveraging Windows PowerShell providers) - اینجاست که کتاب شروع به فنی تر شدن می کند. اما هی، برای همین اینجا هستید، درست است؟ به هر حال، ما در مورد یکی از قدرتمندترین ابزارهایی صحبت می کنیم که در سیستم عامل های مایکروسافت(Microsoft) پیدا خواهید کرد ! این فصل توضیح می‌دهد که ارائه‌دهندگان Windows PowerShell چیست و (Windows PowerShell)ارائه‌دهنده مستعار(Alias provider) ، ارائه‌دهنده گواهی(Certificate provider) ، ارائه‌دهنده محیط(Environment provider) ، ارائه‌دهنده سیستم فایل(File System provider) ، ارائه‌دهنده عملکرد(Function provider) ، ارائه‌دهنده رجیستری(Registry provider) و متغیر را به دقت بررسی می‌کند .
    ارائه دهنده. حالا آرام باشید و نفس عمیق بکشید. زمانی که به اینجا برسید و در حین مطالعه و تمرین مثال‌های نشان‌داده‌شده در کتاب، به اندازه کافی درک درستی از PowerShell خواهید داشت تا از نظر فنی گم نشوید.
  • فصل 7 - استفاده از Windows PowerShell Remoting(Chapter 7 - Using Windows PowerShell remoting) - به نظر من این یکی از مهمترین فصل های کتاب است. در حین خواندن آن وقت بگذارید و اگر احساس می کنید لازم است آن را برای دومین یا سومین بار بخوانید، زیرا اینجاست که قدرت واقعی PowerShell نشان داده می شود. من تا آنجا پیش می روم که بگویم محتویات این بخش همان چیزی است که کلمه power را(power) در PowerShell قرار می دهد . در اینجا شما یاد خواهید گرفت که چگونه دستورات را بر روی یک کامپیوتر راه دور اجرا کنید، اتصالات دائمی ایجاد کنید و همچنین برخی از عیب یابی ها را انجام دهید.
  • فصل 8 - استفاده از WMI(Chapter 8 - Using WMI) - این فصل به جزئیات مربوط به ابزار مدیریت ویندوز(Windows Management Instrumentation) می پردازد که مایکروسافت(Microsoft) از زمان ویندوز NT 4.0(Windows NT 4.0) در هر سیستم عاملی(operating system) گنجانده است . بله، آنقدر(that) مهم است. شما با کلاس های WMI ، ارائه دهندگان و فضاهای نام آشنا خواهید شد و دانش خود را از طریق پرس و جو از WMI به دو روش مختلف آزمایش خواهید کرد. اگر با SQL آشنا هستید ، با حداقل یکی از این دو روش، احساس خوبی خواهید داشت.
  • فصل 9 - استفاده از CIM(Chapter 9 - Using CIM) - Common Information Model ( CIM ) راه جالبی برای بازیابی اطلاعات از ابزار مدیریت ویندوز(Windows Management Instrumentation) ارائه می دهد. اد ویلسون(Ed Wilson) به خوبی توضیح می‌دهد که چگونه و چرا از این ویژگی چه به صورت محلی و چه از راه دور استفاده کنید.
  • فصل 10 - استفاده از Windows PowerShell ISE(Chapter 10 - Using the Windows PowerShell ISE) - Windows PowerShell ISE روش تعاملی تری برای استفاده از PowerShell برای تقریباً همه چیزهایی است که کتاب ها تاکنون در مورد آن صحبت کرده اند. نحوه استفاده از محیط، ویژگی گسترش تب(tab expansion feature) و پنجره خروجی(Output pane) را یاد خواهید گرفت. این کتاب همچنین نحوه ایجاد و حذف قطعه‌های ISE(ISE) را پوشش می‌دهد (بله، شما نیز خواهید آموخت که اینها چه هستند).
  • فصل 11 - استفاده از اسکریپت های Windows PowerShell(Chapter 11 - Using Windows PowerShell scripts) - PowerShell گزینه های زیادی برای مدیریت و مدیریت شبکه ارائه(network management and administration) می دهد . اگر یک مدیر فناوری اطلاعات(IT administrator) هستید، به احتمال زیاد در کارهای روزانه خود با نیازهای مکرر مواجه خواهید شد، که می توان با نوشتن اسکریپت های خود و اجرای آنها از PowerShell ، آن را ساده کرد . در حالی که مقداری آشنایی با VBScript یا هر زبان برنامه نویسی یا برنامه نویسی دیگر(scripting or programming language)برای درک این فصل مفید خواهد بود، من آن را اجباری نمی نامم. اد این کتاب را برای مبتدیان نوشته است و درک اسکریپت های مثال زده شده در این فصل سخت نیست حتی اگر هنوز یک خط کد ننوشته باشید. این فصل دلایلی برای نوشتن اسکریپت ها ارائه می کند، نحوه اجرای آنها، نحوه تنظیم خط مشی اجرای(execution policy and teaches) اسکریپت را به شما نشان می دهد و در مورد متغیرها و عبارات زبانی مختلف به شما آموزش می دهد.
  • فصل 12 - کار با توابع(Chapter 12 - Working with functions) - هنگام نوشتن اسکریپت های PowerShell ، توابع (PowerShell)عنصر(programming element) اصلی برنامه نویسی هستند. فصل با مقدمه ای بر توابع و کاربرد آنها آغاز می شود و در ادامه توضیح می دهد که چگونه از پارامترها برای ورودی استفاده کنیم. همچنین شامل دو سناریوی ویژه برای استفاده از توابع است.
  • فصل 13 - اشکال زدایی اسکریپت ها(Chapter 13 - Debugging scripts) - ضرب المثلی وجود دارد که چیزی شبیه به "بهترین اشکال زدایی بدون اشکال زدایی است." البته در زندگی واقعی به ندرت اتفاق می افتد. این فصل شما را با اشکال‌زدایی اسکریپت(script debugging) و اهمیت آن، تنظیم، فهرست‌بندی، فعال کردن و غیرفعال کردن نقاط شکست در اسکریپت‌های PowerShell آشنا می‌کند.(PowerShell)
  • فصل 14 - رسیدگی به خطاها(Chapter 14 - Handling errors) - اد ویلسون(Wilson) با ظرافت درس های PowerShell را با فصلی که به مدیریت خطا(error handling) اختصاص داده شده است، پایان می دهد. این فصل با یک رویکرد خوب در مورد پارامترهای از دست رفته شروع می شود و به شما در مورد محدود کردن انتخاب ها و مرور نحوه رسیدگی به حقوق از دست رفته آموزش می دهد. شما همچنین مدیریت خطای(error handling) ساختاریافته را یاد می گیرید .

این کتاب شامل دو بخش ضمیمه است، یکی شامل پرسش‌های متداول PowerShell(PowerShell FAQ) و دیگری به‌صورت دوستانه و قابل درک، قوانین کدنویسی PowerShell 3.0 را توضیح می‌دهد، به‌طوری‌که برخی از بهترین روش‌ها را از نظر خوانایی و نگهداری اسکریپت(script readability and maintenance) نیز یاد می‌گیرید .

به این ترتیب کار می کند... اما در اینجا دلیل آن است

نکته مهم در مورد سبک تدریس(teaching style) اد، رویکرد او در توضیح دلیل اینکه چرا باید کارها را به روش خاصی انجام دهید و از رویکرد میمون see, monkey do(monkey see, monkey do) استفاده نکنید است. هر فصل با توضیحات ساده و مروری بر موضوع در دست شروع می شود. سپس به کارهای خاص تری پیش می رود و در عین حال به شما بینشی می دهد که چرا باید این و آن را انجام دهید. از آنجایی که کتابی مبتدی هستم، فقط می توانم این رویکرد را تحسین کنم و امیدوارم(approach and hope) بتوانم آن را در هرچه بیشتر کتاب ها، به ویژه کتاب های فنی ببینم.
هر فصل با خلاصه ای از اطلاعات موجود به پایان می رسد و به عنوان یک جمع بندی و تجدید کننده حافظه(memory refresher) برای درک بهتر و حفظ اطلاعات در ذهن شما عمل می کند.

به من کمک کرد؟

پاسخ کوتاه: بله!

نویسنده موضوعی نسبتاً پیچیده و یکی از پیچیده‌ترین ابزارهایی را که تا به حال در ویندوز(Windows) گنجانده شده است، می‌گیرد و آن را به گونه‌ای توضیح می‌دهد که درک آن آسان و به اندازه کافی جالب باشد که شما را درگیر کند. من قبلاً هرگز از PowerShell استفاده نکرده‌ام ، اما پس از خواندن کتاب، می‌توانم به جرأت بگویم که درک اولیه از PowerShell چیست، چگونه کار می‌کند و چه کسی از استفاده از آن بهترین بهره را می‌برد. من زیاد وارد اسکریپت نویسی نشدم، اما قطعاً این موضوعی خواهد بود که به زودی در اینجا، در 7 آموزش(7 Tutorials) ، به آن خواهیم پرداخت، و کتاب اد ویلسون(Ed Wilson) در حین انجام این کار، کتاب مقدس(Bible) ما خواهد بود .

حکم

در حالی که کسانی از شما که با سبک اد ویلسون(Ed Wilson) آشنا هستند قطعاً از Windows PowerShell 3.0 First Steps لذت خواهند برد ، من می‌توانم همین را برای مبتدیان کامل بگویم. مفاهیم و مثال‌ها به خوبی توضیح داده شده‌اند و شما در هر فصل تجربه‌ای عملی و خودتان به دست می‌آورید که فقط برای یادگیری می‌تواند عالی باشد. در حالی که این کتاب به تازه واردان یک نقطه شروع عالی در استفاده از PowerShell ارائه می دهد ، اسکریپت نویسان مفیدتر یا مدیران فناوری اطلاعات نیز ممکن است آن را مفید بدانند، به خصوص فصل های اسکریپت نویسی و ضمیمه قراردادهای کدنویسی. با توجه به اینکه این کتابی است که اساساً به شما نشان می دهد که برای یادگیری نحوه نوشتن اسکریپت و خودکارسازی یا مدیریت وظایف شبکه(automate or manage network tasks) نیازی به متخصص رایانه ندارید.(computer expert)من آن را برای افرادی که تازه وارد PowerShell(PowerShell) شده اند به شدت توصیه می کنم .



About the author

من یک بازبین نرم افزار و مهندس بی سیم با بیش از 10 سال تجربه در این زمینه هستم. من در بررسی برنامه ها و نرم افزارهای تلفن همراه و همچنین کمک به مشتریان برای بهینه سازی شبکه های خود تخصص دارم. از طریق بررسی‌هایم، می‌توانم به شما در تصمیم‌گیری آگاهانه درباره محصولاتی که باید استفاده کنید، نحوه بهبود گردش کار و موارد دیگر کمک کنید. مهارت های من عبارتند از: ارتباط کتبی و شفاهی عالی، حل مسئله، دانش فنی قوی و توجه به جزئیات. من همچنین در کار مستقل و همکاری در پروژه ها مهارت دارم.



Related posts