عملگرهای PowerShell: راهنمای جامع برای مقایسه، محاسبات و دستکاری داده‌ها

عملگرها در PowerShell ابزارهای اصلی برای مقایسه و دستکاری داده‌ها هستند. این زبان مجموعه‌ای گسترده از عملگرها را ارائه می‌دهد، از جمله عملگرهای منطقی و مقایسه‌ای، عملگرهای بیتی، عملگرهای حسابی، عملگرهای نوع داده و عملگرهای ویژه دیگر. همه عملگرها با یک خط تیره آغاز می‌شوند و سپس نام عملگر می‌آید. درک این عملگرها برای نوشتن اسکریپت‌های کارآمد و مدیریت سیستم ضروری است.

Logical and Comparison OperatorsBitwise OperatorsArithmetic OperatorsType OperatorsSpecial Operators

~2 دقیقه مطالعه · آخرین به‌روزرسانی ۳۰ آذر ۱۴۰۴

1. عملگرهای منطقی و مقایسه‌ای


  • -eq / -ne: برابر یا نابرابر.
  • -gt / -lt / -ge / -le: بزرگ‌تر، کوچک‌تر، بزرگ‌تر یا مساوی، کوچک‌تر یا مساوی.
  • -like / -notlike: مقایسه رشته‌ای با کاراکترهای جایگزین (* و ?).
  • -contains / -notcontains: بررسی وجود یک عنصر در مجموعه.
  • -in / -notin: بررسی وجود یک مقدار در آرایه.

مقایسه‌ها به‌طور پیش‌فرض غیرحساس به حروف بزرگ و کوچک هستند، اما می‌توان از نسخه‌های حساس مانند -ceq استفاده کرد.


2. عملگرهای منطقی (Boolean)


  • -and: بازگشت True اگر همه زیرعبارت‌ها True باشند.
  • -or: بازگشت True اگر حداقل یک زیرعبارت True باشد.
  • -not یا !: معکوس کردن نتیجه.
  • -xor: بازگشت True اگر فقط یکی از زیرعبارت‌ها True باشد.

3. عملگرهای بیتی


  • -band: بازگشت 1 اگر هر دو بیت 1 باشند.
  • -bor: بازگشت 1 اگر حداقل یکی از بیت‌ها 1 باشد.
  • -bxor: بازگشت 1 اگر فقط یکی از بیت‌ها 1 باشد.

این عملگرها برای کار با ماسک‌های بیتی در سرویس‌های دایرکتوری یا ویژگی‌های سیستمی کاربرد دارند.


4. عملگرهای حسابی


  • +: جمع یا اتصال رشته‌ها.
  • -: تفریق.
  • *: ضرب عددی یا تکرار رشته.
  • /: تقسیم.
  • %: محاسبه باقی‌مانده.
  • ++ / --: افزایش یا کاهش یک واحد.
  • += / -= / *= / /=: میانبر برای عملیات حسابی.

5. عملگرهای دستکاری رشته و آرایه


  • -replace: جایگزینی زیررشته.
  • -split: تقسیم رشته به آرایه.
  • -join: ترکیب عناصر آرایه به رشته.

6. عملگرهای نوع داده


  • -is: بررسی نوع داده.
  • -isnot: بررسی عدم تطابق نوع.
  • -as: تبدیل نوع داده.

PowerShell از واحدهای KB، MB، GB، TB و PB برای محاسبات بایت پشتیبانی می‌کند.


7. عملگرهای قالب‌بندی


عملگر -f برای ایجاد رشته‌های قالب‌بندی‌شده استفاده می‌شود. مثال:


"Today is {0:d} and Pi is {1:N}" -f (Get-Date), [math]::pi

8. عملگرهای متفرقه


  • & (Call Operator): اجرای رشته یا بلوک اسکریپت.
  • $() (Subexpression): اجرای عبارت درون رشته.

نتیجه‌گیری


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


نوشته و پژوهش‌شده توسط دکتر شاهین صیامی

مقالات مرتبط

ترفندها و نکات پیشرفته PowerShell: تکنیک‌های حرفه‌ای

PowerShell مجموعه‌ای از قابلیت‌های کوتاه، کاربردی و بسیار قدرتمند دارد که متخصصان برای نوشتن اسکریپت‌های تمیز، سریع و قابل نگهداری از آن‌ها استفاده می‌کنند. این تکنیک‌های حرفه‌ای—مثل Splatting، مقادیر پیش‌فرض پارامترها، زیرعبارت‌ها، پرانتزهای اجرایی و قالب‌بندی پیشرفته—نتیجه کار را تغییر نمی‌دهند، اما سرعت و کیفیت کار را به‌طور چشمگیری افزایش می‌دهند. این مقاله مجموعه‌ای از بهترین ترفندهای PowerShell را معرفی می‌کند که اتوماسیون را ساده‌تر و مؤثرتر می‌سازند.

