PowerShell Cmdlets. Windows PowerShell چیست و چه چیزی برای آنچه مورد نیاز است

نوامبر 5، 2014 در 20:07

پرش شروع در PowerShell (قسمت اول)

  • مدیریت سیستم ،
  • PowerShell
  • تدبیر

فقط اتوماسیون فقط PowerShell

مقدمه

به عنوان یک سرگرمی و در حضور زمان، من به دانش آموزان به UKIT آموزش می دهم (کالج دولتی مسکو سابق فناوری اطلاعات) در این لحظه من زمان کمی برای دادن آن گروهی از دانش آموزان دارم، اما کافی است که یک پست را در مورد هابر آماده کنم.

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

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

توجه: PowerShell اعتیاد آور است.

معرفی

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

PowerShell به نظر می رسد یک خط فرمان:


powerShell.exe.

یا به صورت یک برنامه کاربردی:


powershell_ise.exe.

powershell_ise.exe. یک محیط سناریو یکپارچه نامیده می شود - Windows PowerShell Ise. به شما اجازه می دهد تا با یک زبان در یک نحو مناسب Syntax، سازنده فرماندهی، دستورات Constructor، دستورات Autofill را با فشار دادن برگه و دیگر فریبنده ها کار کنید. ایده آل برای ایجاد و تست اسکریپت ها.

برای راه اندازی محیط زیست powerShell.exe. یا powershell_ise.exe. کافی است که یک نام مشابه را در ردیف شماره گیری کنید.

فایل اسکریپت PowerShell دارای یک فرمت است .ps1.

اسکریپت قادر به اجرای دو LKM نخواهد بود. این به طور خاص انجام می شود به منظور آسیب رساندن به سیستم به طور تصادفی در حال اجرا اسکریپت.

برای شروع، با کلیک روی PCM، "اجرای با استفاده از PowerShell" را انتخاب کنید:

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

دریافت اجرایی

ما یکی از مقادیر زیر را دریافت می کنیم. با احتمال زیاد اگر اولین راه اندازی بود، ما دریافت می کنیم محصور.

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

برای انجام و آزمایش سیاست ها به بازسازی با فرماندهی:

تنظیم مجدد acecutionpolicy بازسازی شده

کار کردن

cmll
  • دستورات دستورات PowerShell نامیده می شود، که در آن قابلیت های مختلف را گذاشته است؛
  • فنجان می تواند هر دو سیستم و سفارشی ایجاد شده توسط هر کسی؛
  • Clasles به قانون Glagol-Noun اشاره می شود که حفظ حافظه آنها را ساده می کند؛
  • خروجی Coldcles منجر به شکل اشیاء یا مجموعه های آنها می شود؛
  • Cmdlets هر دو می توانند داده ها را برای پردازش و انتقال داده ها در خط لوله دریافت کنند (در مورد نوار نقاله ها بعدا)؛
  • فنجان به ثبت نام حساس نیستند (شما می توانید فرایند و فرآیند دریافت و فرآیند دریافت کنید)؛
  • پس از cmdlets، لازم نیست قرار دادن " ; "، به جز زمانی که ما چندین cmdlets را در یک خط انجام می دهیم (فرآیند دریافت، خدمات دریافتی).

به عنوان مثال، برای دریافت فرایندهای فعلی، ما دستور را اجرا خواهیم کرد:

و ما نتیجه را دریافت می کنیم:

سعی کنید خودتان را انجام دهید:

دریافت سرویس # برای به دست آوردن وضعیت خدمات در حال اجرا بر روی کامپیوتر

Get-content C: \\ Windows \\ System32 \\ Drivers \\ etc \\ hosts # برای دریافت محتویات فایل. که در این مورد، میزبان فایل

لازم نیست که تمام cmdlets را بدانیم. کمک بگیر. وضعیت را ذخیره کنید
اطلاعات مربوط به تمام CMDLES موجود را می توان با وارد کردن دستور زیر به دست آورد:

کمک به کمک -Category CMDLET

اگر ما از PowerShell Ise استفاده کنیم، ما روند توسعه را تسهیل می کنیم.
فقط علامت داش را وارد کنید " - "پس از Clarket معرفی شد، و ما همه چیز را دریافت خواهیم کرد گزینه های احتمالی پارامترها و انواع آنها:

سعی کنید اجرا کنید:

دریافت سرویس-نام P *

اگر، با این حال، ما فراموش خواهیم کرد که خواص آن از یک یا چند cmdle وجود دارد، ما آن را از طریق آن سوار می شویم عضو شوید:

فرآیند دریافت | دریافت عضو # علامت "|" نوار نقاله نامیده می شود. در مورد او زیر.

اطلاعات کافی نیست؟ به پارامتر به کمک کمک کنید -مثال ها.:

دریافت کمک به دریافت فرایند -Examples

ما یک توضیح دریافت می کنیم فرآیند دریافتبله، و با نمونه های استفاده:

  • Clasles ممکن است نام اختصاری - نام مستعار داشته باشد. به عنوان مثال، به جای آن کمک بگیر. شما می توانید از ساده استفاده کنید کمک.. برای همه کاهش، انجام نام مستعار.

