PDA

View Full Version : آموزش ویندوز پاورشل در 21 دقیقه



amin1softco
پنج شنبه 23 شهریور 1391, 10:09 صبح
کار کردن با ویندوز پاور شل خیلی ساده تر از بچ فایل هایی با سبک MS-DOS می باشد چون هر چیزی در اسکریپت های پاور شل مثل یک شی رفتار می کند و این کار را خیلی ساده می کند.
شما اشیاء دات نتی را همانند اشیاء COM می توانید پروگرم یا ایجاد کنید علاوه بر این ویندوز - پاور شل در درجه اول از فراخوانی به برنامه های کاربردی بر پایه EXE و پاس دادن پارامتر ها به آن برای اجرای دستورات خاص پشتیبانی میکند.

اینجا دو راه معمول برای استفاده از ویندوز پاور شل وجود دارد اول اجرای تعاملی کامند ها بوسیله کنسول ویندوز - پاور شل دوم نوشتن یک اسکریپت در قسمت وظایف automate administration سپس اجرا مستقیم این اسکریپ ها بوسیله تقاضای اجرا یا مکانیسم های برنامه ریزی خاص.

برای شروع با کنسول پاور شل آشنا می شویم. این کنسول را از طریق آدرس زیر می توان اجرا کرد.
Start\All Programs\Accessories\Windows PowerShell\Windows PowerShell

زمانی که کنسول پاور شل ظاهر شد شما باید دستورات زیر را به صورت تعاملی تایپ کنید و نتیجه را مشاهده کنید.
1- دستور cd\ و کلید اینتر . این تعیین می کنه مکان فعلی را به ریشه درایو مورد نظر.
2- دستور cls. پاک کردن صفحه.
دستور 2 + 2 و سپس اینتر این یک محاسبه ریاضی انجام میده و نتیجه را چاپ می کنه

به شما تبریک می گم! شما اولین درس خودتون را تکمیل کردید. حالا شما می دانید چطور یک کامند را به صورت تعاملی از طریق کنسول ویندوز پاور شل اجرا کنید.شما باید دستورات را تایپ و کلید اینتر را بزنید و نتیجه را مشاهده کنید.
ویندوز پاور شل بر اساس کتابخانه هایی با قابلیت استفاده مجدد شامل توابع که با cmdlets شناخته می شوند بنا شده است. (تلفظ کنید ( “command lets”).)
Cmdlets طبق قرارداد متشکل از یک فعل مشترک که به دنبال آن یک اسم است تشکیل شده. برای مثال کتابخانه های داخلی ویندوز پاور شل فراهم می کنه یک cmdlet با نام Get-Process که یک مجموعه ای از اشیا را بر می گرداند و پروسه های فعال در ماشین فعلی را نمایش می دهد.
PS C:\> Get-Process
Pipelining (خط لوله) یکی از مفاهیم مهم برای درک زمان اجرای یک cmdlet است. ایده اساسی این است که هر cmdlet یک شی یا مجموعه ایی از اشیاء را بر می گرداند. خط لوله به شما اجازه میدهد که نتیجه یک cmdlet را بگیرید و آنرا به cmdlet بعدی پاس بدهید cmdlet دوم می تواند اجرا شده و سپس نتایجش را به cmdlet سومی پاس بدهد و به همین ترتیب تا آخر .شما می توانید یک خط لوله را بوسیله تایپ کردن دنباله ایی از cmdlet ها که بوسیله کارکتر (پایپ) | از یکدیگر جدا شده اند ایجاد کنید.
cmdlet1 | cmdlet2 | cmdlet3
بگزارید یک سناریو معمول که شما در آن به دو تا cmdlet برای فیلتر کردن مجموعه ایی از اشیاء احتیاج دارید را امتحان کنیم.
اول شما Get-Process را فراخوانی می کنید تا یک مجموعه از اشیاء را بر گرداند و سپس شما از خط لوله استفاده می کنید تا این مجموعه را به cmdlet به نام Where-Object پاس بدهید.

