همه ابزارها
رایگان

مرجع PowerShell قابل جست‌وجو و چاپ — cmdletها، پایپ‌لاین، متغیرها، فایل‌ها، حلقه‌ها، توابع، اشیا و مدیریت. رایگان.

گرفتن راهنما و کشف

12
Get-Help Get-Process
نمایش راهنمای یک cmdlet
Get-Help Get-Process -Examples
نمایش نمونه‌های کاربرد یک cmdlet
Get-Help Get-Process -Full
نمایش راهنمای کامل شامل پارامترها
Get-Help about_Functions
خواندن یک موضوع مفهومی about_
Update-Help
دانلود آخرین فایل‌های راهنما
Get-Command -Noun Process
فهرست cmdletهای عمل‌کننده روی یک noun
Get-Command -Verb Get
فهرست cmdletهای استفاده‌کننده از یک verb
Get-Command *service*
جست‌وجوی فرمان‌ها با نام wildcard
Get-Process | Get-Member
فهرست ویژگی‌ها و متدهای اشیا
Get-Alias ls
نمایش فرمانی که یک alias به آن می‌رسد
Get-Alias -Definition Get-ChildItem
فهرست همه aliasهای یک cmdlet
$PSVersionTable
نمایش نسخه و edition پاورشل

متغیرها و انواع

13
$x = 5
تخصیص یک مقدار به یک متغیر
[int]$n = '42'
اعلام یک متغیر قویاً نوع‌دار
$null
مقدار null / خالی
$true; $false
literalهای بولی
$arr = @(1, 2, 3)
ساخت یک آرایه
$arr += 4
افزودن یک عنصر به آرایه
$arr[0]; $arr[-1]
اندیس‌دهی اولین و آخرین عناصر آرایه
$hash = @{ Name = 'Ann'; Age = 30 }
ساخت یک hashtable
$hash['Name']; $hash.Name
خواندن مقدار hashtable با کلید
$env:PATH
خواندن یک متغیر محیطی
$env:MY_VAR = 'value'
تنظیم یک متغیر محیطی برای نشست
Get-Variable
فهرست همه متغیرهای تعریف‌شده
[math]::Round(3.14159, 2)
فراخوانی یک متد ایستای .NET

pipeline و فیلترکردن

12
Get-Process | Where-Object { $_.CPU -gt 10 }
فیلتر اشیا با یک شرط
Get-Process | ? CPU -gt 10
فیلتر با alias ? و نحو ساده‌شده
Get-Process | ForEach-Object { $_.Name }
اجرای یک بلوک اسکریپت برای هر شیء
Get-Process | % { $_.Kill() }
پیمایش با alias %
Get-Process | Select-Object Name, Id
نگه‌داشتن تنها ویژگی‌های مشخص
Get-Process | Select-Object -First 5
گرفتن N شیء اول
Get-Process | Sort-Object CPU -Descending
مرتب‌سازی اشیا بر اساس یک ویژگی
Get-Process | Group-Object Company
گروه‌بندی اشیا بر اساس یک ویژگی
Get-Process | Measure-Object CPU -Sum
تجمیع مقادیر عددی (sum، average)
Get-ChildItem | Select-Object -Unique
بازگرداندن اشیای متمایز
1..5 | ForEach-Object { $_ * 2 }
pipe یک بازه از طریق یک transform
Get-Process | Out-GridView
ارسال نتایج به یک grid تعاملی

فایل‌ها و مسیرها

13
Get-ChildItem -Path C:\Logs
فهرست اقلام یک دایرکتوری (alias ls/dir)
Get-ChildItem -Recurse -Filter *.log
فهرست فایل‌های تطبیق‌یافته به‌صورت بازگشتی
Get-Content .\file.txt
خواندن فایل خط‌به‌خط
Get-Content .\file.txt -Tail 20
خواندن N خط آخر یک فایل
Set-Content .\file.txt -Value 'Hi'
نوشتن (بازنویسی) متن در یک فایل
Add-Content .\file.txt -Value 'Hi'
افزودن متن به یک فایل
Copy-Item a.txt b.txt
کپی یک فایل یا دایرکتوری
Move-Item a.txt .\dir\
جابه‌جایی یا تغییرنام یک قلم
Remove-Item a.txt -Force
حذف یک فایل یا دایرکتوری
New-Item -ItemType Directory -Path .\dir
ساخت یک فایل یا دایرکتوری جدید
Test-Path .\file.txt
بررسی وجود یک مسیر
Get-Location
نمایش دایرکتوری جاری (alias pwd)
Set-Location C:\Temp
تغییر دایرکتوری جاری (alias cd)