سعی کنید اجرا کنید:

دفترچه یادداشت شروع

چه شبیه به ضبط است:

شروع به نوشتن

و اکنون روند را متوقف کنید:

Stop-Process-nameepad

SPPS -Name Notepad.

کمی پیش از این ما گفتیم که clocles قوانین Glagol-Noun نامیده می شود. روشن کنید که فعل لازم نیست گرفتن.. علاوه بر آنچه که ما می توانیم دریافت کنیم، می توانیم بپرسیم تنظیم. (به یاد داشته باشید، تنظیم executionPolicy)، راه اندازی کنید شروع کنتوقف متوقف کردن.، خروجی خارجايجاد كردن جدید و خیلی های دیگر. نام CMDLE به چیزی محدود نمی شود و زمانی که ما خودمان را با شما ایجاد خواهیم کرد، می توانیم آن را به عنوان قلب خود تماس بگیریم.

بیایید سعی کنیم فایل را اجرا کنیم:

"سلام، توپی!" | out-file c: \\ test.txt & c: \\ test.txt

به هر حال، می توان آن را به همان شیوه نوشته شده است:

"سلام، توپی!" \u003e c: \\ test.txt & c: \\ test.txt

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

PowerShell از ویندوز چیست؟

PowerShell یک محیط فرماندهی شی گرا تعاملی با توابع زبان اسکریپت است. انتشار رسمی PowerShell 1.0 از مایکروسافت در تاریخ 14 نوامبر 2006 برگزار شد. توسعه دهندگان رابط کاربری خط فرمان CLI معمولی را با یک پلت فرم برای مدیریت شبکه های محلی و از راه دور، ترکیب می کنند.

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

در 18 اوت 2016، مایکروسافت اعلام کرد ویندوز PowerShell در حال حاضر یک محصول منبع باز در دسترس برای هر توسعه دهنده است. همچنین، شرکت پشتیبانی از سیستم عامل های یونیکس گرا، از جمله توزیعهای لینوکس و OS X را اضافه کرد.

نحوه مدیریت PowerShell

Cmdlets برای اجرای وظایف یا cmdlets استفاده می شود. این دستورات کوچک است که در قالب فایل های اجرایی ثبت شده است. در نسخه 2.0 PowerShell برای ویندوز XP و سرور 2008 R2، سازندگان ماژول هایی را اضافه کرده اند که به شما امکان می دهد مدیریت کنید مقدار زیاد منابع، از جمله دایرکتوری فعال و سرور Exchange.

در حال حاضر در ابزار اتوماسیون PowerShell، بیش از 130 ماژول و دستورات جاسازی شده اند. آنها دسترسی به فایل ها، شبکه ها، رجیستری، مدیریت و سایر ویژگی های سیستم را فراهم می کنند:

  • تنظیم زمان و تاریخ؛
  • کار با پوشه ها و فایل های جداگانه؛
  • دریافت کمک و اطلاعات اضافی؛
  • واردات و ذخیره سازی داده ها؛
  • روش های ایجاد اسکریپت؛
  • اسکریپت های فردی و برنامه های کاربردی؛
  • سیستم امنیتی را بررسی کنید و با توصیفگرها کار کنید؛
  • مدیریت سیستم؛
  • فضای دیسک را بررسی کنید

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

شروع به کار با PowerShell

در سال 2016، آخرین نسخه بتا 6.0 Powershell منتشر شد. در ویندوز 7، 8 و 10، ابزار ساخته شده است. اگر از یک سیستم عامل دیگر استفاده می کنید، برنامه باید دانلود شود. برای انجام این کار، به سایت رسمی Microfoft.com بروید و در پنجره جستجو، نصب ویندوز PowerShell را وارد کنید. سیستم به طور خودکار به صفحه با آخرین نسخه های محصول ترجمه می شود. سیستم عامل خود را از لیست انتخاب کنید و روی دانلود کلیک کنید.

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

فهرست دستورات و دستورالعمل های لازم برای PowerShell

نام هر CMDLET در فرم «فعل اسم» یا "Object-Object" نمایش داده می شود. ما فهرستی از مهمترین قدرت CMDLETS PowerShell را برای ویندوز 10 ارائه می دهیم و نسخه های قبلیشروع با XP آنها حتی به کاربران تازه کار مفید خواهند بود که تازه یاد گرفته اند که چگونه اسناد متنی را حفظ کنند.

  1. کمک بگیر. ساخته شده در Core Cyser Cere. طراحی شده برای تماس با گواهی و فراهم می کند اطلاعات مفید در نحو، برنامه ها، انتصاب آنها، سایر سلت ها. اگر در مترجم معمول فرماندهی شما ipconfig /؟، سپس در PowerShell شما نیاز به شماره گیری دریافت کمک گرفتن را دریافت کنید.
  2. دریافت محتوا روش خواندن فایل های خواندن برای مبتدیان و مدیران سیستم را ساده می کند. اگر قبل از آن لازم بود که دستگیره را باز کنید و تمام خطوط سند را بخوانید، در حال حاضر فقط فایل CMDLE را می دهید. برای انجام این کار، در C: \\\u003e Get-Content C: \\ ... \\ "نام فایل" در کنسول بنویسید. "Extension".
  3. دریافت خدمات دسترسی به اطلاعات مربوط به خدمات نصب شده بر روی کامپیوتر.
  4. عضو شوید اطلاعات مربوط به شیء CMDLE بازگشت را می دهد، به شما اجازه می دهد تا خواص و روش های آن را ببینید.
  5. دریافت فرمان جستجو برای CMDLETS، تمام اطلاعات مربوط به آنها را باز می گرداند، از جمله داده ها در توابع، اسکریپت ها، برنامه ها و سایر عناصر. در نسخه 5.0 PowerShell برای ویندوز 10 در Get-Command، ستون نسخه اضافه شده است، و در حال حاضر فرماندهان چندین نسخه از همان ماژول را در یک بار نمایش می دهد.
  6. Stop- \\ START-SERVICE. دستیار ضروری برای مدیران. CMDLET خدمات را در رایانه های پاک شده و محلی متوقف می کند و متوقف می کند.