PS C:\> Get-Process | Where-Object {$_.ProcessName -like "w*"}
Handles NPM(K) PM(K) WS(K) VM(M) CPU(s) Id ProcessName
------- ------ ----- ----- ----- ------ -- -----------
977 135 173372 180504 1511 4.94 2176 w3wp
773 123 161220 164464 1485 3.36 5112 w3wp
270 31 25052 17860 496 0.14 2568 WSSADMIN


گزاره های Where-Object در بین دو آکولاد محصور می شوند به عنوان پارامتر داخل آکولاد ها شما می تونید از $_ استفاده کنید برای ارجاع به شی که قرار فیلتر بشه گزاره ایی پیش بینی ما در این مثال {$_.ProcessName -like “w*”}است. که این فیلتر بر می گرداند تمام پروسه هایی که اون پروسه ها با حرف w شروع می شوند.
cmdlets ویندوز پاور شل که شبیه Where-Object هستند از عملگر های مقایسه استاندارد ویندوز پاو شل استفاده می کنند.
شما باید این عملگر ها را به خاطر بسپارید چون شما به طور مکرر از آنها در کار با ویندوز پاور شل استفاده می کنید

جدول 1-4 تعدادی از عملگر های معمول ویندوز پاور شل را لیست کرده
Table 1-4 Commonly U sed Windows PowerShell Comparison Operators
Operator Purpose
-lt کمتر از
-le کمتر یا مساوی
-gt بیشتر از
-ge بیشتر یا مساوی
-eq برابر با
-ne عدم برابری
-like Like using wildcard matches
-notlike Not like using wildcard matches

شما باید بدانید که عملگر های مقایسه ایی ویندوز پاور شل با رشته ها کار می کنند که به طور پیش فرض غیر حساس است. هر چند می شه این کامند ها را حساس کرد بوسیله اضافه کردن c بعد از خط تیره برای مثال -ceq یک عملگر حساس تساوی با را نمایش میدهد.
:متفکر::متفکر::متفکر:

اگر خدا بخواهد ادامه دارد....

czdah13
یک شنبه 18 بهمن 1394, 08:21 صبح
کار کردن با ویندوز پاور شل خیلی ساده تر از بچ فایل هایی با سبک MS-DOS می باشد چون هر چیزی در اسکریپت های پاور شل مثل یک شی رفتار می کند و این کار را خیلی ساده می کند.
شما اشیاء دات نتی را همانند اشیاء COM می توانید پروگرم یا ایجاد کنید علاوه بر این ویندوز - پاور شل در درجه اول از فراخوانی به برنامه های کاربردی بر پایه EXE و پاس دادن پارامتر ها به آن برای اجرای دستورات خاص پشتیبانی میکند.

اینجا دو راه معمول برای استفاده از ویندوز پاور شل وجود دارد اول اجرای تعاملی کامند ها بوسیله کنسول ویندوز - پاور شل دوم نوشتن یک اسکریپت در قسمت وظایف automate administration سپس اجرا مستقیم این اسکریپ ها بوسیله تقاضای اجرا یا مکانیسم های برنامه ریزی خاص.

برای شروع با کنسول پاور شل آشنا می شویم. این کنسول را از طریق آدرس زیر می توان اجرا کرد.
Start\All Programs\Accessories\Windows PowerShell\Windows PowerShell

زمانی که کنسول پاور شل ظاهر شد شما باید دستورات زیر را به صورت تعاملی تایپ کنید و نتیجه را مشاهده کنید.
1- دستور cd\ و کلید اینتر . این تعیین می کنه مکان فعلی را به ریشه درایو مورد نظر.
2- دستور cls. پاک کردن صفحه.
دستور 2 + 2 و سپس اینتر این یک محاسبه ریاضی انجام میده و نتیجه را چاپ می کنه