ادامه

امنیت در PowerShell: اهداف، مکانیزم‌ها و سیاست اجرای اسکریپت‌ها

PowerShell از ابتدا با رویکردی «امنیت‌محور اما بی‌طرف» طراحی شده است. هدف آن جلوگیری از اجرای ناخواسته اسکریپت‌ها توسط کاربران ناآگاه است—not جلوگیری از اقدامات عمدی یا سوءاستفاده‌های دارای مجوز. PowerShell امنیت ویندوز را تقویت نمی‌کند و چیزی از آن کم نمی‌کند؛ تنها لایه‌هایی برای جلوگیری از اشتباهات رایج اضافه می‌کند. این مقاله سه لایه امنیتی PowerShell—نیاز به مسیر برای اجرای اسکریپت، عدم وابستگی پسوندها به اجرای مستقیم، و سیاست اجرای اسکریپت‌ها—را بررسی می‌کند و سپس به امضای دیجیتال، ساخت گواهی، و نحوه اعمال Execution Policy می‌پردازد.

ادامه

متغیرها، آرایه‌ها، جدول‌های درهم‌ریخته (Hash Tables) و اسکریپت‌بلوک‌ها در PowerShell

متغیرها پایه‌ای‌ترین ابزار ذخیره‌سازی داده در PowerShell هستند. آن‌ها مقادیر مختلف—عدد، رشته، اشیاء—را نگه می‌دارند و امکان استفاده مجدد از داده‌ها را بدون اجرای دوباره دستورات فراهم می‌کنند. بر اساس همین مفهوم، ساختارهای پیشرفته‌تری مانند آرایه‌ها، هش‌تیبل‌ها و اسکریپت‌بلوک‌ها ایجاد شده‌اند که قدرت PowerShell را در اتوماسیون و مدیریت داده‌ها چند برابر می‌کنند. شناخت این ساختارها برای نوشتن اسکریپت‌های تمیز، کارآمد و حرفه‌ای ضروری است.

ادامه

PSDrives و PSProviders در PowerShell: فراتر از سیستم فایل

ماژول‌ها و Snap-inها در PowerShell علاوه بر افزودن cmdletها، معمولاً شامل PSProviders نیز هستند. PSProviderها آداپتورهایی هستند که منابع داده سلسله‌مراتبی مانند رجیستری، IIS یا SQL Server را به‌صورت ساختارهای مشابه درایو در PowerShell نمایش می‌دهند. این قابلیت امکان پیمایش و مدیریت یکنواخت داده‌ها را با استفاده از دستورات آشنای سیستم فایل فراهم می‌کند. در کنار آن، PSDrives اتصالات فعال به این منابع داده هستند که با نام مشخص می‌شوند. ترکیب این دو مفهوم، مدیریت داده‌های پیچیده را ساده و یکپارچه می‌سازد.

ادامه

کار با داده‌های HTML و XML در PowerShell

PowerShell قابلیت‌های قدرتمندی برای کار با داده‌های ساختاریافته مانند HTML و XML دارد. HTML برای تولید گزارش‌های حرفه‌ای و زیبا کاربرد دارد و XML در بسیاری از بخش‌های محیط ویندوز، از فایل‌های پیکربندی تا ذخیره‌سازی داده‌ها، استفاده می‌شود. دستوراتی مانند Invoke-WebRequest، ConvertTo-HTML، Export-Clixml و Select-XML امکان دریافت، تجزیه، تولید و جستجوی این قالب‌ها را فراهم می‌کنند. با تسلط بر این ابزارها، مدیران می‌توانند گزارش‌گیری خودکار، ذخیره‌سازی داده‌های پیچیده و یکپارچه‌سازی PowerShell با سیستم‌های وب و سازمانی را انجام دهند.

ادامه

عبارات منظم در PowerShell: الگوها، عملگرها و کاربردها

عبارات منظم (Regex) زبانی قدرتمند برای توصیف الگوهای داده هستند. در PowerShell، این قابلیت با کتابخانه استاندارد .NET ادغام شده و امکان جستجو، تطبیق و جایگزینی داده‌ها را فراهم می‌کند. از بررسی ایمیل‌ها و شماره تلفن‌ها تا مسیرهای فایل و لاگ‌های سیستمی، Regex ابزار انعطاف‌پذیری برای مدیریت داده‌هاست. PowerShell علاوه بر پشتیبانی از نحو استاندارد، عملگرهایی مانند -match و دستورهایی مانند Select-String و Switch -regex را برای استفاده ساده‌تر از Regex ارائه می‌دهد.

ادامه