نمادهای ویژه برای اسکریپت ها

علاوه بر CMDLETS، ابزار PowerShell در ویندوز 7 و بالاتر شامل کاراکترهای خاص مانند $ _ یا () است. بزرگترین ناراحتی آیکون ها باعث تازه واردین می شود که پرونده ها را با سیستم های لینوکس یا برنامه نویسی ندارند.

  1. صفات عمودی "|". این نماد برای برنامه های انتقال داده های نوار نقاله استفاده می شود. هنگام کار با کنسول، آن را شامل می شود زمانی که آنها می خواهند دستور را به سمت راست ویژگی عمودی مشخص کنید تا خروجی را از دستور چپ پذیرش کنید. در PowerShell، ویژگی عمودی توسط تقریبا همان هدف، ترکیب چندین تیم در یک بار استفاده می شود. به عنوان مثال، یک نام کاربری جدید ایجاد کنید، آن را به یک گروه اضافه کنید و رمز عبور پیش فرض را بازنشانی کنید.
  2. علامت تابع "()". به شما اجازه می دهد تا به طور موثر بر روند اجرای سناریوها نظارت کنید. همانطور که در زبان های برنامه نویسی C مانند، عملکرد PowerShell با وارد شدن به چند cmdlets در براکت های فرفری شکل می گیرد و آماده شروع تعداد مورد نیاز است.
  3. نماد ویژه $ _. برای نوشتن بلوک های اسکریپت، فیلترها و عبارات رویه ای استفاده می شود. $ _ مقدار جسم فعلی را می گیرد و آن را به موارد زیر منتقل می کند. با استفاده از علامت دلار، بدون زیرزمینی پایین، شما می توانید یک متغیر را تعیین یا وارد کنید: $ var \u003d "hello".

PowerShell Ise چیست؟

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

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

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

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

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

این وظایف اداری معمولا با استفاده از CMDLETS انجام می شود (در اصل cmdlets)، که کلاس های تخصصی دات نت هستند. کاربر می تواند آنها را در اسکریپت ها (سناریوها) ترکیب کند با استفاده از طرح های مختلف، Utilities خط فرمان و ارجاع به کلاس های معمولی .NET، WMI یا COM اشیاء. علاوه بر این، شما می توانید از انبارهای مختلف داده مانند سیستم فایل ویندوز یا رجیستری استفاده کنید که توسط PowerShell از طریق تامین کنندگان ارائه می شود (انگلیسی. ارائه دهندگان).

ویندوز PowerShell همچنین مکانیسم جاسازی شده را فراهم می کند، به این ترتیب که اجزای اجزاء PowerShell را می توان به برنامه های دیگر تبدیل کرد. این برنامه ها می توانند از قابلیت های PowerShell برای اجرای عملیات های مختلف استفاده کنند، از جمله ارائه شده از طریق رابط گرافیکی. این رویکرد به مایکروسافت Exchange Server 2007 اعمال می شود تا قابلیت کنترل را در قالب PowerShell CMLLS و کنترل های گرافیکی در قالب پوسته های PowerShell که باعث ایجاد CMDLETS لازم می شود استفاده شود. بنابراین، رابط کنترل گرافیکی بیش از لایه متوسط \u200b\u200b- PowerShell است. دیگران برنامه های مایکروسافت، از جمله مایکروسافت SQL Server 2008، مدیر عملیات مرکز سیستم و مرکز سیستم مرکز سیستم همچنین دسترسی به رابط های مدیریت خود را از طریق CMDLETS PowerShell ارائه می دهد. در آینده، تمام برنامه های مایکروسافت سرور در پلت فرم ویندوز از یک یا چند راه دیگر از PowerShell استفاده کنید.

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

پیش از تاریخ

کابینت

سناریوها

