PowerShell چیست؟ Windows PowerShell - چیست، ویژگی ها و الزامات شرح powershell

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

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

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

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

Cmdlet ها (در انگلیسی cmdlets) بر اساس قاعده Verb-Noun، به عنوان مثال Get-Help تشکیل می شوند. می توانید با استفاده از Help (Cmdlet Get-Help) اصول اولیه Windows PowerShell را بیاموزید. برای گرفتن اطلاعات کلیفقط دستور "Get-Help" را وارد کنید، برای راهنمایی در مورد یک cmdlet خاص، "Get-Help Cmdlet-name" را وارد کنید. برای مثال، اگر دستور Get-Help Get-Process را وارد کنیم، در مورد cmdlet Get-Process راهنمایی دریافت می کنیم.

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

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

شما همچنین می توانید از ترکیب استفاده کنید کلیدهای Windows-Rو دستور powershell را وارد کنید.

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

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

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

خالی کردن سطل زباله یک cmdlet ویژه برای پاکسازی سطل بازیافت به نام Clear-RecycleBin وجود دارد. این cmdlet هنگام نوشتن اسکریپت برای سرویس رایانه مفید است. هنگامی که cmdlet را اجرا می کنید، باید درایوی را که می خواهید سطل بازیافت را روی آن خالی کنید، مشخص کنید. مثال:

Clear-RecycleBin c:

اسکرین شات زیر نحوه اجرای این cmdlet را نشان می دهد. پس از وارد کردن دستور "Clear-RecycleBin c:" یک درخواست تایید ظاهر می شود. برای ادامه اجرای cmdlet، حرف Y را وارد کرده و Enter را فشار دهید.

اگر "-Force" را به cmdlet "Clear-RecycleBin c:" اضافه کنید، سطل بازیافت بدون درخواست تایید پاک می شود. اسکرین شات زیر

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

Compress-Archive -LiteralPath C:\test\ -DestinationPath C:\archive\test2.zip

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

لیست cmdlet ها برای Windows PowerShell

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

  • دریافت کمک - کمک گرفتن؛
  • Update-Help – به روز رسانی کمک کنید.
  • Get-Command – جستجوی cmdlets.
  • Get-Alias ​​– جستجوی نام مستعار برای cmdlets.
  • Get-PSDrive - مشاهده درایوهای متصل.
  • Get-Member – مشاهده خواص و متدهایی که یک شی دارد.
  • Get-WindowsFeature – مشاهده اطلاعات در مورد نقش ها و ویژگی های سرور موجود؛
  • Install-WindowsFeature (مشابه Add-WindowsFeature) - نقش ها یا مؤلفه ها را روی سرور مورد نظر نصب می کند.
  • Uninstall-WindowsFeature (مشابه Remove-WindowsFeature) - نقش ها یا اجزای سرور را حذف می کند.
  • Get-History – مشاهده تاریخچه دستوراتی که در این جلسه وارد شده است.
  • Get-Variable – مشاهده لیستی از متغیرها و مقادیر آنها.
  • New-Variable – ایجاد یک متغیر جدید.
  • Set-Variable – تنظیم مقدار یک متغیر.
  • Clear-Variable – حذف یک مقدار متغیر.
  • Remove-Variable – حذف یک متغیر و مقدار آن.
  • Format-List - مشاهده نتیجه دستور به عنوان لیستی از ویژگی ها، که در آن هر خط دارای یک ویژگی جداگانه است.
  • Format-Table - نتیجه فرمان را در قالب جدول مشاهده کنید.
  • Format-Wide - نتیجه دستور را در قالب یک جدول گسترده مشاهده کنید که فقط یک ویژگی را برای هر شی نشان می دهد.
  • Format-Custom – مشاهده نتیجه دستور با استفاده از نمای سفارشی.
  • Export-Csv - صادرات داده ها به فرمت CSV.
  • Import-Csv – وارد کردن داده ها از یک فایل CSV.
  • Export-Clixml - صادرات داده ها به فرمت XML.

با اجرای cmdlet Get-Command -CommandType می توانید لیست کاملی از cmdlet ها را برای Windows PowerShell دریافت کنید.

احتمالاً همه درباره PowerShell شنیده‌اند، اما احتمالاً همه فرصت کار با آن را نداشته‌اند. برای کسانی که به تازگی راه خود را به طبیعت پاورشل باز کرده اند، ترجمه ای از پست منتشر شده در پورتال 4sysops.com را ارائه می دهیم. در مورد 7 فرمان صحبت می کند که به کسانی که تازه شروع به کار با PowerShell کرده اند کمک می کند. برای جزئیات - به گربه خوش آمدید.

کمک بگیر

اولین و مهمترین cmdlet PowerShell فراخوانی کمک است. با استفاده از Get-Help cmdlet، می‌توانید نحو را بررسی کنید، نمونه‌هایی از استفاده را ببینید، و شرح مفصلی از پارامترهای هر cmdlet PowerShell را ببینید. نکته جالب در مورد این cmdlet این است که می توانید به سادگی Get-Help Services را تایپ کنید تا لیستی از تمام cmdlet هایی که با سرویس ها کار می کنند را دریافت کنید.
مثال:
PS C:\>Get-Help Service

می توانید هر cmdlet را از لیست ارائه شده توسط پرس و جو بالا انتخاب کنید تا در مورد آن راهنمایی دریافت کنید. مثلا،
PS C:\> Get-Help -Name Get-Service
شما تمام اطلاعات مربوط به cmdlet Get-Service را دریافت می کنید (در زیر بحث شده است).

