سیستم قالب‌بندی در PowerShell: از اشیاء تا نمایش خروجی

PowerShell داده‌ها را به‌صورت اشیاء در حافظه مدیریت می‌کند، اما برای نمایش آن‌ها به انسان نیازمند تبدیل به متن یا قالب قابل‌خواندن است. این وظیفه بر عهده سیستم قالب‌بندی (Formatting System) است. در پایان هر خط لوله، دستور پنهان Out-Default اجرا می‌شود و داده‌ها را به Out-Host می‌فرستد. اگر اشیاء قالب‌بندی نشده باشند، سیستم قالب‌بندی وارد عمل می‌شود و آن‌ها را به دستورالعمل‌های قالب‌بندی تبدیل می‌کند. درک این فرآیند به مدیران امکان می‌دهد خروجی‌ها را کنترل و شخصی‌سازی کنند.

Out-Default و Out-HostFormat-TableFormat-ListFormat-Wide

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

1. زمان قالب‌بندی


در پایان هر خط لوله، Out-Default اجرا می‌شود. اگر اشیاء در خط لوله باقی مانده باشند، به Out-Host ارسال می‌شوند. Out-Host تنها دستورالعمل‌های قالب‌بندی را می‌فهمد، بنابراین سیستم قالب‌بندی داده‌ها را به این دستورالعمل‌ها تبدیل می‌کند.


2. سیستم قالب‌بندی


  • Views از پیش تعریف‌شده: فایل‌های XML مانند *.format.ps1xml که مشخص می‌کنند هر نوع شیء چگونه نمایش داده شود.
  • DefaultDisplayPropertySet: مجموعه ویژگی‌های پیش‌فرض برای نمایش اشیاء.
  • انتخاب بین جدول یا لیست: اگر کمتر از 4 ویژگی باشد، جدول؛ اگر بیشتر باشد، لیست.

3. دستورهای Format


  • Format-Table (ft): نمایش داده‌ها در قالب جدول. پشتیبانی از -AutoSize، -Wrap و -GroupBy.
  • Format-List (fl): نمایش همه ویژگی‌ها یا ویژگی‌های انتخابی در قالب لیست. مناسب برای اشکال‌زدایی.
  • Format-Wide (fw): نمایش چندستونه بر اساس یک ویژگی (معمولاً Name).
  • Format-Custom: کمتر استفاده می‌شود؛ برای نمایش کامل ساختار اشیاء.

4. ویژگی‌های سفارشی در Format-Table


می‌توان ستون‌های سفارشی ایجاد کرد با استفاده از:


  • Name/Label: عنوان ستون.
  • Expression: محتوای ستون.
  • FormatString: قالب‌بندی عدد یا تاریخ.
  • Align: ترازبندی چپ یا راست.
  • Width: عرض ستون.

5. نکات و محدودیت‌ها


  • Format-Table هنگام استفاده از * حداکثر 10 ویژگی را نمایش می‌دهد.
  • قالب‌بندی پایان خط لوله است؛ پس از آن نمی‌توان داده‌ها را به cmdletهای دیگر مانند ConvertTo-HTML منتقل کرد.

نتیجه‌گیری


سیستم قالب‌بندی PowerShell مسئول تبدیل اشیاء به خروجی قابل‌خواندن است. با استفاده از دستورهای Format و درک Views و Property Sets، مدیران می‌توانند نمایش داده‌ها را شخصی‌سازی کرده و خروجی‌های دقیق‌تر و کاربردی‌تر تولید کنند.


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