PowerShell شامل یک زبان سناریو با انواع پویا است که می توانید عملیات پیچیده را با استفاده از CMDlets اجرا کنید. زبان اسکریپت از متغیرها، توابع، طرح های شاخه (IF-INS-ONCE) (در حالی که، برای و foreach)، پردازش خطا ساختار یافته و بسیاری از ویژگی های دیگر، از جمله ادغام C.NET، پشتیبانی می کند. متغیرها در PowerShell با پیشوند $ قبل از نام نشان داده می شوند؛ آنها می توانند هر معنی را شامل شود، از جمله خروج CMDLETS. اگر چه زبان خود به شدت تایپ نمی شود، در داخل متغیرها با انواع خود ذخیره می شوند که می توانند انواع اولیه باشند (Eng. انواع اولیه) یا اشیاء ردیف ها را می توان در نقل قول های تک یا نقل قول های دوگانه محصور کرد: هنگام استفاده از نقل قول های دوگانه، متغیرهای موجود در رشته با مقادیر خود جایگزین خواهند شد. مطابق با نحو متغیرها، اگر مسیر به فایل در براکت های فرفری با علامت قبلی دلار (یعنی $ (C: \\ foo.txt) قرار گیرد)، این یک پیوند به محتویات خواهد بود پرونده. همه چیز که به این متغیر اختصاص داده می شود، در فایل ثبت می شود و برعکس، محتویات فایل هنگام دسترسی به محتویات آن صادر می شود.

شما می توانید خواص و روش های شی را با استفاده از نقطه (.)، همانطور که در نحو استفاده کنید. PowerShell متغیرهای ویژه ای مانند $ args را فراهم می کند، حاوی مجموعه ای از همه استدلال های خط فرمان نامشخص، توابع منتقل شده، یا $ _، اشاره به شی فعلی در نوار نقاله و دیگر ساختارها. PowerShell همچنین حاوی آرایه ها و آرایه های انجمنی است. علاوه بر این، PowerShell به طور خودکار عبارات ریاضی وارد شده در خط فرمان را محاسبه می کند و آشکارسازی های محبوب مانند GB (GB)، MB (MB) و KB (CB) را درک می کند.

در PowerShell، شما می توانید توابع خود را ایجاد کنید که پارامترها را با استفاده از عملکرد تابع پذیرفته اند. مشکل محبوب برای بسیاری از مبتدیان این است که توابع استدلال هایی را که توسط کاما جدا شده اند، قبول می کنند، بلکه فضاها (مانند خط فرمان خطی یا CMDLETS):

  1. : باعث عملکرد با دو استدلال می شود.

این استدلال ها را می توان به پارامترهای مشخص شده در اعلامیه تابع متصل کرد. همچنین، آنها همچنین می توانند از طریق مجموعه ای از $ args با آنها تماس بگیرند.

  1. (, ): یک تابع با یک استدلال، که مجموعه ای از دو عنصر است، ایجاد می کند.

PowerShell به شما اجازه می دهد تا با استفاده از نام های فضایی خود در مربع های مربع ()، و سپس با استفاده از چند رنگ (:) برای نشان دادن روش استاتیک. به عنوان مثال :: Writeline ("PowerShell"). اشیاء با استفاده از CMDLE جدید شیء ایجاد می شوند، خواص جدید را به آنها اضافه کنید با استفاده از CMDLE عضو Add-Member.

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

سناریوهای نوشته شده در PowerShell می توانند بین جلسات در فایل ها ذخیره شوند. سپس شما می توانید از کل اسکریپت یا توابع فردی از آن استفاده کنید. اسکریپت ها و توابع مانند CMDTAM مورد استفاده قرار می گیرند، یعنی آنها می توانند دستورات در نوار نقاله باشند، آنها می توانند پارامترها را انتقال دهند. اشیاء را می توان بین سناریوها، توابع و cmdlets در نوار نقاله انتقال داد. با این حال، اجرای اسکریپت های PowerShell به طور پیش فرض ممنوع است، و باید آن را با استفاده از CMDLET Set-ExecutionPolicy فعال کرد. اسکریپت های PowerShell را می توان با امضای دیجیتال امضا کرد تا یکپارچگی آنها را تأیید کند.

PowerShell 2.0

مایکروسافت PowerShell 2.0 را به عنوان بخشی از ویندوز 7 و ویندوز سرور 2008 R2 منتشر کرده است. ویندوز PowerShell 2.0 در این سیستم ها از پیش تعیین شده است. استثناء حالت است نصب ویندوز سرور 2008 R2 در حالت هسته ای، که PowerShell 2.0 را می توان به صورت دستی پیکربندی کرد. برای سیستم عامل های قدیمی، آن را به عنوان بخشی از چارچوب مدیریت ویندوز در دسترس است. PowerShell 2.0 باعث می شود برخی تغییرات را به زبان اسکریپت و API برای تعبیه، علاوه بر 240 CMDth جدید.