دریافت محتوا

خواندن محتویات فایل ها رایج ترین نیاز برای مبتدیانی است که سعی در یادگیری PowerShell دارند. خواندن فایل ها با PowerShell ساده شده است. حتی یک فرد غیر متخصص نیز می تواند محتویات یک فایل را با ارسال آن به cmdlet Get-Content بخواند.
مثال.
PS C:\> Get-Content C:\scripts\Computers.txt mytestpc1 techibee.com dummynotresolvinghost.com PS C:\>

به اطلاعات بیشتری در مورد cmdlet نیاز دارید؟ از Get-Help استفاده کنید:
PS C:\> Get-Help Get-Content -Detailed

دریافت خدمات

این cmdlet تمام خدمات نصب شده بر روی کامپیوتر را فهرست می کند. می‌توانید از آن برای دریافت اطلاعات در مورد یک سرویس خاص، مجموعه‌ای از خدمات یا به سادگی تمام خدمات رایانه خود استفاده کنید.
مثال:
PS C:\> Get-Service wwansvc, spooler وضعیت نام DisplayName ------ ---- ----------- در حال اجرا spooler Print Spooler متوقف شد wwansvc WWAN AutoConfig PS C:\>


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

STOP-SERVICE و START-SERVICE

شروع و توقف خدمات کافی است نکته مهمبه عنوان یک مدیر ویندوز PowerShell دارای cmdlet های داخلی است که کار مدیر را بدون نیاز به باز کردن کنسول MMC آسان می کند. با استفاده از این cmdlet ها می توانید خدمات را در رایانه های محلی و راه دور متوقف یا شروع کنید.
مثال ها:
شروع/توقف یک سرویس در رایانه محلی (به عنوان مثال از سرویس اسپولر استفاده کنید):
PS C:\> Stop-Service -Name Spooler PS C:\> Start-Service -Name Spooler

شروع/توقف سرویس روشن است کامپیوتر از راه دور(sooler):
PS C:\> $ServiceObj = Get-Service -ComputerName MyPC1 -Name spooler PS C:\> Stop-Service -InputObj $ServiceObj PS C:\> Start-Service -InputObj $ServiceObj

دریافت فرآیند

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

PS C:\>Get-Process

برای دریافت اطلاعات دقیق، cmdlet زیر را وارد کنید فرآیندهای در حال اجرا
PS C:\> Get-Process | Format-List * -Force

به دست آوردن اطلاعات در مورد فرآیندهای در حال اجرا بر روی یک کامپیوتر راه دور:
PS C:\> Get-Process -ComputerName MYPC1 | Format-List * -Force

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

توقف-فرآیند

این cmdlet فرآیندی را در رایانه محلی یا راه دور متوقف می کند. نام یا شناسه فرآیند را می گیرد و آن فرآیند را خاتمه می دهد. این در مواردی که برنامه پاسخ نمی دهد مفید است.
مثال:
فرآیند را با شناسه 22608 در رایانه محلی متوقف کنید:
PS C:\> Stop-Process -Id 22608
تمام فرآیندهای اکسل را در رایانه محلی متوقف کنید:
PS C:\> Stop-Process -name excel

مشاورهتوجه: اگرچه cmdlet Stop-Process دارای پارامتر -ComputerName نیست، اما همچنان می‌توانید از آن برای پایان دادن به فرآیندهای راه دور با استفاده از نکته زیر استفاده کنید:
PS C:\> $Obj = Get-Process -Name excel -ComputerName MYPC1 PS C:\> Stop-Process -InputObject $Obj

به روز رسانی:
این پست حاوی ترجمه یک مقاله از پورتال است

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

توجه داشته باشید! این مرجع بر اساس cmdlet های PowerShell 5.0 در سیستم عامل Windows Server 2016 است.

Cmdlet های Windows PowerShell مفید

در این قسمت cmdlet های PowerShell را که حتما از آنها استفاده خواهید کرد را لیست می کنم.

  • Get-Help—راهنمای cmdlet، توابع و راهنمای کلی Windows PowerShell را نمایش می دهد. انواع مختلفی از کمک وجود دارد: مختصر، مفصل، کامل، و تنها نمایش نمونه.
  • Update-Help - فایل های راهنمای جدید را دانلود و نصب می کند. به روز رسانی راهنما؛
  • Get-Command – یک cmdlet برای جستجوی دستور مورد نیاز، می توانید هم بر اساس فعل و هم بر اساس اسم جستجو کنید، همچنین اگر نام دقیق فعل یا اسم را نمی دانید، می توانید از ماسک استفاده کنید.
  • Get-Alias ​​- نام مستعار، همه یا یک دستور خاص را نشان می دهد.
  • Get-PSDrive - درایوهای متصل را نشان می دهد.
  • Get-Member – ویژگی ها و روش هایی را که یک شی دارد نمایش می دهد.
  • Get-WindowsFeature - اطلاعات مربوط به نقش ها و ویژگی های سرور موجود را نمایش می دهد.
  • Install-Windows Feature( معادل Add-WindowsFeature) - نقش ها یا مؤلفه ها را روی سرور مشخص شده نصب می کند.
  • Uninstall-Windows Feature ( معادل Remove-WindowsFeature) - نقش ها یا اجزای سرور را حذف می کند.
  • Get-History - فهرستی از دستورات وارد شده در جلسه جاری را برمی گرداند.

