نحوه راه اندازی گوشی های هوشمند و رایانه های شخصی. پرتال اطلاعاتی
  • خانه
  • جالب هست
  • نحوه نوشتن و اجرای اسکریپت های PowerShell مقدمه ای بر Windows PowerShell

نحوه نوشتن و اجرای اسکریپت های PowerShell مقدمه ای بر Windows PowerShell

کارهایی وجود دارد که ما هر روز به عنوان مدیر انجام می دهیم. شبکه ویندوز، اما اگر از ما خواسته شد که آنها را با استفاده از آنها انجام دهیم خط فرمان، بر خلاف مدیران لینوکس، برای ما، مدیران ویندوز، این بسیار مشکل ساز خواهد بود. ویندوز همیشه در مورد ابزارهای خط فرمان ضعیف بوده است. به نظر من از آن زمان همه چیز تغییر کرده است ظهور ویندوزپاورشل. با استفاده از Powershell (یا به عبارت دیگر PS) می توانید عملکردهای مختلفی را انجام دهید که قبلاً نمی توانستیم انجام دهیم. در این مقاله، ما بر این تمرکز خواهیم کرد که چگونه Powershell می‌تواند به ما در انجام برخی موارد رایج کمک کند توابع شبکهاز خط فرمان برای فهمیدن بیشتر همچنان بخوانید!

پاورشل چیست؟

پاورشل قابل نصب است تابع Windows Server 2008: برای نصب Powershell، باید ویژگی Powershell را با استفاده از Add Feature Wizard نصب کنید. مراحل نصب حدود یک دقیقه طول می کشد و پس از نصب کامپوننت، به یک زبان برنامه نویسی خط فرمان شگفت انگیز دسترسی خواهید داشت. برخلاف سایر زبان های برنامه نویسی در ویندوز، Powershell منحصراً برای مدیران سیستم طراحی شده است. Powershell از دات نت و دستورات ("cmdlets" یا "command-lets") برای کار استفاده می کند. به عنوان یک کاربر PS، می توانید از دستورات به صورت جداگانه استفاده کنید یا آنها را به هم متصل کنید تا عملکرد بیشتری داشته باشید وظایف پیچیده.

پس از نصب PS، می توانید اجرا کنید شروع -> همه برنامه ها -> Windows Powershell 1.0و فشار دهید Windows PowerShell . در این مرحله، باید یک پنجره CLI آبی را ببینید که شبیه شکل 1 است.

تصویر 1: پنجره ویندوزفرمان پاورشل

همیشه می توانید بگویید که در Powershell کار می کنید زیرا پنجره "PS" همیشه خط زیر را در ابتدا دارد:

PS C:\Users\Administrators

اکنون که powershell نصب شده است و پنجره آن باز است، اجازه دهید برخی از کارهای رایج شبکه را که می توان در PS انجام داد را به شما نشان دهم.

آدرس های IP سرور خود را فهرست کنید

برای دریافت لیستی از آدرس های IP در خود سرور ویندوزسرور 2008، باید از دستور زیر استفاده کنید:

Get-WmiObject -Class Win32_NetworkAdapterConfiguration -Filter IPEnabled=TRUE - ComputerName . | Select-Object -Property IPaddress

پس از استفاده از این دستور در سرور ویندوز 2008، داده ها به این شکل به نظر می رسند:

شکل 2: فهرست کردن آدرس های IP با استفاده از Windows Powershell

همانطور که از تصویر می بینید، داده های منبع به ما نشان می دهد که من یک آداپتور با آدرس IP V4 و یک آدرس IP V6 در این سرور ویندوز 2008 دارم. به خودی خود، این چیز عجیبی نیست، اما به این فکر کنید که با استفاده از سایر توابع اسکریپت نویسی چه کاری می توانید با آن انجام دهید.

همانطور که دفترچه راهنمای کاربر powershell به ما می آموزد، داده های به دست آمده یک آرایه هستند و شما می توانید آدرس IP را فقط با ارسال این داده ها به "Select-Object" (پس از غیرفعال کردن IPV6) مشاهده کنید، چیزی شبیه به این:

Get-WmiObject -Class Win32_NetworkAdapterConfiguration -Filter IPEnabled=TRUE - ComputerName . | Select-Object -ExpandProperty IPaddress

شکل 3: فهرست آدرس IP فقط با Windows Powershell

دریافت لیستی از پیکربندی آداپتور شبکه با استفاده از Powershell

برای مشاهده تنظیمات اولیه آداپتور شبکه خود، می توانید از دستور زیر استفاده کنید:

Get-WmiObject -Class Win32_NetworkAdapterConfiguration -Filter IPEnabled=TRUE "ComputerName .

اگرچه این مقاله به بررسی استفاده از PS در اختصاص داده شده است ویندوز سرور 2008، این ابزار همچنین می تواند در Windows XP، Vista یا Server 2003 استفاده شود. در اینجا نمونه ای از خروجی از دستور اجرا شده بر روی کار من است. ایستگاه های ویندوز XP:

شکل 4: PowerShell پیکربندی را نشان می دهد آداپتور شبکهدر ویندوز XP

با استفاده از PowerShell، رایانه خود را آزمایش کنید

اگرچه خط فرمان PS هنوز هم می تواند تمام کارهای معمول را انجام دهد دستورات ویندوز(به عنوان مثال یک نظرسنجی آزمایشی)، نقطه قوتنکته ای که در مورد Powershell وجود دارد این است که می توانید داده هایی را که دریافت می کنید بردارید و به راحتی آنها را تغییر دهید.

در اینجا مثالی از نحوه انجام این کار ارائه شده توسط راهنما آورده شده است کاربر ویندوزپاورشل. این مثال نتایج Win32_PingStatus را با استفاده از Select-Object تجزیه می کند. در این حالت داده ها به سادگی زمان پاسخ و کد وضعیت را نشان می دهند.

این دستوری است که استفاده شده است:

Get-WmiObject -Class Win32_PingStatus -Filter "Address="127.0.0.1"" - ComputerName . | Select-Object -Property Address,ResponseTime,StatusCode

و در اینجا نتایج استفاده از دستور در دستگاه ویندوز من است:

شکل 5: داده های PowerShell که وضعیت نظرسنجی را با استفاده از Select-Object تجزیه و تحلیل نشان می دهد