فهرست ناقص از ویژگی های جدید موجود در PowerShell 2.0:

  • PowerShell Remoting. با استفاده از مدیریت WS-Management، PowerShell 2.0 به شما اجازه می دهد که اسکریپت ها و cmdlets را در دستگاه های از راه دور (از جمله چندین همزمان) تماس بگیرید، وضعیت اجرای آنها را نظارت کنید و نتایج را در قالب اشیاء (از طریق سریال سازی - deterialization) دریافت کنید. همچنین ممکن است جلسات و جلسات تعاملی را با قابلیت های محدود ایجاد کند.
  • کار پس زمینه توانایی تماس تلفنی از دستورات به صورت آسنکرون. آثار را می توان بر روی یک ماشین محلی یا چند ماشین از راه دور اجرا کرد. آثار نمی توانند از CMDLET های تعاملی استفاده کنند.
  • معاملات اجازه دهید توسعه دهندگان CMDLETS و تامین کنندگان برای اجرای عملیات عملیاتی. PowerShell 2.0 شامل CMDLETS برای مقداردهی اولیه، تایید و بازپرداخت معاملات و توانایی مدیریت معاملات و استفاده از آنها در CMDT و تامین کنندگان است.
  • توابع پیشرفته توانایی توسعه Cmdlets کامل با استفاده از تنها PowerShell خود.
  • SteppablePipelines. به کاربر اجازه می دهد تا در هنگام تماس با CMDLE ()، ProcessRecord () و EndProcessing () عملکرد را کنترل کند.
  • ماژول ها اجازه دهید نویسندگان سناریوها و مدیران برای سازماندهی اسکریپت های PowerShell و آنها را در ماژول های خودکفا قرار دهند. کد از ماژول به صورت مستقل، مستقل انجام می شود و بر محیط خارج از ماژول تاثیر نمی گذارد. با استفاده از اسکریپت، ماژول ها می توانند یک محیط محدود را اعلام کنند. ماژول ها ممکن است شامل توابع و متغیرهای عمومی و خصوصی باشند.
  • زبان داده ها یک زیرمجموعه از زبان PowerShell که به شما امکان می دهد تعاریف داده را از کد سناریوهای اجرایی جدا کنید و باعث می شود که رشته های محلی را به اسکریپت وارد کنید.
  • اسکریپت های اشکال زدایی توانایی نصب نقاط وقفه (ENG. نقطه توقف) در اسکریپت های PowerShell یا توابع. نقاط وقفه را می توان بر روی رشته ها، ستون ها، دستورات، یا خواندن عملیات و / یا ضبط متغیرها نصب کرد. CMDLETS برای نصب و کنترل نقاط وقفه در سناریوها وجود دارد.
  • رویداد این ویژگی به شما اجازه می دهد تا زمانی که رویدادهای مدیریت یا سیستم رخ می دهد، گوش دادن، تغییر مسیر و انجام اقدامات را انجام دهید. با تشکر از این رویداد، میزبان PowerShell را می توان از تغییرات وضعیت اشیاء مدیریت شده مطلع کرد. همچنین به سناریوها اجازه می دهد تا به somesentevents، pseavents و wmievents مشترک شوند و آنها را همزمان و همزمان سازی کنند.
  • ویندوز PowerShell یکپارچه محیط اسکریپت (ISE). PowerShell 2.0 شامل پوسته گرافیکی برای یک زبان است که در آن debugger داخلی ساخته شده است، نور پس زمینه نحو، خودکار سازی دستورات. پوسته اجازه می دهد تا شما را به اجرای چندین کنسول مستقل PowerShell با پشتیبانی کامل از یونیکد در رابط با بوک مارک ها. با تشکر از پشتیبانی از اجرای راه دور، برخی از کنسول ها را می توان بر روی رایانه های دیگر انجام داد. علاوه بر این، ISE اجازه می دهد تا شما را به انجام بخش اختصاص داده شده از سناریو، شامل یک ویرایشگر داخلی و اجازه می دهد تا شما را به گسترش و تکمیل رابط خود را با استفاده از PowerShell.
  • بیت انتقال - پشتیبانی داخلی برای انتقال فایل ها در یک شبکه با اولویت بندی، چندتایی، بازسازی و کار ناهمزمان بر اساس تکنولوژی خدمات انتقال هوشمند پس زمینه.
  • بسیاری از CMDLETS جدید، از جمله، به عنوان مثال، Out-GridView، که امکان نمایش نتایج نوار نقاله را در یک جدول گرافیکی (بر اساس WPF)، با قابلیت های مرتب سازی و جستجوی فوری فراهم می کند.
  • اپراتورهای جدید -Split، -Qoin و اپراتور جایگزینی (@).
  • خطاهای پردازش با امتحان گرفتن-در نهایت. بر خلاف سایر زبانهای دات نت، در PowerShell شما می توانید چندین نوع استثناء را برای یک بلوک گرفتن مشخص کنید.
  • بلوک نظرات PowerShell 2.0 پشتیبانی از نظرات بلوک (به علاوه به حال حاضر در حال حاضر در حال حاضر) با استفاده از<# и #> به عنوان محدود کننده ها.
  • API های جدید قابلیت های مختلفی را اضافه کرد، از کنترل بیشتر بر Powershell Parser به توانایی ایجاد جلسات محدود (انگلیسی. محدودیت محدود) که در آن شما می توانید تنها مجموعه ای از دستورالعمل ها و دستورات PowerShell را انجام دهید.

مقایسه CMDLETS با تیم های مشابه

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

لازم به ذکر است که این جدول برای آشنایی سطحی داده شده است، تمام ویژگی های پوسته های ارائه شده را پوشش نمی دهد.