کار با متغیرها

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

  • Get-Variable - لیستی از متغیرها و مقادیر آنها را نمایش می دهد ( یا یک متغیر مشخص);
  • New-Variable - یک متغیر جدید ایجاد می کند.
  • Set-Variable – مقدار یک متغیر را تعیین می کند. اگر متغیری با نام مشخص شده وجود نداشته باشد، ایجاد خواهد شد.
  • Clear-Variable - مقدار یک متغیر را حذف می کند.
  • Remove-Variable - یک متغیر و مقدار آن را حذف می کند.

قالب بندی در Windows PowerShell

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

  • Format-List - خروجی نتیجه دستور در قالب لیستی از خواص، که در آن هر خط جدید حاوی یک ویژگی جداگانه است.
  • Format-Table - خروجی دستور نتیجه را در قالب یک جدول.
  • Format-Wide - خروجی دستور نتیجه را به شکل یک جدول گسترده، که تنها یک ویژگی از هر شی را نمایش می دهد.
  • Format-Custom - در این حالت، خروجی با استفاده از نمای سفارشی فرمت می شود.

واردات و صادرات

PowerShell به شما اجازه می دهد تا داده ها را در قالب های مختلف رایج مانند CSV یا XML وارد و صادر کنید و همچنین خروجی یک فرمان را به یک فایل یا چاپگر خارجی هدایت کنید.

  • Export-Csv - صادرات داده ها به فرمت CSV.
  • Import-Csv - داده ها را از یک فایل CSV وارد می کند.
  • Export-Clixml - صادرات داده ها به فرمت XML.
  • Import-Clixml - یک فایل CLIXML را وارد کرده و اشیاء مربوطه را در آن ایجاد می کند پوسته ویندوزپاورشل؛
  • Out-File - خروجی cmdlet را به یک فایل خارجی می فرستد ( به عنوان مثال در TXT);
  • Out-Printer - خروجی نتیجه فرمان به چاپگر.
  • Import-Module - ماژول ها را در جلسه جاری اضافه می کند.

شبکه در Windows PowerShell

برای مدیریت شبکه در Windows PowerShell، cmdlet هایی مانند:

  • Disable-NetAdapter – cmdlet آداپتور شبکه را غیرفعال می کند.
  • Enable-NetAdapter – این cmdlet آداپتور شبکه را فعال می کند.
  • Rename-NetAdapter - نام آداپتور شبکه را تغییر می دهد.
  • Restart-NetAdapter - آداپتور شبکه را دوباره راه اندازی می کند.
  • Get-NetIPAddress - اطلاعات مربوط به پیکربندی آدرس IP را نمایش می دهد.
  • Set-NetIPAddress - پیکربندی آدرس IP را تغییر می دهد.
  • New-NetIPAddress - یک آدرس IP را ایجاد و پیکربندی می کند.
  • Remove-NetIPAddress - یک آدرس IP و پیکربندی آن را حذف می کند.
  • Get-NetRoute - جدول مسیریابی IP را نمایش می دهد.
  • Set-NetRoute - جدول مسیریابی IP را تغییر می دهد.
  • New-NetRoute - یک ورودی در جدول مسیریابی IP ایجاد می کند.
  • Remove-NetRoute - یک یا چند ورودی را حذف می کند ( مسیرهای IP) از جدول مسیریابی IP؛
  • Get-NetIPv4Protocol - اطلاعات مربوط به پیکربندی پروتکل IPv4 را نمایش می دهد.
  • Get-NetIPv6Protocol - اطلاعات مربوط به پیکربندی پروتکل IPv6 را نمایش می دهد.
  • Get-NetIPInterface - اطلاعاتی را در مورد ویژگی های رابط IP نمایش می دهد.
  • Get-NetTCPSetting - اطلاعات مربوط به تنظیمات و پیکربندی TCP را نشان می دهد.
  • Test-Connection – cmdlet بسته های ICMP را به یک یا چند کامپیوتر ارسال می کند. " پینگ» کامپیوترها

کار با عناصر

Windows PowerShell دارای cmdlet هایی است که می توانند با عناصر کار کنند؛ عناصر در اینجا می توانند به عنوان فایل ها، پوشه ها، کلیدهای رجیستری و غیره درک شوند.

  • Clear-Item - محتویات یک عنصر را پاک می کند، اما خود عنصر را حذف نمی کند.
  • Copy-Item - یک عنصر را کپی می کند.
  • Get-Item - مورد را در مکان مشخص شده دریافت می کند.
  • Invoke-Item - یک عمل پیش فرض را روی آیتم مشخص شده انجام می دهد.
  • Move-Item - یک عنصر را حرکت می دهد.
  • New-Item - یک عنصر جدید ایجاد می کند.
  • Remove-Item - عناصر مشخص شده را حذف می کند.
  • Rename-Item - یک مورد را در فضای نام ارائه دهنده Windows PowerShell تغییر نام می دهد.
  • Set-Item - مورد را تغییر می دهد.
  • Get-ChildItem - عناصر و کودکان را در یک یا چند مکان مشخص برمی گرداند.
  • Get-Location - اطلاعات مربوط به مکان فعلی را نمایش می دهد.

Cmdlet برای کار با Active Directory (AD)