یک پوشه را با استفاده از Windows Powershell به اشتراک بگذارید

من با شما صادق خواهم بود. استفاده از دستورات Powershell همیشه به آسانی استفاده از دستورات ویندوز موجود که قبلاً با آنها آشنا هستید نیست. در اینجا یک مثال است.

دستور PS زیر ارائه خواهد شد دسترسی عمومیبه پوشه ای در C:\temp به عنوان "davidtemp" بروید و دستور عالی را روی آن اجرا کنید:

(Get-WmiObject -List -ComputerName. | Where-Object -FilterScript ($_.Name -eq "Win32_Share")). پوشه Temp"))

از طرف دیگر، می توانید به سادگی از دستور آزمایش شده و آزمایش شده استفاده کنید سهم خالص:

اشتراک خالص davidtemp=C:\temp /remark:"David's Temp Shared Folder"

شکل 6: داده های PowerShell و دستور اشتراک گذاری خالص سنتی

توجه داشته باشید که دستور Powershell نه تنها جواب نداد بلکه یک خطای وحشتناک به من داد. من این دستور را روی ویندوز XP و Vista امتحان کردم و مدیر سیستم بودم.

از طرفی تیم سهم خالصبسیار ساده و در اولین تلاش کار کرد. و در حالی که من سعی می کنم شما را از طریق اصول اولیه Powershell راهنمایی کنم، فراموش نکنید که Powershell می تواند از دستورات سنتی شبکه ویندوز استفاده کند که در بسیاری از موارد استفاده از آنها بسیار آسان تر است. با این حال، ممکن است در موقعیتی قرار بگیرید که این دستورات سنتی تمام کارهای مورد نیاز شما را انجام ندهند و اینجاست که Powershell به کمک شما می آید.

سایر شبکه ها و دستورات پیچیده تر

اگر می‌خواهید از ابتدایی‌ترین دستورات مدیریت شبکه در Powershell استفاده کنید، احتمالاً گیج می‌شوید و دیگر از آنها استفاده نمی‌کنید، زیرا مانند هر زبان برنامه‌نویسی دیگری، منحنی یادگیری وجود دارد.

با این حال، هنگامی که بر منحنی یادگیری غلبه کردید و نحوه استفاده از زبان را یاد گرفتید، ابزاری خواهید داشت که بسیار کارآمد است و می تواند در وقت شما صرفه جویی کند.

همانطور که ممکن است از مثال های قبلی متوجه شده باشید، یکی از پارامترهای اکثر دستورات Powershell "نام کامپیوتر" است. وقتی به جای نام کامپیوتر یک نقطه (".") قرار می دهیم، این خواهد بود میزبان محلی(کامپیوتر ما). با این حال، ما همچنین می توانیم هر آدرس IP یا نامی را جایگزین کنیم کامپیوتر ویندوزدر دامنه، که به ما این فرصت را می دهد تا از این دستورات نه تنها در رایانه شخصی خود استفاده کنیم، بلکه اسکریپت های قدرتمندی را در Powershell ایجاد کنیم که می تواند در تمام رایانه های موجود در شبکه استفاده شود.

به عنوان مثال، در اینجا دستوری وجود دارد که آدرس IP رایانه Dell را از طریق LAN ارسال می کند:

Get-WmiObject -Class Win32_NetworkAdapterConfiguration -Filter IPEnabled=TRUE - ComputerName DELL9400

در اینجا نتایج این دستور آمده است:

شکل 7: نتایج Powershell از بدست آوردن آدرس IP از یک کامپیوتر راه دور

و در اینجا یک تصویر بزرگتر است که اطلاعات لازم را نشان می دهد:

شکل 8: بزرگ کردن پنجره نتایج Powershell برای به دست آوردن آدرس IP یک کامپیوتر راه دور

بنابراین، فرصتی برای کار با کامپیوترهای راه دوریکی از ویژگی های اصلی Powershell است، اما یکی دیگر از ویژگی های قدرتمند، امکان فیلتر کردن داده ها و ترکیب داده های به دست آمده از دستورات مختلف است.

به مثال زیر دقت کنید:

"127.0.0.1"، "localhost"، "research.microsoft.com" | ForEach-Object -Process (Get- WmiObject -Class Win32_PingStatus -Filter ("Address="" + $_ + """) -ComputerName .) | Select-Object -Property Address,ResponseTime,StatusCode

در این مثال، لیستی از آدرس های IP و نام دامنه به دست آمد. این لیست به "ForEach-Object" منتقل شد. برای هر یک از این "اشیاء" (آدرس IP / نام های دامنه)، عنصر PingStatus "Get-WmiObject" استفاده شد. سپس داده‌های نظرسنجی آزمایشی هر نام دامنه از طریق یک "Select-Object" اجرا می‌شد و در نتیجه فقط آدرس‌ها، زمان‌های پاسخ و کدهای وضعیت نمایش داده می‌شد.

شکل 9: آزمایش نظرسنجی با استفاده از لیست هنگام ترکیب و نظرسنجی داده ها

به نظر من، این مثال برخی از قابلیت های Powershell را نشان می دهد. همانطور که می بینید، می توانید ورودی و خروجی را در جهات مختلف مسیریابی و هدایت کنید تا به اهداف اداری خود برسید.

چه چیز دیگری لازم است بدانید؟

نتیجه

ویندوز پاورشل بسیار است ابزار قدرتمند. غیرممکن است که در این مقاله همه چیزهایی را که می‌توانید با پاورشل انجام دهید پوشش دهید، اما امیدوارم توانسته باشم به شما یک ایده کلی از کارهایی که پاورشل می‌تواند انجام دهد ارائه دهم و شما را تشویق به انجام تحقیقات بیشتر در این زمینه کرده باشم. هر روز کتاب ها، دوره ها و مطالب زیادی در اینترنت در مورد توابع Powershell وجود دارد که می تواند توسط مدیران سیستم ویندوز استفاده شود. با توجه به چنین دلبستگی قوی در بین مدیران ویندوز به رابط گرافیکی، استفاده از Powershell توسط شرکت هایی که نیاز مبرمی به این ابزار ندارند، زمان می برد. مطمئن هستم که ادمین ها از Powershell برای ایجاد اسکریپت های کوتاه تری استفاده می کنند که می تواند کارهای پیچیده تری را انجام دهد. من امیدوارم که Powershell روز به روز در سراسر جهان محبوب تر شود!