رشته‌ها و متن

12
'Hello World' -match 'World'
آزمودن یک رشته در برابر یک regex
'Hello' -replace 'l', 'L'
جای‌گزینی متن با یک regex
'a,b,c' -split ','
تقسیم رشته به آرایه با regex
'a-b-c'.Split('-')
تقسیم با متد String در .NET
'a', 'b' -join ', '
پیوند عناصر آرایه در یک رشته
Select-String -Path *.log -Pattern 'error'
جست‌وجوی سبک grep در میان فایل‌ها
'{0} of {1}' -f 3, 10
قالب‌بندی یک رشته با placeholderها
' hi '.Trim()
حذف فاصله‌خالی ابتدایی و انتهایی
'Hello'.ToUpper()
تبدیل یک رشته به حروف بزرگ
'Hello'.Substring(0, 3)
استخراج زیررشته با اندیس و طول
'Hello'.Contains('ell')
آزمودن وجود متن در یک رشته
'Hello'.Length
گرفتن تعداد نویسه‌ها

حلقه‌ها و شرط‌ها

12
if ($x -gt 0) { 'pos' } elseif ($x -eq 0) { 'zero' } else { 'neg' }
انشعاب با if / elseif / else
switch ($x) { 1 { 'one' } default { 'other' } }
تطبیق یک مقدار با caseها
foreach ($i in $arr) { $i }
پیمایش روی یک مجموعه
for ($i = 0; $i -lt 5; $i++) { $i }
حلقه شمارشی با یک اندیس
while ($x -lt 10) { $x++ }
حلقه تا درست‌بودن یک شرط
do { $x++ } while ($x -lt 10)
حلقه حداقل یک‌بار، سپس آزمون
$x -eq 5; $x -ne 5
مقایسه‌های برابر و نابرابر
$x -gt 5; $x -lt 5
مقایسه‌های بزرگ‌تر و کوچک‌تر
$x -ge 5; $x -le 5
مقایسه‌های بزرگ‌تر/کوچک‌تر یا مساوی
'abc' -like 'a*'
مقایسه تطبیق wildcard
@(1, 2, 3) -contains 2
آزمودن عضویت در آرایه
break; continue
خروج یا رد تکرار جاری حلقه

توابع و اسکریپت‌ها

12
function Get-Sum { param($a, $b) $a + $b }
تعریف یک تابع با پارامترها
Get-Sum -a 2 -b 3
فراخوانی تابع با آرگومان‌های نام‌دار
function Test { param([int]$n = 1) }
پارامتر نوع‌دار با مقدار پیش‌فرض
param([Parameter(Mandatory)]$Name)
الزامی‌کردن ارائه یک پارامتر
return $value
بازگرداندن یک مقدار از یک تابع
function F { [CmdletBinding()] param() }
ساخت یک تابع پیشرفته (پارامترهای رایج)
Write-Verbose 'msg' -Verbose
تولید یک جریان پیام verbose
Write-Output $result
ارسال یک شیء به pipeline
Write-Error 'failed'
نوشتن در جریان خطا
.\script.ps1 -Arg value
اجرای یک فایل اسکریپت با آرگومان‌ها
. .\functions.ps1
dot-source یک اسکریپت در نشست
try { } catch { $_ } finally { }
مدیریت خطاهای پایان‌دهنده

اشیا و ویژگی‌ها

12
Get-Process | Select-Object -ExpandProperty Name
بازگرداندن مقادیر خام ویژگی، نه اشیا
(Get-Process).Name
دسترسی به یک ویژگی روی هر شیء
Get-Process | Select-Object Name, @{ Name = 'MB'; Expression = { $_.WS / 1MB } }
افزودن یک ویژگی محاسبه‌شده
[PSCustomObject]@{ Name = 'Ann'; Age = 30 }
ساخت یک شیء سفارشی
$obj | Add-Member -NotePropertyName Tag -NotePropertyValue 'x'
افزودن یک ویژگی به یک شیء
$obj.PSObject.Properties.Name
فهرست نام ویژگی‌های یک شیء
$obj | Format-Table -AutoSize
نمایش اشیا به‌صورت جدول هم‌تراز
$obj | Format-List *
نمایش همه ویژگی‌ها به‌صورت لیست
$obj | ConvertTo-Json -Depth 5
سریال‌سازی یک شیء به JSON
Get-Content data.json | ConvertFrom-Json
تجزیه JSON به اشیا
$obj | Export-Csv out.csv -NoTypeInformation
صدور اشیا به یک فایل CSV
Import-Csv data.csv
خواندن یک فایل CSV به اشیا