Windows PowerShell البته به شما اجازه می دهد تا با سرویس دایرکتوری Active Directory کار کنید. cmdlet های زیادی برای این منظور وجود دارد که در اینجا به برخی از آنها اشاره می کنیم:

  • New-ADUser – ایجاد یک کاربر جدید در Active Directory.
  • Get-ADUser - اطلاعاتی در مورد کاربران Active Directory نمایش می دهد.
  • Set-ADUser - کاربر Active Directory را تغییر می دهد.
  • Remove-ADUser - یک کاربر Active Directory را حذف می کند.
  • New-ADGroup – cmdlet یک گروه در Active Directory ایجاد می کند.
  • Get-ADGroup - اطلاعات گروه را نمایش می دهد یا جستجویی برای بازیابی چندین گروه از اکتیو دایرکتوری انجام می دهد.
  • Set-ADGroup – cmdlet گروهی را در Active Directory تغییر می دهد.
  • Remove-ADGroup—حذف یک گروه در Active Directory.
  • Add-ADGroupMember - cmdlet حساب های کاربری، رایانه یا گروه را به عنوان اعضای جدید گروه Active Directory اضافه می کند.
  • Get-ADGroupMember - اطلاعات مربوط به اعضای گروه Active Directory را نمایش می دهد.
  • Remove-ADGroupMember - عناصر را از گروه Active Directory حذف می کند.
  • Set-ADAccountPassword - بازنشانی رمز عبور حساباکتیو دایرکتوری؛
  • Disable-ADAccount - اکانت Active Directory را غیرفعال می کند.
  • Enable-ADAccount - اکانت Active Directory را فعال می کند.
  • Unlock-ADAccoun - یک حساب Active Directory را باز می کند.
  • New-ADComputer - ایجاد یک حساب رایانه جدید در Active Directory.
  • Get-ADComputer - اطلاعات یک یا چند کامپیوتر را در Active Directory نمایش می دهد.
  • Set-ADComputer - تغییر حساب رایانه در Active Directory.
  • Remove-ADComputer - یک کامپیوتر را از Active Directory حذف می کند.

کار با Hyper-V

cmdlet های زیادی برای کار با Hyper-V در Windows PowerShell وجود دارد، در اینجا یک لیست کوچک وجود دارد:

  • New-VM - ایجاد یک جدید ماشین مجازی;
  • Set-VM - راه اندازی یک ماشین مجازی.
  • Start-VM - راه اندازی یک ماشین مجازی.
  • Stop-VM - ماشین مجازی را ببندید، خاموش کنید یا ذخیره کنید.
  • Import-VM - وارد کردن ماشین مجازی از یک فایل.
  • Move-VM - انتقال ماشین مجازی به هاست جدید Hyper-V.
  • Remove-VM - حذف ماشین مجازی.
  • Rename-VM - تغییر نام ماشین مجازی.
  • New-VHD - ایجاد یک یا چند مجازی جدید دیسکهای سخت;
  • Set-VHD - راه اندازی یک مجازی هارد دیسک;
  • Test-VHD - هارد دیسک مجازی را برای شناسایی مشکلاتی که آن را غیرقابل استفاده می کند، آزمایش می کند.
  • Add-VMDvdDrive - اضافه می کند دیسک دی وی دیبه یک ماشین مجازی؛
  • Remove-VMDvdDrive - یک DVD را از یک ماشین مجازی حذف می کند.
  • Add-VMHardDiskDrive - اضافه می کند HDDبه یک ماشین مجازی؛
  • Remove-VMHardDiskDrive - یک یا چند دیسک سخت مجازی (VHD) را از یک ماشین مجازی حذف می کند.
  • Add-VMNetworkAdapter - یک آداپتور شبکه مجازی را روی ماشین مجازی اضافه می کند.
  • Remove-VMNetworkAdapter - یک یا چند مجازی را حذف می کند آداپتورهای شبکهاز یک ماشین مجازی؛
  • Copy-VMFile - کپی کردن فایل ها در ماشین مجازی.
  • Get-VMVideo - اطلاعات مربوط به تنظیمات ویدئو را برای ماشین های مجازی نمایش می دهد.
  • Move-VMStorage - جابجایی فضای ذخیره سازی ماشین مجازی.

کار با مشاغل پس زمینه

Windows PowerShell توانایی اجرای وظایف را در آن دارد زمینه، به طوری که بدون منتظر ماندن دستور برای تکمیل کار خود ( برای مواردی که تکمیل کار زمان زیادی می برد)، در جلسه جاری به کار خود ادامه دهید. برای کار با مشاغل پس زمینه PowerShell دارای cmdlet های زیر است:

  • Start-Job – شروع یک کار پس زمینه.
  • Stop-Job – توقف یک کار پس زمینه
  • Get-Job – مشاهده لیست وظایف پس زمینه.
  • Receive-Job – مشاهده نتیجه یک کار پس زمینه.
  • Remove-Job – حذف یک کار پس زمینه.
  • Wait-Job – یک کار پس زمینه را به پیش زمینه منتقل کنید تا منتظر بمانید تا تمام شود.

کار با اشیا

از آنجایی که PowerShell با اشیاء کار می کند، به شما اجازه می دهد تا اقدامات خاصی را روی آن اشیاء انجام دهید، به عنوان مثال:

  • Measure-Object – cmdlet به شما امکان می دهد بر اساس ویژگی های اشیاء، پارامترهای تجمع عددی مانند: حداقل، حداکثر، مقدار متوسط، مجموع و کمیت را محاسبه کنید. به عنوان مثال، شما می خواهید حداکثر یا متوسط ​​​​اندازه فایل را در یک فهرست خاص پیدا کنید، یا به سادگی تعداد فایل ها را بیابید ( در حال اجرا فرآیندها، خدمات و غیره);
  • Select-Object – با استفاده از این cmdlet می توانید اشیا یا خصوصیات خاصی از این اشیاء را انتخاب کنید، به عنوان مثال، می خواهید فقط نام فایل و اندازه آن را نمایش دهید.
  • Sort-Object - اشیاء را بر اساس مقادیر ویژگی مرتب می کند.
  • Where-Object – cmdlet برای تنظیم شرط برای انتخاب اشیا بر اساس مقادیر ویژگی های آنها.
  • Group-Object - اشیایی را گروه بندی می کند که دارای همان مقدار برای ویژگی های مشخص شده هستند.
  • ForEach-Object - روی اشیاء تکرار می شود تا عملیات خاصی را روی هر یک از این اشیاء انجام دهد.