تشکر ویژه از مایکروسافتبرای ارائه دستورات نمونه در مستندات راهنمای کاربر Windows Powershell.

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

PowerShell هم یک رابط کنسول خالص و هم یک محیط توسعه کامل را ارائه می دهد PowerShell ISE(محیط یکپارچه اسکریپت، محیط برنامه نویسی داخلی) برای اسکریپت ها. برای راه اندازی رابط خط فرمان، powershell را در منوی Run (WinKey + R) تایپ کنید. PowerShell ISE با استفاده از دستور "PowerShell ISE" در همان منو راه اندازی می شود.

ISE ارجح تر است زیرا به لطف برجسته کردن نحو، تکمیل خودکار کد و سایر ویژگی های ذاتی بسیاری از IDE های "بزرگ" فرصت های بیشتری را برای توسعه دهنده فراهم می کند.

نوشتن و اجرای اسکریپت ها

اسکریپت ها به عنوان فایل با پسوند .ps1 ذخیره می شوند. اگرچه PowerShell مدت‌هاست که بخشی از ویندوز بوده است، اما نمی‌توانید اسکریپت‌های آن را به راحتی اجرا کنید. دوبار کلیک کنید. برای انجام این کار باید کلیک کنید کلیک راستمطابق با اسکریپت و "Run in PowerShell" را انتخاب کنید.

نیز وجود دارد سیاست های سیستم، اجرای اسکریپت ها را محدود می کند. با اجرای دستور Get-ExecutionPolicy می توانید تنظیمات خط مشی فعلی خود را بررسی کنید. نتیجه یکی از مقادیر زیر خواهد بود:

  • محصور- اجرای اسکریپت ممنوع است. پیکربندی استاندارد؛
  • همه امضا شده- می توانید اسکریپت های امضا شده توسط یک توسعه دهنده مورد اعتماد را اجرا کنید. قبل از اجرای اسکریپت، PowerShell از شما درخواست تایید می کند.
  • RemoteSigned- می توانید اسکریپت های خود یا اسکریپت های امضا شده توسط یک توسعه دهنده مورد اعتماد را اجرا کنید.
  • بدون محدودیت- می توانید هر اسکریپتی را اجرا کنید.

برای شروع، باید تنظیمات خط مشی راه اندازی را با استفاده از دستور Set-ExecutionPolicy به RemoteSigned تغییر دهید:

Cmdlets

Cmdlet ها دستوراتی هستند با یک تابع از پیش تعریف شده مانند عبارات مشروطدر زبان های برنامه نویسی آنها چندین ویژگی کلیدی دارند:

  • cmdlet های سیستم، کاربر و اختیاری وجود دارد.
  • نتیجه اجرای cmdlet یک شی یا آرایه ای از اشیا خواهد بود.
  • Cmdlet ها می توانند داده ها را پردازش کرده و با استفاده از خطوط لوله به cmdlet های دیگر ارسال کنند.
  • cmdlet ها به حروف بزرگ و کوچک حساس نیستند، بنابراین تفاوتی بین Get-ADUser، get-aduser و gEt-AdUsEr وجود ندارد.
  • یک نماد به عنوان جداکننده استفاده می شود. .

هر cmdlet شامل یک فعل و یک اسم است که با خط فاصله از هم جدا شده اند. مثلا:

  • دریافت-فرایند- نمایش فرآیندهای فعلی در حال اجرا بر روی کامپیوتر؛
  • دریافت خدمات- نمایش لیستی از خدمات و وضعیت آنها؛
  • دریافت محتوا- نمایش محتویات فایل مشخص شده، به عنوان مثال Get-Content C:\Windows\System32\drivers\etc\hosts.

در صورت لزوم، می توانید تمام cmdlet های موجود را با استفاده از Get-Help-Category فهرست کنید:

شما همچنین می توانید cmdlet های خود را ایجاد کنید.

گزینه ها

هر cmdlet چندین پارامتر دارد که نحوه عملکرد آن را تعیین می کند. PowerShell ISE به طور خودکار همه چیز را پیشنهاد می کند گزینه های موجودبا نمایش نوع آنها به عنوان مثال، Get-Service-NameW* لیستی از سرویس هایی را که نام آنها با W شروع می شود، برمی گرداند. اگر فراموش کردید که cmdlet وارد شده چه پارامترهایی دارد، از Get-Member استفاده کنید. برای مثال Get-Process | دریافت عضو:

اگر آنچه را که نیاز دارید پیدا نکردید یا مطمئن نیستید که چگونه پارامترها را به درستی تنظیم کنید، حتی می توانید با استفاده از پارامتر -Examples نمونه هایی را درخواست کنید:

برخی از cmdlet ها را نیز می توان با استفاده از نام مستعار فراخوانی کرد، به عنوان مثال، به جای Get-Help می توانید به سادگی Help بنویسید.

هنگام نوشتن اسکریپت های بزرگ یا توسعه تیم، می توانید از نظرات استفاده کنید. هر نظر با یک کاراکتر # شروع می شود و بلوک نظرات به ترکیبی از کاراکترها محدود می شود<# и #>به ترتیب در ابتدا و در انتها.

نوار نقاله

پاورشلبه شما امکان می دهد با استفاده از خط لوله، داده ها را بین cmdlet ها مبادله کنید. مثلا:

  • GetService | SortObject -وضعیت ویژگی - مرتب سازی خدمات در حال اجرابر اساس وضعیت؛
  • "سلام دنیا!" | Out-File C:\ps\test.txt - نوشتن متن در یک فایل.

می توان از چندین نوار نقاله استفاده کرد. به عنوان مثال، اسکریپت زیر نام همه سرویس‌ها به جز سرویس‌های متوقف شده را فهرست می‌کند:

دریافت سرویس | WHERE ($_.status -eq "Running") | نام نمایشی را انتخاب کنید

نتیجه

بنابراین، به لطف این آموزش، تازه‌کارها ایده‌ای درباره‌ی PowerShell دارند. ما همچنین به گزینه‌هایی برای تغییر خط‌مشی اجرای اسکریپت، چیستی cmdlet، نحوه تبادل داده‌ها با استفاده از خط لوله و نحوه دریافت ویژگی‌های شی مورد نظر نگاه کردیم. به یاد داشته باشید که اگر مشکلی دارید، می توانید از cmdlet Get-Help استفاده کنید.