ویندوز PowerShell
(cmdlet)
ویندوز PowerShell
(نام مستعار)
cmd.exe / command.com.
(MS-DOS، ویندوز، OS / 2، و غیره)
بوش
(یونیکس، BSD، لینوکس، Mac OS X، و غیره)
شرح
محل اقامت gL، PWD. pwd دایرکتوری فعلی کار را نمایش می دهد
محل تنظیم sL، CD، CHDIR ، chdir فهرست کاتالوگ فعلی را تغییر می دهد
Clear-Host cLS، روشن است cLS پاک کردن صفحه را پاک می کند
کپی مورد cPI، Copy، CP کپی 🀄. کپی یک یا چند فایل یا دایرکتوری (در PowerShell شما همچنین می توانید اشیاء دیگر ارائه دهندگان داده ها را کپی کنید)
کمک بگیر. کمک، مرد. کمک. مرد. کمک به تیم ها
حذف مورد ری، دل، پاک، RMDIR، RD، RM دل، پاک کردن، rmdir، ، rmdir فایل / دایرکتوری (یا سایر موارد را در ارائه دهندگان داده PowerShell) حذف می کند).
نام خانوادگی rni، ren رن، تغییر نام تغییر نام فایل / دایرکتوری
حرکت آیتم mI، MOVE، MV حرکت. فایل / دایرکتوری را به یک مکان جدید منتقل می کند
Get-Childem gCI، DIR، LS دی. تمام فایل ها / دایرکتوری ها را در دایرکتوری فعلی نمایش می دهد
نوشتن خروجی اکو، نوشتن اکو اکو رشته ها، متغیرها را برای خروجی استاندارد نمایش می دهد
مکان پاپ پاپ پاپ پاپ دایرکتوری فعلی را به یکی که آخرین بار در پشته قرار دارد را تغییر می دهد
موقعیت مکانی pUSHD pUSHD pUSHD دایرکتوری فعلی را روی پشته قرار می دهد
تنظیم متغیر sV، مجموعه. تنظیم. تنظیم. تنظیم مقدار متغیر / ایجاد متغیر
محتوا gC، نوع، گربه نوع گربه محتویات فایل را می گیرد
انتخاب رشته پیدا کردن، Findstr. گریپ رشته های مناسب تحت شرایط را نمایش می دهد
فرآیند دریافت gPS، PS. tlist، tasklist. تمام فرآیندهای در حال اجرا را نمایش می دهد
توقف فرآیند sPPS، کشتن کشتن، Taskkill کشتن یک فرآیند در حال اجرا را متوقف می کند
tee-object tee n / A. tee داده های ورودی را به یک فایل یا متغیر ارسال می کند، سپس آنها را بیشتر از طریق نوار نقاله انتقال می دهد

همچنین ببینید

  • PowerShell Ise

یادداشت

ادبیات

  • Popov A.V. مقدمه ای بر ویندوز PowerShell. - سنت پترزبورگ. : BHV-Petersburg، 2009. - P. 464. - ISBN 978-5-9775-0283-2

پیوندها

  • Windows PowerShell 1.0 نصب و راه اندازی بسته بندی مرکز دانلود برای ویندوز ویستا
  • گزارش فرصت های PowerShell و اسکریپت نوشتن اصول
  • چارچوب مدیریت ویندوز (از جمله PowerShell 2.0، WinRM 2.0 و Bits 4.0) برای ویندوز XP، ویندوز سرور 2003، ویندوز ویستا، ویندوز سرور 2008
  • وبلاگ "PowerShell و اسکریپت های دیگر" (RUS.)
  • (روس)
  • "وبلاگ PowerShell و نه تنها" (روس)
  • کتاب روسی رایگان Powershell (Rus.)
  • دوم کتاب انگلیسی رایگان در مورد PowerShell (انگلیسی)
  • Windows PowerShell Web Node (انگلیسی)
  • کاپیتان PowerShell و مدیریت آینده (RUS.)

ویندوز PowerShell یکی از ابزارهای مهم سیستم سیستم است مدیر ویندوز. PowerShell یک ابزار قدرتمند است که نباید نادیده گرفته شود. این مقاله با هدف ارائه مهارت های اساسی کار با ویندوز PowerShell است.

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

ویندوز PowerShell از پیش تعیین شده در ویندوز 7، 8، 8.1 و ویندوز سرور 2008 R2، 2012 سیستم های R2 است و همچنین می تواند به ویندوز XP SP3، ویستا و ویندوز سرور 2003 SP2 اضافه شود. رابط PowerShell شبیه یک رابط خط فرمان شناخته شده است.


رابط ویندوز پاشنه

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

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

کابینت - این نوع جدیدی از دستورات ساخته شده به PowerShell است. دستورات این نوع در کتابخانه های DLL کامپایل می شوند و در طول راه اندازی آن به روند PowerShell بارگذاری می شوند. برای خود cmdlets به عنوان برنامه های کاربردی شروع نمی شود.

نام Cmdlets مطابق با الگو است "فعل اسم". فعل اقداماتی را که می خواهیم انجام دهیم، توصیف می کنیم، و اسم - شیء که اقدام انجام می شود. به عنوان مثال، برای پاک کردن صفحه نمایش کنسول، باید فرمان Clear-Host را وارد کنید. شما می توانید دستورات موجود را با وارد کردن کنسول Get-Command مشاهده کنید.