cmdlet های PowerShell برای مدیریت از راه دور

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

  • Enter-PSSession - یک جلسه تعاملی را با یک کامپیوتر از راه دور شروع می کند.
  • Exit-PSSession - یک جلسه تعاملی با یک کامپیوتر از راه دور به پایان می رسد.
  • New-PSSession - یک اتصال دائمی به یک کامپیوتر محلی یا راه دور ایجاد می کند.
  • Remove-PSSession - یک یا چند جلسه Windows PowerShell را می بندد.
  • Disconnect-PSSession - از جلسه قطع می شود.
  • Connect-PSSession - به جلسات قطع شده متصل می شود.
  • Get-PSSession - جلسات Windows PowerShell را در رایانه های محلی و راه دور بازیابی می کند.
  • Invoke-Command - دستورات را در رایانه های محلی و راه دور اجرا می کند.

کار با خدمات و فرآیندها

البته PowerShell می تواند خدمات و فرآیندهای ویندوز را مدیریت کند؛ برای این کار cmdlet هایی مانند:

  • Get-Process - اطلاعات مربوط به فرآیندهای در حال اجرا در رایانه را نمایش می دهد.
  • Start-Process - یک یا چند فرآیند را در رایانه شروع می کند.
  • Stop-Process - یک یا چند فرآیند در حال اجرا را متوقف می کند.
  • Get-Service - اطلاعات مربوط به خدمات را نمایش می دهد.
  • Restart-Service - سرویس را مجدداً راه اندازی می کند.
  • Start-Service - سرویس را شروع می کند.
  • Stop-Service - سرویس را متوقف می کند.
  • Suspend-Service – سرویس را به حالت تعلیق در می آورد.
  • Set-Service — با استفاده از این cmdlet، می توانید ویژگی های یک سرویس مانند توضیحات، نام نمایشی و حالت راه اندازی را تغییر دهید. همچنین می توان از آن برای شروع، توقف یا توقف یک سرویس استفاده کرد.

با کامپیوتر کار کنید

Windows PowerShell به شما اجازه می دهد تا وظایف مدیریتی را انجام دهید سیستم عاملو کامپیوتر به عنوان یک کل، برای مثال، سیستم عامل را مجددا راه اندازی کنید یا نام کامپیوتر را تغییر دهید.

  • Restart-Computer – cmdlet سیستم عامل را مجدداً راه اندازی می کند ( کامپیوتر را مجددا راه اندازی می کند);
  • Stop-Computer - کامپیوتر را خاموش می کند.
  • Rename-Computer - نام کامپیوتر را تغییر می دهد.
  • Checkpoint-Computer - یک نقطه بازیابی سیستم را در رایانه محلی ایجاد می کند.
  • Restore-Computer - بازیابی سیستم را در رایانه محلی اجرا می کند.
  • Disable-ComputerRestore - عملکرد بازیابی سیستم را در درایو سیستم فایل مشخص شده غیرفعال می کند.
  • Enable-ComputerRestore - عملکرد بازیابی سیستم را در درایو سیستم فایل مشخص شده فعال می کند.
  • Remove-Computer - حذف می کند کامپیوتر محلیاز دامنه؛
  • Get-EventLog - اطلاعات مربوط به رویدادها را در گزارش رویداد یا لیستی از گزارش رویدادها در یک رایانه محلی یا راه دور نمایش می دهد.
  • Clear-EventLog - ورودی‌ها را از گزارش‌های رویداد مشخص شده حذف می‌کند.

کار با محتوا

برای مدیریت محتوا، به عنوان مثال، متن در یک فایل، cmdlet های خاصی در Windows PowerShell وجود دارد، مانند:

  • Get-Content - محتوای یک عنصر را دریافت می کند ( به عنوان مثال، یک فایل را می خواند);
  • افزودن محتوا - محتوا را به عناصر مشخص شده اضافه می کند، به عنوان مثال، متن به یک فایل.
  • Clear-Content - محتویات عنصر را حذف می کند، اما خود عنصر را حذف نمی کند.
  • Set-Content - محتوا را به عنصری با محتوای جدید می نویسد یا جایگزین می کند.

سایر cmdlet های Windows PowerShell

همچنین می‌خواهم cmdlet‌های Windows PowerShell زیر را که احتمالاً به آن‌ها نیاز دارید و مفید خواهند بود را برجسته کنم.

  • Get-ExecutionPolicy – ​​با استفاده از این cmdlet، می توانید خط مشی اجرای Windows PowerShell فعلی را برای جلسه فعلی پیدا کنید.
  • Set-ExecutionPolicy – ​​cmdlet خط مشی اجرای Windows PowerShell را تغییر می دهد.
  • Write-Host - اطلاعات را روی صفحه نمایش می دهد ( متن را می نویسد);
  • Read-Host - خط ورودی را از کنسول می خواند.
  • Write-Warning - یک پیام هشدار را نمایش می دهد.
  • Write-Error – cmdlet یک خطا را اعلام می کند و آن را در جریان خطا نمایش می دهد.
  • تاریخ دریافت - برمی‌گرداند تاریخ فعلیو زمان؛
  • Set-Date – cmdlet تاریخ و زمان سیستم را در رایانه تغییر می دهد.

