PWSH.EXE چیست؟ لیست نحو PWSH که می توانید استفاده کنید

PowerShell یکی از قدرتمندترین ابزارهای برنامه نویسی است که مایکروسافت(Microsoft) ایجاد کرده است. در این پست، آنچه را که PWSH.exe است و لیستی از نحو مهم PWSH(PWSH syntax) را به اشتراک خواهیم گذاشت . مطمئنم که بسیاری از کاربران از Windows PowerShell استفاده کرده‌اند ، اما PWSH اکنون یک ابزار اسکریپت‌نویسی بین پلتفرمی است که روی ویندوز(Windows) ، macOS و لینوکس(Linux) کار می‌کند . با این حال، در WSL یعنی زیرسیستم ویندوز(Windows Subsystem) در لینوکس(Linux) پشتیبانی نمی شود و تلاش برای تنظیم PWSH به عنوان پوسته ورود به سیستم WSL ناپایدار می شود.

PWSH.EXE چیست؟

PWSH

قبل از شروع، اجازه دهید یک جزئیات را روشن کنیم. PWSH.EXE نام جدید PowerShell است. از نسخه 6 آن PowerShell Core نامیده می شود . قبلاً به عنوان powershell.exe نامگذاری شده بود که حتماً آن را در ویندوز(Windows) نصب کرده اید (نسخه 5.1). جای تعجب نیست که هر بار که PowerShell را در ویندوز(Windows) راه اندازی می کنید، یک پیام دریافت می کنید:

“Try the new cross-platform PowerShell https://aka.ms/pscore6.”

می توانید در مورد تفاوت بین PowerShell و PowerShell Core بخوانید.(difference between PowerShell and PowerShell Core.)

امروز پاورشل به نسخه 7 رسیده(PowerShell has reached version 7) است که یک تغییر بزرگ در مقایسه با نسخه 6 است و از NET Core 3 به جای Net Framework استفاده می کند. اگر می خواهید آن را امتحان کنید، یاد بگیرید که چگونه PowerShell 7.0 را در ویندوز 10 نصب کنید.(how to install PowerShell 7.0 on Windows 10.)

نحو مهم PWSH

-File | -f: اگر دستوراتی در فایل اسکریپت دارید، می توانید از آن به عنوان ورودی استفاده کنید. همچنین می توانید در صورت لزوم برای فایل ها آرگومان کنید.

pwsh -File .\test.ps1 -TestParam $env:windir

-Command | -c : از این برای اجرای یک دستور یا ScriptBlock استفاده کنید. ScriptBlock مجموعه ای از توابع محصور در {} است

pwsh -Command {Get-WinEvent -LogName security}

یا

@'
"in"

"hi" |
% { "$_ there" }

"out"
'@ | powershell -NoProfile -Command -

-EncodedCommand | -e | -ec : در مواقعی که نیاز به استفاده از گیومه های پیچیده یا بریس های فرفری وجود دارد از آن استفاده کنید.

$command = 'dir "c:\program files" '
$bytes = [System.Text.Encoding]::Unicode.GetBytes($command)
$encodedCommand = [Convert]::ToBase64String($bytes)
pwsh -encodedcommand $encodedCommand

-Login | -l: در لینوکس(Linux) و macOS، PowerShell را به‌عنوان یک پوسته ورود راه‌اندازی می‌کند و از /bin/sh برای اجرای پروفایل‌های ورود مانند /etc/profile و ~/.profile استفاده می‌کند. برای ویندوز(Windows) قابل اجرا نیست .

شما باید مسیر مطلق فهرست شده در /etc/shells را تأیید کنید. می توانید از  ابزار chsh برای تنظیم پوسته کاربر فعلی خود بر روی pwsh استفاده کنید.

chsh -s /usr/bin/pwsh

-SettingsFile | -تنظیمات

اگر می خواهید تنظیمات جهانی را با تنظیمات پروژه محلی بازنویسی کنید، می توانید با استفاده از این گزینه فایل تنظیمات را مشخص کنید. تنظیمات کل سیستم در powershell.config.json موجود است.

pwsh -SettingsFile c:\myproject\powershell.config.json

فهرست کامل نحو PWSH

pwsh[.exe]
[[-File] <filePath> [args]]
[-Command { - | <script-block> [-args <arg-array>]
| <string> [<CommandParameters>] } ]
[-ConfigurationName <string>]
[-CustomPipeName <string>]
[-EncodedCommand <Base64EncodedCommand>]
[-ExecutionPolicy <ExecutionPolicy>]
[-InputFormat {Text | XML}]
[-Interactive]
[-Login]
[-MTA]
[-NoExit]
[-NoLogo]
[-NonInteractive]
[-NoProfile]
[-OutputFormat {Text | XML}]
[-SettingsFile <SettingsFilePath>]
[-STA]
[-Version]
[-WindowStyle <style>]
[-WorkingDirectory <directoryPath>]

pwsh[.exe] -h | -Help | -? | /?

اگر به جزئیات بیشتری نیاز دارید، می توانید به docs.microsoft.com مراجعه کنید.(docs.microsoft.com.)



About the author

من یک مهندس نرم افزار با تجربه در Xbox Explorer، Microsoft Excel و Windows 8.1 Explorer هستم. در اوقات فراغت دوست دارم بازی های ویدیویی انجام دهم و تلویزیون تماشا کنم. من از دانشگاه یوتا مدرک دارم و در حال حاضر به عنوان مهندس نرم افزار برای یک شرکت بین المللی کار می کنم.



Related posts