فنجان ممکن است پارامترها داشته باشند. به طور کلی، به نظر می رسد این است:

نام ComanDline -Parameter1 -Parameter2 Argument1 Argument2

استدلال هیچ پارامترهای نامی نیست.

چگونه کار می کند؟ به عنوان مثال، ما یک دستور DIR داریم که محتویات دایرکتوری را نمایش می دهد.

مثال کار تیمی

فرض کنید یک فایل خاص را از دست دادم اجازه دهید آن را یک فایل گواهی توسط فتوشاپ. من دقیقا به یاد می آورم که نام فایل حاوی "فتوشاپ" است و این یک فایل PDF است. همانطور که به یاد می آورم، فایل در این پوشه قرار دارد. من می توانم لیستی از تمام فایل های دایرکتوری را به عنوان مثال در بالا نمایش داده و به صورت دستی جستجو کنم. و من می توانم پارامتر -Filter را اعمال کنم، که تنها فایل هایی را که با یک استدلال خاص مطابقت دارند، نمایش می دهد. به عنوان یک استدلال وجود خواهد داشت * فتوشاپ * .pdf. ستاره ها در اطراف کلمه "فتوشاپ" ایستاده اند، زیرا نام فایل دقیق را به یاد نمی آورم و PowerShell را به این واقعیت اشاره می کنم که قبل و بعد از "فتوشاپ" می تواند هر شخصیت را حفظ کند. من همچنین اشاره به جستجوی فایل PDF.

بنابراین، فایل جستجو یافت شد. به طور کلی CMDLETS، تعیین شد که یک CMDLET می تواند پارامترهای متعددی داشته باشد. به نوبه خود، پارامترها همیشه استدلال ندارند.

کمی از مثال ما پیچیده است. بیایید بگویم اکنون باید کتاب کریستوفر دوغوری را پیدا کنم. تیم dir-filter * dougherty * .pdf من کاری نکردم. این بدان معنی است که هیچ کتاب ای در این کاتالوگ وجود ندارد، اما من دقیقا به یاد می آورم که این جایی است که در اینجا، بدیهی است، در زیر شاخه ها. به منظور جستجو و در زیر شاخه ها، پارامتر -Recurse را اضافه کنید.

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

همانطور که می بینید، پارامتر -Recurse حاوی استدلال نیست. خودشان، پارامترها می توانند در هر جهت ایستاده باشند، مهمترین چیز این است که منطق را به طور کامل مشاهده کنید، زمانی که استدلال مورد نیاز پیروی از پارامتر است که در نظر گرفته شده است. بنابراین تیم dir-filter * dougherty * .pdf -Recurse به همان شیوه کار خواهد کرد dir -Recurse -Filter * Dougherty * .pdf.

نام پارامترها را می توان در فرم اختصاری نوشته شده است، که برای کار روزمره با خط فرمان کاملا مناسب است. کاهش باید به بیانگر روشن شود، I.E. اجازه ندهید تفاسیر دوگانه. به عنوان مثال، پارامتر -Recurse را می توان به ساده -R کاهش داد، و کاهش -Filter به -F باعث خطا می شود، زیرا هنوز یک پارامتر -Force وجود دارد. در این مورد، شما می توانید برش به -fi.

بنابراین، ما یک ایده از سلت ها را دریافت کردیم. بعد .

پس از رفتن به سیستم عامل ویندوز 10، بسیاری از کاربران متوجه "Run PowerShell" را در رابط هادی هادی متوجه شده اند. در این راستا، بسیاری از سوالات در شبکه ظاهر شد، کاربران علاقه مند به برنامه ویندوز PowerShell و آنچه که برای آن مورد نیاز است. اگر شما همچنین به این سوال علاقه مند هستید، این مواد باید به شما کمک کنند.

ویندوز PowerShell یک زبان اسکریپت و یک برنامه با یک رابط خط فرمان برای انجام این اسکریپت ها است. این زبان در سال 2006 به عنوان بخشی از بسته سرویس دوم برای ویندوز XP منتشر شد و از آن زمان PowerShell بخشی از تمام سیستم عامل های مایکروسافت است. در سال 2008، نسخه دوم ظاهر شد از این زبانو شروع با ویندوز 7 این است. اسکریپت های ویندوز PowerShell دارای فرمت PS1 هستند و می توانند به عنوان فایل های BAT و CMD آشنا شوند.

ویندوز PowerShell یک زبان اسکریپتی است که عمدتا برای مشتریان کسب و کار مایکروسافت توسعه یافته است که نیاز به ابزار قدرتمند برای خودکار سازی وظایف مدیریت سرور و رایانه ها دارند پایگاه داده ویندوز. اساس این زبان توسط platform.net مورد استفاده قرار گرفت، که توسط مایکروسافت از سال 2002 توسعه یافته است.