بنابراین ما به cmdlet های Windows PowerShell مفید و پرکاربرد نگاه کردیم، امیدوارم این کتاب مرجع برای شما مفید باشد، موفق باشید!

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

PowerShell چیست؟

برای درک بهتر، ابتدا باید بفهمیم که پوسته چیست. در علوم کامپیوتر به پوسته گفته می شود رابط کاربری، که دسترسی به خدمات مختلف سیستم عامل را فراهم می کند. پوسته ممکن است مبتنی بر خط فرمان باشد یا ممکن است شامل یک رابط کاربری گرافیکی (GUI) باشد.

Windows PowerShell پوسته ای است که توسط مایکروسافت برای اهداف اتوماسیون وظایف و مدیریت پیکربندی توسعه یافته است. این پوسته قدرتمند مبتنی بر چارچوب دات نت است و شامل یک پوسته خط فرمان و یک زبان برنامه نویسی است.

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

اولین نسخه PowerShell در نوامبر 2006 برای ویندوز XP منتشر شد. ویندوز سرور 2003 و ویندوز ویستا. آخرین نسخه 4.0 است که در اکتبر 2013 منتشر شد. به طور پیش فرض با ویندوز 8.1 و ویندوز سرور 2012 R2 ارائه می شود.

با PowerShell چه کاری می توانید انجام دهید؟

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

قابلیت‌های PowerShell به شما این امکان را می‌دهد تا با ایجاد اسکریپت‌ها و ترکیب چند دستور با هم، کارهای وقت‌گیر و تکراری را ساده و خودکار کنید.

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

چگونه PowerShell را در ویندوز 8.1 اجرا کنیم؟

اگر کاشی PowerShell در صفحه شروع خود یا میانبر روی دسکتاپ خود ندارید، می توانید آن را با استفاده از جستجو باز کنید - این یکی از بهترین هاست. راه های ساده. +Q را فشار دهید، "powershell" را تایپ کنید و سپس Enter را فشار دهید.

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

برای باز کردن PowerShell با استفاده از محاوره Run، +R را فشار دهید، "powershell" را تایپ کنید و Enter را فشار دهید.

چگونه PowerShell را در ویندوز 7 اجرا کنیم؟

در ویندوز 7، می‌توانید با جستجوی «powershell» در منوی استارت، این ابزار را پیدا کنید.

همچنین می توانید PowerShell را از طریق منوی Start در بخش لوازم جانبی باز کنید.

بدیهی است که دستور بالا در پنجره Run در ویندوز 7 نیز کار می کند.

چه کسانی معمولا از PowerShell استفاده می کنند؟

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

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

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

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

روز خوبی داشته باشی!

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

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

Windows PowerShell همچنین مکانیزم جاسازی را فراهم می کند تا اجزای اجرایی PowerShell را بتوان در برنامه های دیگر جاسازی کرد. سپس این برنامه‌ها می‌توانند از عملکرد PowerShell برای اجرای عملیات‌های مختلف، از جمله عملیات‌هایی که از طریق رابط کاربری گرافیکی ارائه می‌شوند، استفاده کنند. این رویکرد در Microsoft Exchange Server 2007 برای پیاده سازی عملکردهای مدیریتی در قالب cmdlet های PowerShell و ابزارهای مدیریت گرافیکی در قالب پوسته های PowerShell که cmdlet های لازم را فراخوانی می کنند، استفاده شد. بنابراین، رابط مدیریت گرافیکی در بالای لایه میانی - PowerShell قرار می گیرد. دیگر برنامه های کاربردی مایکروسافتاز جمله مایکروسافت SQL Server 2008، System Center Operations Manager و System Center Data Protection Manager نیز دسترسی به رابط های مدیریتی خود را از طریق cmdlet های PowerShell فراهم می کنند. همه چیز در آینده برنامه های کاربردی سرورمایکروسافت در پلتفرم ویندوز از PowerShell به هر طریقی استفاده خواهد کرد.

Windows PowerShell شامل راهنمای توسعه‌پذیر خود است که از طریق cmdlet Get-Help قابل دسترسی (از جمله از خط فرمان) است.

زمینه

Cmdlets

سناریوها

PowerShell شامل یک زبان برنامه نویسی تایپ شده پویا است که می تواند برای اجرای عملیات پیچیده با استفاده از cmdlet ها استفاده شود. زبان برنامه نویسی از متغیرها، توابع، ساختارهای if-then-else، حلقه ها (while، do، for و foreach)، مدیریت خطای ساختاریافته و بسیاری از ویژگی های دیگر، از جمله یکپارچه سازی دات نت پشتیبانی می کند. متغیرها در PowerShell با پیشوند $ قبل از نام مشخص می شوند. هر مقداری از جمله خروجی cmdlet ها را می توان به آنها داد. اگرچه خود زبان به شدت تایپ نمی شود، متغیرها به همراه انواع خود که می توانند انواع پایه باشند، به صورت داخلی ذخیره می شوند. انواع ابتدایی) یا اشیاء. رشته‌ها را می‌توان در گیومه‌های تک یا دو گیومه قرار داد: هنگام استفاده نقل قول های دوگانهمتغیرهای موجود در رشته با مقادیر خود جایگزین خواهند شد. با توجه به نحو متغیر، اگر یک مسیر فایل در پرانتزهای فرفری قبل از علامت دلار (یعنی $(C:\foo.txt)) قرار گیرد، آنگاه پیوندی به محتویات فایل خواهد بود. هر چیزی که به چنین متغیری اختصاص داده می شود در فایل نوشته می شود و بالعکس - هنگام دسترسی به محتویات آن، محتوای فایل خروجی می شود.

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

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

  1. : تابعی را با دو آرگومان فراخوانی می کند.

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

  1. (, ): تابعی را با یک آرگومان فراخوانی می کند که آرایه ای از دو عنصر است.