Windows PowerShell 2.0 منتشر شد بخشی از ویندوز 7 و ویندوز سرور 2008 R2 به عنوان یک جزء جدایی ناپذیر از سیستم. علاوه بر این، نسخه دوم برای سیستم های دیگر مانند Windows XP SP3، Windows Server 2003 SP2، Windows Vista SP1 و Windows Server 2008 در دسترس است.

اگر به دلایلی PowerShell را نصب نکرده اید، در اینجا لینکی وجود دارد که می توانید PowerShell را دانلود کنید و همچنین اطلاعات دقیقی در مورد این پوسته پیدا کنید.

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

کار با تیم ها

توسعه دهندگان PowerShell این پوسته را با یک زبان برنامه نویسی خاص که مطابق با استاندارد Net Framework ساخته شده است، مجهز کرده اند. دستوری در PowerShell در اصل cmdlet یا cmdlet نامیده می شود. یک cmdlet از این نظر شبیه یک تابع است وظیفه خاصبه عنوان مثال، محتویات یک پوشه را بازیابی می کند یا یک ورودی رجیستری را به روز می کند و دارای پارامترهایی است که می تواند نتیجه دستور را تغییر دهد.

PowerShell دارای بیش از 100 فرمان است. شما همچنین می توانید ایجاد کنید دستورات اضافی، اما باید از زبان استاندارد دات نت مانند ویژوال بیسیکدات نت یا سی شارپ.

هر گزینه دستور یک ترکیب فعل و اسم است. این به این دلیل است که مایکروسافت می‌خواست از یک طرح نام‌گذاری ثابت استفاده کند تا یادگیری و گسترش PowerShell را آسان‌تر کند. فعل نشان دهنده عملی است که باید انجام شود و اسم نشان دهنده نوع شیئی است که عمل بر روی آن انجام می شود. به عنوان مثال، دستور Get-ChildItem لیستی از موارد موجود در فهرست یا کانتینر فعلی، مانند رجیستری را می خواند. برای اجرای یک دستور، باید آن را در خط فرمان وارد کنید خط پاورشلو enter را فشار دهید. نتیجه دستور بلافاصله در زیر دستور وارد شده نمایش داده می شود.

برنج. 1. دستور Get-ChildItem

دستورات برای کمک گرفتن

PowerShell با مجموعه ای از فایل های راهنما ارائه می شود و ابتدا باید نحوه کار با این مواد کمکی را یاد بگیریم. برای اینکه بدانید چه دستوراتی در PowerShell موجود است، از دستور Get-Command استفاده کنید. شکل 2 نتیجه این دستور را نشان می دهد، این لیستی از دستورات است. این لیست نام دستورات و نحو را نشان می دهد، اما توضیح نمی دهد که هر دستور چه کاری انجام می دهد.

شکل 2. Get-Command

برای به دست آوردن این اطلاعات می توانید از دستور Get-Help استفاده کنید. اگر فقط Get-Help را وارد کنیم، برای خود آن کمک خواهیم گرفت.

برنج. 3. دستور Get-Help

همانطور که از راهنمای دستور Get-Help می بینید، برای دریافت کمک برای یک دستور خاص باید نام دستور را بلافاصله بعد از Get-Help وارد کنید. بیایید به کمک دستور Get-Command که قبلاً می دانیم نگاه کنیم. برای این کار وارد می کنیم:

برنج. 4. فرمان کمک. Get-Help Get-Command

دریافت-فرماندهی در در این موردپارامتری از دستور Get-Help است و مانند پارامترهای فرمان در خط فرمان cmd.exe، پارامترهای فرمان PowerShell اطلاعاتی را که دستورها برای انجام کار خود نیاز دارند ارائه می دهند.

حالا بیایید ببینیم که چگونه همه کار می کند. بیایید به یک مثال نگاه کنیم. یکی از وظایف معمولی مدیر سیستمخواندن است فایل های متنی. بیایید به لیست cmdlet هایی که با Get شروع می شوند (Get-Help، Get-Command و غیره) نگاه کنیم. برای این کار از Get-Help استفاده می کنیم و Get را به عنوان پارامتر مشخص می کنیم:

برنج. 5. Get-Help Get Command

ما لیستی از دستورات را دریافت کردیم که با Get شروع می شوند. برای کار با فایل ها از دستور Get-Content استفاده می کنیم. بیایید به اطلاعات کمکی در مورد دستور Get-Content نگاه کنیم. برای این کار وارد می کنیم:

برنج. 6. Get-Help Get-Content Command

همانطور که در شکل 6 نشان داده شده است، دستور Get-Help Get-Content توضیحاتی از دستور Get-Content و اطلاعات مربوط به نحو آن را برمی گرداند. از این کمک متوجه شدیم که دستور Get-Content محتویات یک عنصر را برمی گرداند که در این حالت به هر نوع فایلی در سیستم اشاره می کند. در گذشته، ممکن بود یک مدیر برای کار با فایل های دسته ای یا File-SystemObject در یک اسکریپت ویندوز از دستور For استفاده کند. میزبان اسکریپت(WSH)، اما در PowerShell فقط باید دستور Get-Content را اجرا کنید. برای دریافت اطلاعات دقیق تر نحو، باید پارامتر -full را به دستور اضافه کنید:

برنج. 7. دستور Get-Help Get-Content -full

توجه داشته باشید که پارامتر -full یک مقدار اولیه نیست. پارامترهای این نوع پارامترهای سوئیچ نامیده می شوند، زیرا به نظر می رسد خط رفتار دستورات را تغییر می دهند.

شکل 7 برخی از اطلاعات بازگردانده شده توسط این دستور را نشان می دهد. سرپرست باید پنجره را در رایانه خود پیمایش کند یا اندازه آن را تغییر دهد تا تمام محتوا قابل مشاهده باشد. بخش PARAMETERS از راهنما، پارامترهایی را که می‌توان به یک فرمان اضافه کرد تا نتیجه‌ای را که برمی‌گرداند، تغییر داد، توضیح می‌دهد. لطفا به دو توجه کنید نکات مهمدر پارامترها: ضروری؟(انگلیسی مورد نیاز) و موقعیت؟(انگلیسی موقعیت).