ویندوز PowerShell به شما اجازه می دهد تا بسیاری از وظایف مختلف را به صورت خودکار انجام دهید. با آن، شما می توانید فایل ها، خدمات، فرآیندها، حساب ها و تنظیمات را مدیریت کنید. زبان PowerShell بسیاری از تیم های عادی را درک می کند خط فرمان ویندوز (CMD)، اما همچنین زبان خود را شامل دستورات خودش است که در اینجا به نام Celts نامیده می شود.

فنجان (در CMDlets انگلیسی) توسط قانون Glagol-Noun تشکیل شده است، به عنوان مثال، کمک گرفتن. شما می توانید خود را با اصول اولیه ویندوز PowerShell آشنا کنید (CMDLET دریافت کنید). برای به دست آوردن اطلاعات کلی، به سادگی دستور "Get-Help" را وارد کنید، برای دریافت CMDLET خاص، "Get-Help-name-CMDLET" را وارد کنید. به عنوان مثال، اگر شما دستور «Get-Process Get-Process» را وارد کنید، ما یک CMOT CMOT دریافت خواهیم کرد.

نحوه اجرای یک برنامه ویندوز PowerShell

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

شما همچنین می توانید از ترکیبی استفاده کنید کلید های ویندوز و فرمان "PowerShell" را وارد کنید.

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

نحوه استفاده از ویندوز PowerShell

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

تمیز کردن سبد یک CMDLE ویژه برای تمیز کردن سبد وجود دارد که به نام "Clear-recyclebin" نامیده می شود. این CMDLET هنگام نوشتن اسکریپت ها برای حفظ رایانه مفید است. هنگام اجرای CMDLET، شما باید دیسک را که می خواهید سبد را پاک کنید، مشخص کنید. مثال:

Clear-recyclebin C:

در تصویر زیر، می توان دید که چگونه این CMDLET انجام می شود. پس از ورود به دستور "Clear-Recyclebin C:"، یک درخواست تایید ظاهر می شود. به منظور ادامه اجرای CMDLE، شما باید نامه "Y" را وارد کنید و Enter را فشار دهید.

اگر شما "-Force" را به CMDLET "Clear-Recyclebin C:" اضافه کنید، پس از آن تمیز کردن سبد بدون درخواست تایید انجام می شود. تصویر در پایین

آرشیو فایل. برای آرشیو و باز کردن فایل ها، فشرده سازی آرشیو آرشیو و آرشیو Expand-Archive ارائه شده است. به عنوان مثال، به منظور آرشیو پوشه "C: \\ test \\" به بایگانی "C: \\ بایگانی \\ test2.zip" شما باید CMDLE زیر را اجرا کنید:

فشرده سازی آرشیو -LiteralPath C: \\ test \\ -DestinationPath C: \\ بایگانی \\ test2.zip

به عنوان یک نتیجه از اجرای دستور نشان داده شده در بالا، فایل "test2.zip" در پوشه "C: \\ بایگانی \\" ظاهر می شود که در آن محتویات C: \\ test \\ Folder ظاهر می شود.

فهرست CMDLETS برای ویندوز PowerShell

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

  • دریافت کمک - دریافت منابع؛
  • به روز رسانی کمک - مرجع تازه سازی؛
  • Get-Command - جستجو برای cmdlets؛
  • نام مستعار - جستجو برای نام مستعار برای cmdlets؛
  • Get-PsDrive - مشاهده دیسک های متصل شده؛
  • دریافت عضو - مشاهده خواص و روش هایی که یک شی دارند؛
  • Get-WindowsFeature - مشاهده اطلاعات در مورد نقش های موجود و اجزای سرور؛
  • Install-WindowsFeature (Add-WindowsFeature آنالوگ) - نقش ها یا اجزای را به سرور دلخواه تنظیم می کند؛
  • Uninstall-WindowsFeature (Analogue of Remove-WindowsFeature) - نقش یا جزء سرور را حذف می کند؛
  • تاریخچه تاریخ - مشاهده تاریخچه تیم هایی که در این جلسه معرفی شد؛
  • دریافت متغیر - مشاهده لیست متغیرها و مقادیر آنها؛
  • جدید متغیر - ایجاد یک متغیر جدید؛
  • تنظیم متغیر - تنظیم مقدار متغیر؛
  • Clear-متغیر - حذف ارزش متغیر؛
  • حذف متغیر - از بین بردن متغیر و مقادیر آن؛
  • فرمت لیست - مشاهده نتیجه فرمان به عنوان یک لیست از خواص، که در آن در هر خط یک اموال جداگانه؛
  • فرمت جدول - مشاهده نتیجه فرمان در فرمت جدول؛
  • فرمت گسترده - مشاهده نتیجه فرمان در قالب یک جدول گسترده، که در آن تنها یک ویژگی برای هر شیء نشان داده شده است؛
  • فرمت سفارشی - مشاهده نتیجه فرمان با استفاده از نمای کاربر؛
  • صادرات CSV - صادرات داده ها به فرمت CSV؛
  • Import-CSV - داده های واردات از یک فایل CSV؛
  • صادرات ClixML - داده های صادرات به فرمت XML؛

شما می توانید لیست کاملی از CMDLETS را برای ویندوز PowerShell دریافت کنید با اجرای CommandType CMDLE CMDLE CMDLE CMDLE.