PowerShell به شما این امکان را می دهد که هر متد دات نت را با قرار دادن فضای نام آن در براکت مربع () و سپس با استفاده از یک جفت دونقطه (::) برای تعیین متد استاتیک فراخوانی کنید. به عنوان مثال ::WriteLine ("PowerShell") . اشیاء با استفاده از cmdlet New-Object ایجاد می شوند و با استفاده از cmdlet Add-Member می توان ویژگی های جدیدی را به آنها اضافه کرد.

PowerShell مکانیزمی مبتنی بر دات نت برای مدیریت خطا ارائه می دهد. در صورت بروز خطا، اشیایی حاوی اطلاعات مربوط به خطا صادر می شود (شیء استثنا) که رهگیری می شود. کلمه کلیدیتله با این حال، رفتار خطا قابل تنظیم است. به عنوان مثال، می‌توانید PowerShell را پیکربندی کنید تا در صورت بروز خطا بدون دریافت خطا، اجرای بی‌صدا ادامه یابد. نسخه 2 PowerShell نیز ساختار Try Catch Fund را اضافه کرد.

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

PowerShell 2.0

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

لیست جزئی از ویژگی های جدید موجود در PowerShell 2.0:

  • PowerShell Remoting. با استفاده از WS-Management، PowerShell 2.0 به شما امکان فراخوانی اسکریپت ها و cmdlet ها را می دهد. ماشین های راه دور(از جمله در چندین به طور همزمان)، وضعیت اجرای آنها را ردیابی کنید و نتایج را در قالب اشیاء دریافت کنید (از طریق سریال سازی - deserialization). همچنین امکان راه اندازی جلسات و جلسات تعاملی با عملکرد محدود وجود دارد.
  • کار پس زمینه. امکان فراخوانی توالی دستورات به صورت ناهمزمان. کارها را می توان بر روی یک ماشین محلی یا روی چندین ماشین از راه دور اجرا کرد. Jobs نمی تواند از cmdlet های تعاملی استفاده کند.
  • معاملات. به توسعه دهندگان cmdlet و ارائه دهنده اجازه دهید تا عملیات تراکنشی را اجرا کنند. PowerShell 2.0 شامل cmdlet هایی برای شروع، انجام و بازگرداندن تراکنش ها و قابلیت هایی برای مدیریت و استفاده از تراکنش ها در cmdlet ها و ارائه دهندگان است.
  • توابع پیشرفته توانایی توسعه cmdlet های تمام عیار تنها با استفاده از خود PowerShell.
  • SteppablePipelines. به کاربر اجازه می دهد تا کنترل کند که آیا توابع BeginProcessing()، ProcessRecord() و EndProcessing() هنگام فراخوانی cmdlet فراخوانی شوند یا خیر.
  • ماژول ها به نویسندگان و مدیران اسکریپت اجازه دهید اسکریپت های PowerShell را سازماندهی کرده و آنها را در ماژول های مستقل بسته بندی کنند. کد از یک ماژول در زمینه مستقل خود اجرا می شود و بر محیط خارج از ماژول تأثیر نمی گذارد. با استفاده از یک اسکریپت، ماژول ها می توانند یک محیط محدود را اعلام کنند. ماژول ها می توانند شامل توابع و متغیرهای عمومی و خصوصی باشند.
  • زبان داده زیرمجموعه ای از PowerShell که به شما امکان می دهد تعاریف داده را از کد اسکریپت اجرایی جدا کنید و به شما امکان می دهد رشته های محلی شده را در زمان اجرا به اسکریپت خود وارد کنید.
  • اشکال زدایی اسکریپت ها امکان تعیین نقاط شکست نقاط شکست) در اسکریپت یا توابع PowerShell. نقاط شکست را می توان بر روی ردیف ها، ستون ها، دستورات، یا خواندن و/یا نوشتن متغیرها تنظیم کرد. cmdlet هایی برای تنظیم و نظارت بر نقاط شکست در اسکریپت ها وجود دارد.
  • رویداد. این قابلیت به شما این امکان را می دهد که به هنگام رخ دادن رویدادهای مدیریت یا سیستم، گوش دهید، تغییر مسیر دهید و اقدام کنید. از طریق رویداد، میزبان های PowerShell می توانند از تغییرات وضعیت در اشیاء مدیریت شده مطلع شوند. همچنین به اسکریپت ها اجازه می دهد تا در ObjectEvents، PSEvents و WmiEvents مشترک شوند و آنها را به صورت همزمان و ناهمزمان پردازش کنند.
  • Windows PowerShell یکپارچه اسکریپت محیطی (ISE). PowerShell 2.0 شامل یک پوسته گرافیکی برای زبان است که شامل یک دیباگر داخلی، برجسته سازی نحو و تکمیل خودکار فرمان است. این پوسته به شما امکان می دهد چندین کنسول پاورشل مستقل را با پشتیبانی کامل از یونیکد در یک رابط زبانه دار اجرا کنید. به لطف پشتیبانی از اجرای از راه دور، برخی از کنسول ها را می توان بر روی رایانه های دیگر نیز اجرا کرد. علاوه بر این، ISE به شما امکان می دهد فقط بخش های انتخابی اسکریپت ها را اجرا کنید، حاوی یک ویرایشگر داخلی است و به شما امکان می دهد رابط آن را با استفاده از PowerShell گسترش و غنی کنید.
  • BITS Transfer - پشتیبانی داخلی برای انتقال فایل از طریق شبکه با اولویت بندی، چند رشته ای، از سرگیری و عملیات ناهمزمان بر اساس فناوری Background Intelligent Transfer Service.
  • بسیاری از cmdlet های جدید، از جمله، به عنوان مثال، Out-GridView، که به شما امکان می دهد نتایج خط لوله را در یک جدول گرافیکی (بر اساس WPF) با قابلیت مرتب سازی و جستجوی فوری نمایش دهید.
  • اپراتورهای جدید -Split، -عملگر Join و جایگزینی (@).
  • رسیدگی به خطا با Try-Catch-Finally. برخلاف سایر زبان‌های دات‌نت، PowerShell به شما اجازه می‌دهد چندین نوع استثنا را برای یک بلوک catch مشخص کنید.
  • مسدود کردن نظرات PowerShell 2.0 از نظرات بلوک (علاوه بر نظرات خط # موجود) با استفاده از پشتیبانی می کند<# и #>به عنوان محدود کننده
  • API های جدید اضافه شد امکانات مختلف، از کنترل بیشتر بر تجزیه کننده PowerShell گرفته تا توانایی ایجاد جلسات محدود. فضای اجرا محدود) که در آن شما فقط می توانید مجموعه محدودی از دستورالعمل ها و دستورات PowerShell را اجرا کنید.