پاراگراف ضروری؟(الزامی) نشان می دهد که آیا این پارامتر مورد نیاز است یا خیر. چه زمانی یک متغیر مورد نیاز است؟ (لازم) درست است، پارامتر باید در دستور گنجانده شود. اگر متغیر مورد نیاز باشد چه؟ (انگلیسی مورد نیاز) روی false تنظیم شده است، سپس این پارامتر اختیاری است و در هنگام استفاده از دستور می توان آن را حذف کرد.

معنی موقعیت؟(موقعیت) به شما امکان می دهد قضاوت کنید که آیا پارامتر نیاز به نام گذاری دارد یا می توان با موقعیت آن به آن ارجاع داد. متغیر Position چه زمانی است؟ (Position) مقدار نامگذاری شده به آن اختصاص می یابد، به این معنی که هنگام مراجعه به این پارامتر باید نام آن را مشخص کنید. مقدار متغیر Position چه زمانی است؟ (موقعیت) به عنوان یک عدد بیان می شود؛ پارامتر را می توان با نام آن اشاره کرد یا به سادگی با مقدار پارامتر در موقعیت صحیح خود نشان داد.

برای مثال، همانطور که در شکل 8 نشان داده شده است، هنگام اجرای دستور Get-Content، باید پارامتر -Path را مشخص کنید؛ اجازه دهید این پارامتر را با جزئیات بیشتری بررسی کنیم.

برنج. 8. پارامتر -Path

در متغیر ضروری? ارزش ارزش را دارد درست است، واقعییعنی این پارامتر برای دستور Get-Content مورد نیاز است. در متغیر موقعیت؟مقدار 1 است، به این معنی که شما مجبور نیستید نام پارامتر را هنگام وارد کردن آن مشخص کنید، فقط باید آن را بلافاصله بعد از نام فرمان (موقعیت اول) وارد کنید.

برنج. 9. دستور Get-Content E:01.txt

جایی که E:01.txt پارامتر -Path است

برنج. 10. فایل E:01.txt.

اگر مقدار پارامتر حاوی فاصله باشد، مقدار باید در علامت نقل قول قرار گیرد.

در بخش کمک گزینه هانام هر پارامتر با اطلاعات محصور شده در پرانتزهای زاویه دنبال می شود (< >). این اطلاعات نشان دهنده نوع داده ای است که مقدار پارامتر باید باشد. همانطور که در شکل 8 نشان داده شده است، مقدار پارامتر -Path باید یک رشته باشد. اگر نام نوع مشخص شده باشد براکت های مربع(رشته)، به این معنی است که یک آرایه رشته ای می تواند به عنوان مقدار پارامتر استفاده شود. اگر از پارامترهای سوئیچ مانند پارامتر -Full استفاده می کنید که مقادیر را قبول نمی کند، نوع داده به صورت مشخص می شود. .

برنج. 11. پارامتر -Full

یکی دیگر از تابع های PowerShell که با پارامترها مرتبط است، تابع است تکمیل خودکاروارد کردن ترکیب "parameter-name". کاربر فقط باید حروف کافی برای تشکیل نام پارامتر وارد کند تا بتوان آن را از سایر پارامترها متمایز کرد. بله تیم Get-Help Get-Content -fullمعادل دستور است Get-Help Get-Content -ful.در بخش کمک یادداشتهمچنین نمونه هایی از نحوه استفاده از این یا آن دستور وجود دارد. شکل 12 3 مثال از استفاده از دستور Get-Help را نشان می دهد.

برنج. 12. نمونه هایی از استفاده از دستور Get-Help

از مفاهیم کمک بگیرید

PowerShell با مجموعه ای از فایل های راهنما ارائه می شود که مروری بر مفاهیم مختلف ارائه می دهد. هر فایل با کاراکترها شروع می شود در باره_" و با نام بخش به پایان می رسد. برای مشاهده یک لیست الفبایی از بخش های about، دستور را اجرا کنید:

برنج. 13. دستور Get-Help about*

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

برنج. 14. دستور Get-Help about_aliases

شکل 14 برخی از داده های کمکی را نشان می دهد که در نتیجه دستور Get-Help about_aliases به دست می آیند. همانطور که می بینیم، فایل راهنما نمای کلی از اقدامات با هدف ایجاد و مدیریت نام مستعار در PowerShell را ارائه می دهد.

استفاده از نام مستعار

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

برای مشاهده نام مستعار موجود در جلسه جاری، باید دستور Get-Alias ​​را اجرا کنید:

برنج. 15. فرمان Get-Alias

جلسه جاری به اتصال فعلی به پردازنده PowerShell اشاره دارد. در آغاز کاربر PowerShellشروع یک جلسه کاری جدید؛ این جلسه تا زمانی ادامه می یابد که کاربر PowerShell را ببندد و در نتیجه اتصال را قطع کند. علاوه بر همه نام‌های مستعار داخلی و دستورات مرتبط با آنها، Get-Alias ​​همه نام‌های مستعار ایجاد شده در جلسه جاری و همچنین نام‌های مستعار تعریف شده در پروفایل‌ها را نمایش می‌دهد که تنظیمات پیکربندی تعریف‌شده توسط کاربر هستند که هر بار پوسته در PowerShell بارگذاری می‌شوند. آغاز شده است.

اگر نیاز به مشاهده نام مستعار مرتبط با یک دستور خاص دارید، با دستور Get-Alias ​​دقیق تر عمل کنید. به عنوان مثال، برای مشاهده نام مستعار مرتبط با Get-ChildItem، دستور را اجرا کنید:

برنج. 16. Get-Alis -definition دستور Get-ChildItem

همانطور که در شکل 16 نشان داده شده است، PowerShell شامل سه نام مستعار برای دستور Get-ChildItem است: gci، ls و dir. می توانید به جای نام دستور از هر یک از آنها استفاده کنید. بنابراین، هر یک از چهار دستور زیر محتویات دایرکتوری C: را فهرست می کند:

برنج. 17. دستورات Get-ChildItem c: و dir c:

اگر بخواهیم نام مستعار خود را در PowerShell ایجاد کنیم، دستور Set-Alias ​​به ما کمک می کند. بیایید یک نام مستعار برای دستور Get-Help ایجاد کنیم. ما از مخفف hlp استفاده می کنیم. دستوری که ما نیاز داریم به شکل زیر خواهد بود:

برنج. 18. دستور Get-Help Set-Alias ​​hlp و نام مستعار hlp ایجاد شده

سپس، هر زمان که نیاز به اجرای دستور Get-Help داشتید، می توانید از نام مستعار hlp استفاده کنید. شما می توانید از این نام مستعار تا پایان جلسه خود استفاده کنید (یعنی تا زمانی که PowerShell را ببندید). لطفاً توجه داشته باشید که هنگام تعریف نام مستعار، گزینه ای برای درج پارامترها وجود ندارد، فقط می توانید از نام دستور استفاده کنید. اگر می خواهید پیوندی به یک فرمان و پارامترهای آن تعریف کنید، باید ایجاد کنید عملکرد ویژه.

نتیجه

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


این روزها تقریباً همه مدیران با Windows PowerShell آشنا هستند. بسیاری از مردم آن را دانلود کردند، با آن آزمایش کردند و کارهای غیر استانداردی را که گاهی اوقات در پوسته فرمان ویندوز از طریق cmd.exe انجام می شود، حل کردند. با این حال، PowerShell بسیار بیشتر از یک پوسته دستوری شبیه به DOS است. این یک خط فرمان و محیط اسکریپت است که بر روی آن ساخته شده است بر اساس مایکروسافت.NET Common Language Runtime (CLR) و NET Framework. در PowerShell، شما با اشیاء دات نت کار می کنید. ساختارهای پوشه ای که می بینید یا سرویس هایی که به آنها دسترسی دارید اساساً نمونه هایی از اشیایی هستند که آن پوشه ها و سرویس ها نشان می دهند. این تفاوت بین محصول مورد نظر با سایر پوسته های فرمان است که فقط قادر به پردازش متن هستند. بنابراین، PowerShell بسیار قدرتمندتر و کارآمدتر از پوسته های دستوری سنتی است.

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

اولین قدم ها

PowerShell در حال حاضر با ویندوز عرضه نمی شود، اما با شروع ویندوز سرور 2008 تغییر خواهد کرد. پیوندهای منابع برای دانلود PowerShell و اطلاعات مربوط به PowerShell در صفحه وب Windows PowerShell (www.microsoft.com/powershell) موجود است. قبل از دانلود PowerShell، باید .NET Framework 2.0 را روی سیستم خود نصب کرده باشید. روند نصب پاورشلزمان زیادی نمی برد و سخت نیست. فقط باید مطمئن شوید که نسخه PowerShell که نصب می کنید با نسخه ای که استفاده می کنید سازگار است. سیستم عامل. مایکروسافت نسخه‌هایی را برای Windows Server 2008 beta 3، Windows Vista، Windows XP SP2 و Windows Server 2003 منتشر می‌کند. من از نسخه Windows XP PowerShell برای این مقاله استفاده کردم.

پس از اتمام نصب PowerShell، می توانید بلافاصله شروع به کار کنید. برای راه اندازی PowerShell، از منوی Start گزینه All Programs را انتخاب کرده و سپس انتخاب کنید آیتم های ویندوز PowerShell 1.0 و Windows PowerShell. هنگامی که پنجره PowerShell ظاهر می شود، خط فرمان جریان را نمایش می دهد پوشه کار(در سیستم من این دایرکتوری C است). اکنون می توانید شروع به نوشتن و اجرای دستورات PowerShell کنید.

کار با تیم ها

توسعه دهندگان PowerShell این پوسته را با یک زبان برنامه نویسی خاص که مطابق با استاندارد Net Framework ساخته شده است، مجهز کرده اند. یک cmdlet PowerShell شبیه به یک تابع است که کار خاصی را انجام می دهد، مانند بازیابی محتویات یک پوشه یا به روز رسانی یک ورودی رجیستری.

PowerShell دارای بیش از 100 فرمان است. شما می توانید دستورات اضافی ایجاد کنید، اما باید از یک زبان دات نت استاندارد مانند Visual Basic .NET یا C# استفاده کنید. در مقالات مربوط به PowerShell، ما فقط در مورد دستورات داخلی صحبت خواهیم کرد. هر گزینه فرمان یک ترکیب فعل و اسم است. این با این واقعیت توضیح داده می شود که مایکروسافت می خواست از یک طرح نامگذاری یکنواخت استفاده کند و در نتیجه یادگیری و گسترش PowerShell را آسان تر کند. فعل نشان دهنده عملی است که باید انجام شود و اسم نشان دهنده نوع شیئی است که عمل به آن جهت می شود. به عنوان مثال، دستور Get-ChildItem لیستی از موارد موجود در فهرست یا کانتینر فعلی، مانند رجیستری را می خواند. برای اجرای یک دستور، باید آن را در خط فرمان PowerShell تایپ کرده و enter را فشار دهید. نتایج زیر خط فرمان نمایش داده می شود. این تنها چیزی است که باید در مورد اجرای دستورات اولیه بدانید.

احتمالاً در همه موارد مشخص نیست که آیا دستوری برای حل کار باید انجام شود یا خیر، و گاهی اوقات به خاطر سپردن نام یک دستور خاص ممکن است دشوار باشد. با اجرای Get-Command می توانید لیستی از تمام دستورات را مشاهده کنید. صفحه 1 بخشی از این لیست را نشان می دهد. در آنجا می‌توانید نام و نحو دستورات را ببینید، اما توضیحی درباره آنچه دقیقاً دستور مربوطه انجام می‌دهد را نمی‌بینید. برای به دست آوردن این اطلاعات می توانید از دستور Get-Help استفاده کنید.

دستورات برای کمک گرفتن

PowerShell با مجموعه ای از فایل های راهنما ارسال می شود که کاربر می تواند مستقیماً از پنجره فرمان PowerShell با استفاده از دستور Get-Help به آنها دسترسی داشته باشد. برای گرفتن اطلاعات مرجعدر مورد یک دستور خاص، باید از دستور Get-Help با پارامتر -name استفاده کنید. به دنبال این پارامتر، باید نام دستوری را که می خواهید اطلاعاتی در مورد آن به دست آورید، مشخص کنید. مانند پارامترهای دستور پردازنده cmd.exe، پارامترهای فرمان PowerShell اطلاعاتی را که دستورها برای انجام کار خود نیاز دارند، ارائه می دهند. اما بر خلاف پارامترهای فرمان در cmd.exe (که می‌تواند با خط فاصله، اسلش یا اصلاً کاراکتر اصلی نداشته باشد)، پارامترهای فرمان PowerShell همیشه با خط فاصله شروع می‌شوند که بیشتر سازگاری طرح نام‌گذاری PowerShell را تأیید می‌کند.