به شما تبریک می گم! شما اولین درس خودتون را تکمیل کردید. حالا شما می دانید چطور یک کامند را به صورت تعاملی از طریق کنسول ویندوز پاور شل اجرا کنید.شما باید دستورات را تایپ و کلید اینتر را بزنید و نتیجه را مشاهده کنید.
ویندوز پاور شل بر اساس کتابخانه هایی با قابلیت استفاده مجدد شامل توابع که با cmdlets شناخته می شوند بنا شده است. (تلفظ کنید ( “command lets”).)
Cmdlets طبق قرارداد متشکل از یک فعل مشترک که به دنبال آن یک اسم است تشکیل شده. برای مثال کتابخانه های داخلی ویندوز پاور شل فراهم می کنه یک cmdlet با نام Get-Process که یک مجموعه ای از اشیا را بر می گرداند و پروسه های فعال در ماشین فعلی را نمایش می دهد.
PS C:\> Get-Process
Pipelining (خط لوله) یکی از مفاهیم مهم برای درک زمان اجرای یک cmdlet است. ایده اساسی این است که هر cmdlet یک شی یا مجموعه ایی از اشیاء را بر می گرداند. خط لوله به شما اجازه میدهد که نتیجه یک cmdlet را بگیرید و آنرا به cmdlet بعدی پاس بدهید cmdlet دوم می تواند اجرا شده و سپس نتایجش را به cmdlet سومی پاس بدهد و به همین ترتیب تا آخر .شما می توانید یک خط لوله را بوسیله تایپ کردن دنباله ایی از cmdlet ها که بوسیله کارکتر (پایپ) | از یکدیگر جدا شده اند ایجاد کنید.
cmdlet1 | cmdlet2 | cmdlet3
بگزارید یک سناریو معمول که شما در آن به دو تا cmdlet برای فیلتر کردن مجموعه ایی از اشیاء احتیاج دارید را امتحان کنیم.
اول شما Get-Process را فراخوانی می کنید تا یک مجموعه از اشیاء را بر گرداند و سپس شما از خط لوله استفاده می کنید تا این مجموعه را به cmdlet به نام Where-Object پاس بدهید.

PS C:\> Get-Process | Where-Object {$_.ProcessName -like "w*"}
Handles NPM(K) PM(K) WS(K) VM(M) CPU(s) Id ProcessName
------- ------ ----- ----- ----- ------ -- -----------
977 135 173372 180504 1511 4.94 2176 w3wp
773 123 161220 164464 1485 3.36 5112 w3wp
270 31 25052 17860 496 0.14 2568 WSSADMIN


گزاره های Where-Object در بین دو آکولاد محصور می شوند به عنوان پارامتر داخل آکولاد ها شما می تونید از $_ استفاده کنید برای ارجاع به شی که قرار فیلتر بشه گزاره ایی پیش بینی ما در این مثال {$_.ProcessName -like “w*”}است. که این فیلتر بر می گرداند تمام پروسه هایی که اون پروسه ها با حرف w شروع می شوند.
cmdlets ویندوز پاور شل که شبیه Where-Object هستند از عملگر های مقایسه استاندارد ویندوز پاو شل استفاده می کنند.
شما باید این عملگر ها را به خاطر بسپارید چون شما به طور مکرر از آنها در کار با ویندوز پاور شل استفاده می کنید

جدول 1-4 تعدادی از عملگر های معمول ویندوز پاور شل را لیست کرده
Table 1-4 Commonly U sed Windows PowerShell Comparison Operators
Operator Purpose
-lt کمتر از
-le کمتر یا مساوی
-gt بیشتر از
-ge بیشتر یا مساوی
-eq برابر با
-ne عدم برابری
-like Like using wildcard matches
-notlike Not like using wildcard matches

شما باید بدانید که عملگر های مقایسه ایی ویندوز پاور شل با رشته ها کار می کنند که به طور پیش فرض غیر حساس است. هر چند می شه این کامند ها را حساس کرد بوسیله اضافه کردن c بعد از خط تیره برای مثال -ceq یک عملگر حساس تساوی با را نمایش میدهد.
:متفکر::متفکر::متفکر:

اگر خدا بخواهد ادامه دارد....
خدا نخواست؟