فهرست دستورات PowerShell

فهرست دستورات PowerShell
پاورشل ویندوز دارای دستورات فراوانی میباشد که معمولا دستورات آن در دو نسخه کامل و مختصر هستند. همانطور که در پست آموزش PowerShell گفتم دستورات مستعار PowerShell همنام و همکار دستورات لینوکس میباشند. مثلا دستور PS برای فهرست گیری از Process های فعال لینوکس استفاده میشود که در پاورشل ویندوز هم همین کاربرد را دارد. یا دستور Kill که برای متوقف نمودن Process های فعال لینوکس است. در این آموزش قصد دارم فهرست دستورات PowerShell ویندوز را به همراه نسخه کامل و نسخه مختصر این دستورات معرفی کنم.
دستور مستعار (Aliases) | دستور کامل (cmdlet) | توضیحات دستور |
% | ForEach-Object | انجام یک عملکرد برای هر ایتمی که در ورودی Object بود |
? | Where-Object | انتخاب Object ها مبنی بر مقدار آنها |
ac | Add-Content | اضافه کردن داده یا متن به فایل |
asnp | Add-PSSnapIn | اضافه نمودن یک یا بیشتر Snap-in PowerShell به Session فعلی |
cat | Get-Content | دریافت محتوای یک فایل |
cd | Set-Location | مشخص کردن آدرس یا مکان فعلی عملکرد برنامه |
chdir | Set-Location | مشخص کردن آدرس یا مکان فعلی عملکرد برنامه |
clc | Clear-Content | حذف کردن محتوای یک فایل نه خود فایل |
clear | Clear-Host | خالی کردن یا پاک نمودن صفحه |
clhy | Clear-History | خالی کردن ورودی های از History دستورات |
cli | Clear-Item | حذف کردن محتوای یک فایل نه خود فایل |
clp | Clear-ItemProperty | حذف کردن مقدار های Property نه خود Property |
cls | Clear-Host | خالی کردن یا پاک نمودن صفحه |
clv | Clear-Variable | حذف کردن مقدار Variable ها |
cnsn | Connect-PSSession | اتصال دوباره به ارتباط قطع شده |
compare | Compare-Object | مقایسه دو مجموعه از Object |
copy | Copy-Item | کپی گرفتن از یک آیتم و انتقال آن به یک مسیر دیگر |
cp | Copy-Item | کپی گرفتن از یک آیتم و انتقال آن به یک مسیر دیگر |
cpi | Copy-Item | کپی گرفتن از یک آیتم و انتقال آن به یک مسیر دیگر |
cpp | Copy-ItemProperty | کپی گرفتن ویژگی و مقدار از یک مکان مشخص به یک مکان دیگر |
curl | Invoke-WebRequest | دریافت محتوای یک صفحه وب از اینترنت |
cvpa | Convert-Path | تبدیل مسیر پاورشل به مسیر ارائه کننده PowerShell |
dbp | Disable-PSBreakpoint | غیر فعال سازی Breakpoint در کنسول فعلی |
del | Remove-Item | حذف فایلها و پوشه ها |
diff | Compare-Object | مقایسه دو مجموعه از Object |
dir | Get-ChildItem | دریافت فایلها و پوشه ها از یک درایو سیستم |
dnsn | Disconnect-PSSession | قطع کردن ارتباط Session |
ebp | Enable-PSBreakpoint | فعال سازی BreakPoint در کنسول فعلی |
echo | Write-Output | ارسال Object مشخص شده به دستور بعدی در Pipeline در صورتی که دستور آخرین دستور در Pipeline باشد. Object در کنسول نمایش داده میشود. |
epal | Export-Alias | استخراج اطلاعات در مورد aliases های مشخص شده فعلی. |
epcsv | Export-Csv | تبدیل Object ها به سری های رشته ای Comma-separated و ذخیره این رشته ها در فایل CSV |
epsn | Export-PSSession | وارد کردن دستورات از یک Session دیگر و ذخیره آنها در ماژول PowerShell |
erase | Remove-Item | حذف فایلها و پوشه ها |
etsn | Enter-PSSession | آغاز یک نشست انفعالی با سیستم های راه دور (Remote) |
exsn | Exit-PSSession | پایان دادن به نشست انفعالی با کامپیوتر که به آن متصل شده |
fc | Format-Custom | استفاده از نمایش شخصی سازی شده برای قالب خارجی |
fl | Format-List | قالب بندی خروجی به عنوان یک فهرست ویژگیها که هر ویژگی در یک خط جدید ظاهر میشود. |
foreach | ForEach-Object | انجام یک عملکرد برای هر ایتمی که در ورودی Object بود |
ft | Format-Table | قالبندی خروجی به جدول |
fw | Format-Wide | قالب بندی Object ها به عنوان یک جدول عریض که فقط یک ویژگی از Object ها نمایش داده شود. |
gal | Get-Alias | دریافت aliases ها برای Session فعلی |
gbp | Get-PSBreakpoint | دریافت Breakpoint های که برای Session فعلی تنظیم شده اند |
gc | Get-Content | دریافت محتوای یک فایل |
gci | Get-ChildItem | دریافت فایلها و پوشه ها در درایو های سیستم |
gcm | Get-Command | دریافت کلیه دستورات |
gcs | Get-PSCallStack | نمایش Call Stack های فعلی |
gdr | Get-PSDrive | دریافت درایو ها در Session فعلی |
ghy | Get-History | دریافت دستوراتی که در Session فعلی وارد شده اند. |
gi | Get-Item | دریافت فایلها و پوشه ها |
gjb | Get-Job | دریافت کارهای فعلی که در پشت صفحه توسط PowerShell در حال اجرا میباشند. |
gl | Get-Location | دریافت اطلاعات در مورد مکان فعلی عملکرد یا یک مکان دیگر |
gm | Get-Member | دریافت خصوصیات و روشهای Object |
gmo | Get-Module | دریافت ماژول های که وارد شده اند یا ماژولهای که میتوانستند به Session فعلی وارد شوند |
gp | Get-ItemProperty | دریافت خصوصیات آیتم مشخص شده |
gps | Get-Process | دریافت Process های فعال در کامپیوتر محلی یا کامپیوتر از راه دور (Remote) |
group | Group-Object | Object های گروه ها دارای مقدارهای مساوی هستند که در ویژگیها مشخص شده |
gsn | Get-PSSession | دریافت Session های PowerShell در کامپیوتر محلی ور راه دور |
gsnp | Get-PSSnapIn | دریافت Snap in PowerShell ها روی کامپیوتر |
gsv | Get-Service | دریافت سرویس ها روی کامپیوتر محلی و راه دور |
gu | Get-Unique | بازگشت آیتم های منحصر بفرد از فهرست طبقه بندی شده |
gv | Get-Variable | دریافت Variable های کنسول فعلی |
gwmi | Get-WmiObject | دریافت نمونه های کلاسها یا اطلاعات در دسترس مربوط به کلاسهای WMI |
h | Get-History | دریافت دستوراتی که در Session فعلی وارد شده اند. |
history | Get-History | دریافت دستوراتی که در Session فعلی وارد شده اند. |
icm | Invoke-Command | اجرای دستورات رو کامپیوتر محلی و کامپیوتر راه دور (Remote) |
iex | Invoke-Expression | اجرای دستورات یا اصطلاحات روی کامپیوتر محلی |
ihy | Invoke-History | اجرای دستورات از Session های تاریخچه (History) |
ii | Invoke-Item | انجام عمل پیشفرض روی آیتم مشخص شده |
ipal | Import-Alias | وارد نمودن یک فهرست Alias از یک فایل |
ipcsv | Import-Csv | ساخت یک جدول شبیه Object های شخصی سازی شده از فایل CSV |
ipmo | Import-Module | اضافه نمودن ماژول ها به Session فعلی |
ipsn | Import-PSSession | وارد کردن دستوران از Session های دیگر به Session فعلی |
irm | Invoke-RestMethod | ارسال درخواست HTTP یا HTTPS به یک وب سرویس RestFul |
ise | powershell_ise.exe | توضیح درباره نحوه استفاده از PowerShell_ISE |
iwmi | Invoke-WMIMethod | فراخوانی روشهای WMI |
iwr | Invoke-WebRequest | دریافت محتوای یک صفحه Web از اینترنت |
kill | Stop-Process | متوقف سازی Process های فعال |
lp | Out-Printer | ارسال خروجی به پرینتر |
ls | Get-ChildItem | دریافت فایلها و پوشه ها در یک درایو سیستم |
man | help | نمایش اطلاعات در باره دستوارت PowerShell و محتوای آنها |
md | mkdir | ساخت یک آیتم جدید |
measure | Measure-Object | محاسبه ویژگی عددی یک Object و کاراکتر ها – کلمات و خطوط در رشته Object از قبیل فایلهای یک متن |
mi | Move-Item | انتقال یک آیتم از یک مسیر به مسیر دیگر |
mount | New-PSDrive | ساخت درایو Map شده شبکه به صورت دائمی و موقتی |
move | Move-Item | انتقال یک آیتم از یک مکان به مکان دیگر |
mp | Move-ItemProperty | انتقال ویژگی از یک مکان به مکان دیگر |
mv | Move-Item | انتقال یک آیتم از یک مکان به مکان دیگر |
nal | New-Alias | ساخت یک Alias تازه |
ndr | New-PSDrive | ساخت درایو Map شده شبکه به صورت دائمی و موقتی |
ni | New-Item | ساخت یک آیتم جدید |
nmo | New-Module | ساخت یک ماژول Dynamic جدید که فقط در RAM وجود دارد |
npssc | New-PSSessionConfigurationFile | ساخت یک فایل که مشخص میکند پیکربندی Session را |
nsn | New-PSSession | ساخت یک ارتباط دائمی به کامپیوتر محلی یا راه دور |
nv | New-Variable | ساخت یک Variable جدید |
ogv | Out-GridView | ارسال خروجی به یک جدول انفعالی در یک پنجره مجزا |
oh | Out-Host | ارسال خروجی به خط فرمان |
popd | Pop-Location | تغییر مکان فعلی به مکانی که اخیرا بیشترین فشار روی پشت آن بوده. شما میتوانید pop کنید مکان را از پشته پیشفرض به بخشی که خود آنرا ساخته اید. |
ps | Get-Process | دریافت Process ها در کامپیوتر محلی و راه دور |
pushd | Push-Location | اضافه کردن مکان فعلی به بالای مکان پشته |
pwd | Get-Location | دریافت اطلاعات در مورد مکان فعلی عملکرد یا یک مکان دیگر |
r | Invoke-History | اجرای دستورات از تاریخچه Session |
rbp | Remove-PSBreakpoint | حذف Breakpoint از کنسول فعلی |
rcjb | Receive-Job | گرفتن نتایج کراهای پشت صفحه PowerShell در Session فعلی |
rcsn | Receive-PSSession | دریافت نتایج یک دستور در ارتباط قطع شده |
rd | Remove-Item | حذف فایلها و پوشه ها |
rdr | Remove-PSDrive | حذف درایوهای موقت PowerShell و قطع ارتباط کردن با درایو های شبکه |
ren | Rename-Item | تغییر نام یک آیتم در ارائه کننده فضای نام PowerShell |
ri | Remove-Item | حذف فایلها و پوشه ها |
rjb | Remove-Job | حذف یک کار پشت صفحه PowerShell |
rm | Remove-Item | حذف فایلها و پوشه ها |
rmdir | Remove-Item | حذف فایلها و پوشه ها |
rmo | Remove-Module | حذف ماژول از Session فعلی |
rni | Rename-Item | تغییر نام یک آیتم در ارائه کننده فضای نام PowerShell ویندوز |
rnp | Rename-ItemProperty | تغییر نام یک ویژگی در آیتم |
rp | Remove-ItemProperty | حذف ویژگی و مقدار از یک آیتم |
rsn | Remove-PSSession | بستن یک یا چند Session در PowerShell |
rsnp | Remove-PSSnapin | حذف Snap in PowerShell از Session فعلی |
rujb | Resume-Job | اجرای دوباره یک کار معلق |
rv | Remove-Variable | حذف یک Variable و مقدار |
rvpa | Resolve-Path | برطرف سازی کاراکترهای Wildcard در یک مسیر و نمایش محتوای مسیر |
rwmi | Remove-WMIObject | حذف کردن یک نمونه از کلاسهای موجود WMI |
sajb | Start-Job | اجرای یک کار پشت صفحه PowerShell ویندوز |
sal | Set-Alias | ساخت یا تغییر یک alias (نام دومی) برای cmdlet یا عنصر دستور دیگر در Session فعلی PowerShell |
saps | Start-Process | اجرای یک یا چند Process روی کامپیوتر محلی |
sasv | Start-Service | اجرای یک یا چند سرویس متوقف شده |
sbp | Set-PSBreakpoint | تنظیم Breakpoint روی Line و دستور و Variable |
sc | Set-Content | جایگزین نمودن محتوای یک فایل با محتوایی که شما مشخص میکنید. |
select | Select-Object | انتخاب یک Object یا ویژگیهای Object |
set | Set-Variable | مشخص کردن مقدار یک Variable یا ساخت Variable در صورت عدم وجود نام انتخابی |
shcm | Show-Command | ساخت دستوارت PowerShell در پنجره دستور گرافیکی |
si | Set-Item | تغییر مقدار یک آیتم به Valu |
در صورت داشتن هرگونه سوال یا انتقاد نووا بلاگ را از محبت خود محروم نکنید.
22 پاسخ به “فهرست دستورات PowerShell”
آقا سلام خسته نباشی واقعا دستتم درد نکنه بابت این پست فقط یه سوال اونم اینه که پسوند power Shell داریم یا نه مثلا با Cmd داریم Cmd.
ممنونم 🙂
سلام و سلامت باشید
برای اسکریپت نویسی پاورشل باید از پسوند مربوط به خودش استفاده کنید که .ps1 است.
سلام داداچ وقتت بخیر . امکان هک با power shell هست؟
سلام علی جان
وقت شما هم بخیر، Powershell یکی از ابزار های قدرتمند در زمینه مدیریت سیستم عامل ویندوز، بله میتونه توسط هکر ها برای هک سیستم عامل مورد استفاده قرار بگیره اما به خودی خود نمیتونه یک ابزار کامل جهت هک باشه.
اگر واقعا به امنیت اطلاعات و هک علاقه مند هستید باید Network+ و بعد از اون Security+ رو یاد بگیرید. بعد از این دو دوره یا کتاب وارد دنیایی امنیت میشید و به تئوری های مورد نیاز جهت هک واقف میشید. همچنین میتونید به عنوان مدیر امنیت در شرکت های که به علم مدارک مذکور نیاز داشتند کار کنید.
البته دو کتاب بالا فقط شروع راه امنیت و هک هست، برای هکر شدن حداقل 3 تا 5 سال وقت لازم دارید.
سلام داداش حالا که اطلاعاتت زیاده اجازه بده چنتا سوال بپرسم
اصلا نمیخوام برم سمت لینوکس چون از اول ویندوز استفاده کردم .
فقط با ویندوز میشه هک کرد که برم دنبالش؟مثلا با همین شل یا برنامه نویسی یا ابزار های دیگه؟
نتوورک+ همون شبکه هس دیگه همین طوره؟
بعد از این که اینارو خوندم چیکار کنم؟
ممنون از توضیحتون
علیک سلام
ببین داداش اگر واقعا میخوای شروع کنی باید از Network+ شروع کنی، بله درسته Network+ همون آموزش مفاهیم تئوری شبکه است، اما مهمترین عنصر برای یادگیری مفاهیم پایه امنیت محسوب میشه
بعد از Network+ هم باید بری سراغ Security+ تو Security+ با مفاهیم پایه هک و امنیت به طور کامل آشنا میشی بعد میتونی وارد دنیایی هک بشی
اونجا میتونی بری سراغ CEH و بعد از اون بری دنبال CHFI یا کلا بری دنبال Offensive Security که خودش یک مرجع کامل تو دنیای امنیت
اما باید بهتون بگم تو مسیر مجبور میشی Linux رو به صورت حرفه ای یاد بگیری، که خیلی هم برات لذت بخش خواهد بود چون اکثر ابزار های هک برای توزیع های Linux ساخته شدند.
مثلا سیستم عامل Kali که کلا مخصوص Penetration Test درست شده لینوکس 🙂
هکرهای واقعی به لحاظ علمی از باقی متخصص های کامپیوتر چندین قدم برتری دارند چون مجبورند چند علم رو همزمان با هم یاد داشته باشند. (انواع زبان های برنامه نویسی | کار با دستگاه های مختلف شبکه از برند های مختلف | کار با انواع سیستم عامل ها و … )
به نظر من اگر واقعا علاقه داری پاورشل رو بیخیال شو و برو دنبال Network+ تو مسیرت شاید دوباره به Powershell رسیدی 🙂
موفق باشید (فقط جان من نووا بلاگ رو هک نکن D:)
سلام اقا محمد . اموزش network+ رو خریدم هم کتابش هم ویدیو ولی مباحث نا مربوط ( به نظرم ) زیاد داره مثل سیم کشی و راه اندازی شبکه و…… حالا سوالم اینه 1: همشو باید بخونم یا بخشی که مربوط به هک میشه؟
2:منظور از یادگیری حرفه ای لینوکس همون خط فرمانش هست دیگه همین طوره؟
3:مگه برنامه نویسی این نیس که هر چیزی که تو زهنمون باشه رو پیاده کنیم؟ حالا نمیشه فقط با برنامه نویسی
(مثلا c++ یا java یا c#)برنامه هایی نوشت که عملیات هک رو واسمون انجام بدن؟
(فقط جان من نووا بلاگ رو هک نکن D:) حالا در مورد اینم یه تصمیمی میگیریم????????????????????????
تمام مسائلی که الان فکر میکنی به امنیت و هک نا مربوط هستند بعدا متوجه میشی که چقدر مربوط بودن 🙂 حتی همین کابل کشی (آشنایی با پروتکل ها و توپولوژیهای مختلف شبکه)
ببین شاید اولش کمی سخت به نظر برسه ولی اگر چیزی رو متوجه نشدی چندین بار بخونش و از اینترنت هم کمک بگیر چون network+ خیلی مهمه
بله درسته منظور از یاد گیری لینوکس یاد گیری دستورات و آشنایی با ساختار سیستم عامل لینوکس، فقط دستوراش مهم نیست مهم اینکه خود لینوکس رو درک کنی
بله حرف شما کاملا درسته، به طور کلی اگر فقط یک زبان مثل C رو یاد بگیری یادگیری باقی زبان های برنامه نویسی برات خیلی آسوده میشه، همه مباحث برات تکراری میشن و فقط با Syntax های جدید اونها آشنا میشی
خیلی از ابزار های هک با زبان Python نوشته شدن یادگیری Python مثل آب خوردن
نمیدونم چقدر زمان آزاد داری ولی سعی کن حداقل روزی ۸ ساعت از وقت رو روی یادگیری این آموزشها بزاری، شک نکن موفق میشی
c رو بلد نیستم c++ بلدم سی شارپ رو دارم یاد میگیرم برنامه دارم بعد از سی شارپ جاوا رو یاد بگیرم
اموزش های پایتون رو هم خریدم . به نظرت بعد از جاوا پایتون رو یاد بگیرم؟
شما چه زبان هایی رو بلدی؟
بعید میدونم برنامه هایی که با پایتون میشه نوشت با سی پلاس پلاس نشه . اگه این طوری باشه که بدبخ میشم
هست چنین چیزی؟
انصافا زبان سی پلاس پلاس خیلی به دلم نشست❤️
ممنون که وقت میزاری راهنماییم میکنی
همین سه تا زبان برنامه نویسی که ازشون صحبت کردی واقعا عالی هستند. من کمی با زبان Python و css و html آشنایی دارم و از Batch Script هم سر در میارم 🙂
خیلی از ابزار های Linux Kali با Python نوشته شدند. ولی اگر کسی بخواد میتونه همه شو با C++ دوباره بنویسه 🙂
خواهش میکنم علی جان، موفق و سربلند باشید.
سلام سایتتون خیلی عالیه موفق باشید و امیدوارم که این سایت همیشه به کار خودش ادامه بده با مطالب جدیدتر. و مثل سایتای دیگه بعد از چند مدت تعطیل نشه چون سایت خیلی پر محتوایی هست .
ممنونم .براتون ارزوی موفقیت میکنم.
سلام پویا جان
ممنونم از لطف و محبت تون 🙂 ان شا الله که بتونم همیشه سایت رو به روز نگه دارم تا کاربران خوبی مثل شما رو از دست ندم.
باز هم ممنونم از محبت تون 🙂 ان شا الله شما هم همیشه موفق و سر بلند باشید.
سلام خسته نباشید . من میخواهم ی برنامه Eappx نصب کنم با پاور شل . مشکل اساسی من حافظه درایو سی هستش . و من میخواهم تغییر ادرس بدهم اما جواب نمیده . راهی هسته برا تغییر ادرس با set location دستوره انجام دادم جواب نداد . لطفا راهنمایی کنید .
سلام
این آموزش ویدیویی رو تو آپارات دیدید؟ لینک آموزش
چرا خودتو اذیت میکنی به راحتی میتونی حجم درایو c رو افزایش بدی
سلام ، سپاس از مطلبتون ؛ میخواستم بدونم برای برنامهنویس به زبان C یا برای نوشتن سوکتهای Tcp/Ip لازمه که سیستم کامپیوترم رو ارتقاء بدم ؟
من که در نظر دارم یه مادربرد Ddr4 ، هارد دیسک 1Trb با دو تا رم 4Gb Ddr4 بگیرم به نظرتون آیا واقعا این لوازم مورد احتیاجه ؟
سلام دوست عزیز
این رو به صورت کلی میگم، در کل هرچه برای لوازم کارتون هزینه کنید خوبه و مشکلی نداره 🙂 سعی کنید از RAM بیشتری هم استفاده کنید 4 گیگ حداقل RAM که باید خریداری کنید چون 2 گیگابایتش توسط خود ویندوز خورده میشه 🙂
موفق باشید.
سلام وقت بخیر
من میخام یه بچ فایل درست کنم که بهش بگم بره چک کنه ببین اگر فلان برنامه نصب بود یا بفهمه برنامه کجا و کدوم مسیر نصب شده و بعدش بتونه یک فایل درون همون مسیری که برنامه نصب شده برام تغییر نام بده یا از یک منبعی کپی کنه داخل مسیر برنامه موردنظر
میتونید با مثال برام توضیح بدید
مرسی
Nice
سلام ممنون. چطور میشه برنامه ها رو با دستور باز کرد؟
با درود . وقت بخیر ،من آنتی ویروس کامپیوترم غیرفعال می باشد و در بخش تنظیمات رفتم خاموش است ، وقتی می خواهم آن را روشن کنم روشن نمی شود ،ابتدا از دستور gpedit.msc و سپس از دستور registory editor استفاده کردم و تمام مراحل فعال سازی را انجام دادم ولی فعال نشد .آیا با دستور power shell می توان آن را فعال یا نصب کرد . در ضمن ویندوز من ۸/۱ بود و روی آن ضدویروس آواست نصب بود ، من قبل از اینکه ضدویروس را حذف کنم سیستم را به ویندوز ۱۰ ارتقا دام . فکر می کنم ویندوز ضد ویروس نصبی را به عنوان ضدویروس پیش فرض پذیرفته . ممنون می شوم اگر برای فعال سازی antivirusویندوز راهنمایی کنید
سلام چقدر اطلاعاتت خوبه
فقط یک سوال برای نصب زد فیشر از چه دستوری باید استفاده کنم ؟؟