فرایندها و سرویس‌ها

12
Get-Process
فهرست فرایندهای در حال اجرا (alias ps)
Get-Process -Name chrome
گرفتن فرایندها بر اساس نام
Stop-Process -Name notepad -Force
خاتمه یک فرایند
Start-Process notepad.exe
اجرای یک فرایند جدید
Get-Service
فهرست سرویس‌های Windows
Get-Service -Name wuauserv
گرفتن یک سرویس بر اساس نام
Start-Service -Name wuauserv
شروع یک سرویس متوقف‌شده
Stop-Service -Name wuauserv
توقف یک سرویس در حال اجرا
Restart-Service -Name wuauserv
راه‌اندازی مجدد یک سرویس
Set-Service -Name wuauserv -StartupType Manual
تغییر حالت شروع یک سرویس
Get-EventLog -LogName System -Newest 20
خواندن ورودی‌های اخیر event-log کلاسیک
Get-WinEvent -LogName Application -MaxEvents 20
پرس‌وجوی event logهای مدرن

remoting و jobها

12
Enter-PSSession -ComputerName Srv01
شروع یک نشست راه‌دور تعاملی
Exit-PSSession
ترک یک نشست راه‌دور تعاملی
Invoke-Command -ComputerName Srv01 -ScriptBlock { Get-Service }
اجرای یک فرمان روی یک هاست راه‌دور
$s = New-PSSession -ComputerName Srv01
ساخت یک نشست راه‌دور ماندگار
Invoke-Command -Session $s -ScriptBlock { hostname }
استفاده‌مجدد از یک نشست راه‌دور موجود
Remove-PSSession $s
بستن و حذف یک نشست راه‌دور
Start-Job -ScriptBlock { Get-Process }
اجرای یک فرمان به‌عنوان job پس‌زمینه
Get-Job
فهرست jobهای پس‌زمینه و وضعیتشان
Receive-Job -Id 1 -Keep
بازیابی خروجی یک job
Wait-Job -Id 1
مسدودسازی تا تکمیل یک job
Stop-Job -Id 1; Remove-Job -Id 1
توقف و حذف یک job پس‌زمینه
Get-Process | Start-ThreadJob { $input }
اجرای thread jobهای سبک درون‌فرایند

ماژول‌ها و بسته‌ها

12
Get-Module
فهرست ماژول‌های اکنون بارگذاری‌شده
Get-Module -ListAvailable
فهرست همه ماژول‌های نصب‌شده
Import-Module Pester
بارگذاری یک ماژول در نشست
Remove-Module Pester
تخلیه یک ماژول از نشست
Find-Module -Name PSReadLine
جست‌وجوی gallery برای یک ماژول
Install-Module PSReadLine -Scope CurrentUser
نصب یک ماژول از gallery
Update-Module PSReadLine
به‌روزرسانی یک ماژول نصب‌شده
Uninstall-Module PSReadLine
حذف یک ماژول نصب‌شده
Get-ExecutionPolicy
نمایش سیاست اجرای اسکریپت جاری
Set-ExecutionPolicy RemoteSigned -Scope CurrentUser
اجازه اجرای اسکریپت‌های امضاشده و محلی
Get-PSRepository
فهرست مخازن بسته تنظیم‌شده
$PROFILE
مسیر اسکریپت profile کاربر جاری

هیچ موردی با «:q» مطابقت ندارد.


اشتراک‌گذاری
به کمک نیاز دارید؟
با این ابزار مشکلی پیدا کردید؟ به تیم ما اطلاع دهید.
گزارش مشکل

این ابزار رایگان را به وب‌سایت خود اضافه کنید — کد زیر را کپی و جای‌گذاری کنید.