حالا بیایید ببینیم که چگونه همه کار می کند. بیایید به یک مثال نگاه کنیم. یکی از وظایف معمول یک مدیر سیستم خواندن فایل های متنی است. پس از مشاهده لیست دستورات ارائه شده توسط دستور Get-Command، به این نتیجه می رسید که دستور Get-Content می تواند این کار را انجام دهد، اما مطمئن نیستید. برای نمایش اطلاعات راهنما در مورد دستور Get-Content، باید دستور زیر را اجرا کنید:

Get-Help -نام Get-Content

همانطور که شکل 2 نشان می دهد، این دستور توضیحات دستور و اطلاعات نحو را برمی گرداند. دستور محتویات عنصر را برمی گرداند که در این حالت به هر نوع فایلی در سیستم اشاره می کند. در گذشته، ممکن بود یک مدیر برای کار با فایل‌های دسته‌ای یا شی File-SystemObject در اسکریپت میزبان اسکریپت ویندوز (WSH) از دستور For استفاده کند، اما در PowerShell، شما فقط باید دستور Get-Content را اجرا کنید. برای دریافت اطلاعات دقیق تر نحو، باید پارامتر -full را به دستور اضافه کنید.

Get-Help -name Get-Content -full

توجه داشته باشید که گزینه -full مقدار مربوطه را نمی پذیرد. پارامترهای این نوع پارامترهای سوئیچ نامیده می شوند، زیرا به نظر می رسد خط رفتار دستورات را تغییر می دهند.

شکل 3 برخی از اطلاعات بازگردانده شده توسط این دستور را نشان می دهد. سرپرست باید پنجره را در رایانه خود پیمایش کند یا اندازه آن را تغییر دهد تا تمام محتوا قابل مشاهده باشد. بخش PARAMETERS حاوی اطلاعات مورد نیاز برای گنجاندن پارامترها در یک فرمان است. به دو دسته اطلاعات مهم برای هر پارامتر توجه کنید: Required و Position.

اطلاعات مورد نیاز نشان می دهد که آیا پارامتر مورد نیاز است یا اختیاری. وقتی متغیر Required درست باشد، پارامتر باید در دستور گنجانده شود. اگر متغیر Required روی false تنظیم شود، این پارامتر اختیاری است.

مقدار دسته Position به شما امکان می دهد قضاوت کنید که آیا پارامتر باید یک نام داده شود یا اینکه آیا می توان با موقعیت آن به آن ارجاع داد. وقتی متغیر Position روی named تنظیم می شود، نتیجه این است که هنگام مراجعه به این پارامتر، باید نام آن را مشخص کنید. هنگامی که مقدار متغیر Position به صورت عدد بیان می شود، پارامتر را می توان با نام آن یا صرفاً با تعیین مقدار پارامتر در موقعیت صحیح خود ارجاع داد.

به عنوان مثال، همانطور که شکل 3 نشان می دهد، دستور Get-Content به پارامتر -path نیاز دارد. با این حال، مقدار این پارامتر را می توان در موقعیت اول بدون وارد کردن نام پارامتر، مانند مثال زیر، مشخص کرد:

Get-Content c:sample.txt

اگر مقدار پارامتر حاوی فاصله باشد، مقدار باید در علامت نقل قول قرار گیرد.

در بخش PARAMETERS، نام هر پارامتر با اطلاعات محصور شده در پرانتزهای زاویه () همراه می شود. این اطلاعات نشان دهنده نوع داده ای است که مقدار پارامتر باید باشد. همانطور که شکل 3 نشان می دهد، مقدار پارامتر -path باید یک رشته باشد. اگر یک رشته از کلمات با مجموعه ای از پرانتز () دنبال شود، به این معنی است که یک آرایه رشته می تواند به عنوان مقدار پارامتر استفاده شود.

اگر از پارامترهای سوئیچ استفاده کنید که مقادیر را قبول نمی کنند، داده ها از نوع خواندنی خواهند بود. برای مثال با این نوع داده، پارامتر -force دستور Get-Content تعریف می شود. این پارامترمحدودیت هایی را لغو می کند که ممکن است از اجرای دستور جلوگیری کند. لغو تنها زمانی رخ می دهد که یک پارامتر در یک فرمان گنجانده شود.

یکی دیگر از ویژگی های PowerShell که به پارامترها مربوط می شود، ویژگی است که به طور خودکار ترکیب پارامتر-نام را تکمیل می کند. کاربر فقط باید حروف کافی برای تشکیل نام پارامتر وارد کند تا بتوان آن را از سایر پارامترها متمایز کرد. بله تیم

Get-Content c:sample.txt -force

معادل دستور است

Get-Content c:sample.txt -fo

همراه با اطلاعاتی در مورد پارامترهای مورد نیاز برای ساخت دستورات، فایل راهنما برای دستور Get-Content شامل مثال هایی است که نحوه استفاده از دستور را نشان می دهد. توصیه های مفیددر بخش یادداشت ها و منابع، جایی که اطلاعات تکمیلی. خوب است توجه داشته باشید که فایل های راهنما برای همه دستورات ارائه می شوند - حتی فایل های راهنما نیز مفاهیم رایج را توصیف می کنند.

از مفاهیم کمک بگیرید

PowerShell با مجموعه ای از فایل های راهنما ارائه می شود که مروری بر مفاهیم مختلف ارائه می دهد. هر فایل با کاراکتر "about_" شروع می شود و با نام بخش به پایان می رسد. برای مشاهده یک لیست الفبایی از بخش‌ها، دستور را اجرا کنید

برای مشاهده اطلاعات در مورد یک موضوع خاص، فقط باید نام کامل موضوع را در مقدار پارامتر وارد کنید. به عنوان مثال، برای خواندن یک فایل کنترل جریان، باید دستور را اجرا کنید

Get-Help about_flow_control