مقایسه cmdlet ها با دستورات مشابه

جدول زیر شامل نمونه‌ای از cmdlet‌های همراه با PowerShell است که مشابه‌ترین دستورات را از سایر پوسته‌های خط فرمان معروف برجسته می‌کند.

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

Windows PowerShell
(Cmdlet)
Windows PowerShell
(نام مستعار)
cmd.exe/COMMAND.COM
(MS-DOS، Windows، OS/2، و غیره)
ضربه شدید
(یونیکس، بی اس دی، لینوکس، مک او اس ایکس و غیره)
شرح
دریافت-محل gl، pwd pwd دایرکتوری کاری فعلی را نمایش می دهد
تنظیم مکان sl, cd, chdir ، chdir دایرکتوری فعلی را تغییر می دهد
پاک کردن میزبان cls، روشن cls روشن صفحه را پاک می کند
کپی مورد cpi، کپی، cp کپی 🀄 یک یا چند فایل یا درخت دایرکتوری را کپی می کند (PowerShell همچنین می تواند اشیاء را از سایر ارائه دهندگان داده کپی کند)
کمک بگیر کمک کن مرد کمک مرد فرمان راهنما
حذف - آیتم ری، دل، پاک کردن، rmdir، rd، rm دل، پاک کردن، rmdir، rmdir یک فایل/دایرکتوری (یا موارد دیگر در ارائه دهندگان داده PowerShell) را حذف می کند.
تغییر نام مورد rni، رن رن، تغییر نام یک فایل/دایرکتوری را تغییر نام می دهد
انتقال آیتم mi, move, mv حرکت یک فایل/دایرکتوری را به مکان جدید منتقل می کند
Get-ChildItem gci، dir، ls کارگردان تمام فایل‌ها/دایرکتوری‌ها را در فهرست فعلی فهرست می‌کند
نوشتن-خروجی اکو، بنویس اکو اکو رشته ها، متغیرها را در خروجی استاندارد چاپ می کند
Pop-Location popd popd popd دایرکتوری فعلی را به فهرستی که آخرین بار در پشته فشار داده شده است تغییر می دهد
موقعیت مکانی فشار رانده شد رانده شد رانده شد دایرکتوری فعلی را روی پشته فشار می دهد
Set-Variable sv، مجموعه تنظیم تنظیم تنظیم مقدار متغیر/ایجاد متغیر
دریافت محتوا gc، نوع، گربه نوع گربه محتویات یک فایل را دریافت می کند
انتخاب رشته پیدا کردن، findstr grep خطوطی را نشان می دهد که با یک شرط مطابقت دارند
دریافت-فرایند جی پی اس، ps tlist، لیست وظایف تمام فرآیندهای در حال اجرا را فهرست می کند
Stop-Process spps، بکش کشتن، تکلیف کشتن یک فرآیند در حال اجرا را متوقف می کند
سه شی سه راهی n/a سه راهی داده های ورودی را به یک فایل یا متغیر منتقل می کند، سپس آن را در خط لوله ارسال می کند

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

  • PowerShell ISE

یادداشت

ادبیات

  • Popov A.V.مقدمه ای بر Windows 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) برای Windows XP، Windows Server 2003، Windows Vista، Windows Server 2008
  • وبلاگ "PowerShell و سایر اسکریپت ها" (روسی)
  • (روسی)
  • "وبلاگ در مورد Powershell و موارد دیگر" (روسی)
  • کتاب روسی رایگان در مورد PowerShell (روسی)
  • دومین کتاب رایگان انگلیسی در مورد PowerShell (انگلیسی)
  • وب سایت Windows PowerShell
  • کاپیتان پاورشل و مدیریت آینده (روسی)