شکل 4 برخی از داده هایی را نشان می دهد که می توان در نتیجه تولید کرد. همانطور که می بینیم، فایل شامل یک نمای کلی از اقدامات با هدف اجرای کنترل جریان داده در اسکریپت های PowerShell است.

استفاده از نام مستعار

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

برای مشاهده نام مستعار موجود در جلسه جاری، باید دستور Get-Alias ​​را اجرا کنید. جلسه جاری به اتصال فعلی به پردازنده PowerShell اشاره دارد. در راه اندازی PowerShellکاربر یک جلسه جدید را شروع می کند. این جلسه تا زمانی ادامه می یابد که کاربر PowerShell را ببندد و در نتیجه اتصال را قطع کند. علاوه بر همه نام‌های مستعار داخلی و دستورات مرتبط با آنها، Get-Alias ​​همه نام‌های مستعار ایجاد شده در جلسه جاری و همچنین نام‌های مستعار تعریف شده در پروفایل‌ها را نمایش می‌دهد که تنظیمات پیکربندی تعریف‌شده توسط کاربر هستند که هر بار پوسته در PowerShell بارگذاری می‌شوند. آغاز شده است. در یکی از مقالات زیر به نمایه ها خواهیم پرداخت.

اگر نیاز به مشاهده نام مستعار مرتبط با یک دستور خاص دارید، با دستور Get-Alias ​​دقیق تر عمل کنید. به عنوان مثال، برای مشاهده نام مستعار مرتبط با Get-ChildItem، دستور را اجرا کنید

Get-Alias ​​|
Where-Object($_.definition`
- مطابقت با "Get-ChildItem")

این دستور شامل چندین عنصر است که در درس های بعدی به تفصیل در مورد آنها صحبت خواهم کرد. در حال حاضر، تنها چیزی که باید بدانید این است: خروجی دستور Get-Alias ​​به دستور Where-Object ارسال می شود، جایی که تمام نتایجی که با Get-ChildItem مطابقت ندارند فیلتر می شوند. اگر می خواهید نام مستعار اختصاص داده شده برای دستور دیگری را ببینید، نام Get-ChildItem را با نام آن دستور جایگزین کنید.

همانطور که شکل 5 نشان می دهد، PowerShell شامل سه نام مستعار برای دستور Get-ChildItem است: gci، ls، و dir. می توانید به جای نام دستور از هر یک از آنها استفاده کنید. بنابراین، هر یک از چهار دستور زیر محتویات دایرکتوری C:Windows را فهرست می کند:

Get-ChildItem c:windows
dir c: windows
ls c: windows
gci c:windows

برای ایجاد نام مستعار در جلسه جاری، از دستور Set-Alias ​​استفاده کنید. به عنوان مثال، برای ایجاد نام مستعار cnt برای فراخوانی Get-Content، دستور را اجرا کنید

Set-Alias‎ cnt Get-Content

سپس می توانید هر زمان که نیاز به اجرای دستور Get-Content دارید از نام مستعار cnt استفاده کنید. شما می توانید از این نام مستعار تا پایان جلسه خود استفاده کنید (یعنی تا زمانی که PowerShell را ببندید). توجه داشته باشید که هنگام تعریف نام مستعار، گزینه ای برای درج پارامترها وجود ندارد. فقط از نام فرمان می توان استفاده کرد. اگر می خواهید یک مرجع برای یک دستور و پارامترهای آن تعریف کنید، باید یک تابع خاص ایجاد کنید.

چشم انداز

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

رابرت شلدون ([ایمیل محافظت شده]) - مشاور فنی و نویسنده مقدار زیادکتاب‌هایی درباره فناوری‌ها و پایگاه‌های داده مایکروسافت ویندوز

حاشیه نویسی: قابلیت‌های Windows PowerShell و تفاوت آن با پوسته‌های سنتی و زبان‌های اسکریپت را توضیح می‌دهد. اصلی مفاهیم پاورشل(انواع فرمان، ساختار cmdlet، نام مستعار فرمان). در مورد ویژگی های سیستم کمکی PowerShell بحث می کند

می‌توانید با باز کردن صفحه http://microsoft.com/powershell، جایی که پیوندهایی به فایل نصب وجود دارد، PowerShell را از وب‌سایت مایکروسافت دانلود کنید. آخرین نسخهو بسته های اسنادی برای زبانهای مختلف. پس از اجرای فایل دانلود شده، دستورالعمل های جادوگر نصب را دنبال کنید. در نسخه های 32 بیتی پوسته ویندوز PowerShell به طور پیش فرض در . در نسخه های 64 بیتی ویندوز، نسخه 32 بیتی PowerShell در دایرکتوری نصب شده است. %SystemRoot%\SystemWow64\WindowsPowerShell\v1.0و 64 بیتی نسخه ویندوز PowerShell در دایرکتوری نصب شده است %SystemRoot%\System32\WindowsPowerShell\v1.0.

انواع دستورات پاورشل

PowerShell از چهار نوع دستور پشتیبانی می کند: cmdlets، توابع، اسکریپت ها و خارجی فایل های اجرایی.

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

این نوع دستور در یک کتابخانه پیوند پویا (DLL) کامپایل می‌شود و با شروع پوسته در فرآیند PowerShell بارگذاری می‌شود (یعنی cmdlet‌ها را نمی‌توان به‌عنوان برنامه‌های کاربردی اجرا کرد، اما حاوی اشیاء اجرایی هستند). از آنجایی که کد کامپایل شده در فرآیند پوسته بارگذاری می شود، این نوعدستورات به بهترین شکل اجرا می شوند. Cmdlet ها مشابه هستند تیم های داخلی صدف های سنتی

نوع بعدی دستورات توابع هستند. تابع بلوکی از کد PowerShell است که نام دارد و تا پایان جلسه جاری در حافظه باقی می ماند پوسته. توابع مانند cmdlet ها از پارامترهای نامگذاری شده پشتیبانی می کنند. سینتکس یک تابع زمانی که اعلان می شود، یک بار آنالیز می شود.

یک اسکریپت بلوکی از کد PowerShell است که در آن ذخیره شده است فایل خارجیبا پسوند ps1 سینتکس اسکریپت هر بار که راه اندازی می شود آنالیز می شود.

آخرین نوع دستورات فایل های اجرایی خارجی هستند که به صورت عادی توسط سیستم عامل اجرا می شوند.

بهترین مقالات در این زمینه