تجنبUsingWriteHost

مستوى الخطورة : التحذير

وصف

تكتشف هذه القاعدة استخدام في Write-Host الدوال التي لا تستخدم الفعل Show . Write-Host تم تصميمه لإنتاج مخرجات عرض فقط في المضيف، مثل طباعة النص الملون أو طلب إدخال المستخدمين باستخدام Read-Host. يستخدم ToString() هذه الطريقة لكتابة المخرجات، وتعتمد النتائج على برنامج PowerShell المضيف.

بما أنه Write-Host لا يرسل مخرجا إلى خط الأنابيب، ستحتاج Write-Output إلى إخراج ضمني لتمرير البيانات عبر خط الأنابيب.

تجنب استخدام Write-Host in functions إلا إذا استخدموا الفعل Show ، والذي يعني صراحة عرض المعلومات للمستخدم. لا تنطبق هذه القاعدة على الدالات ذات الفعل Show.

استبدل Write-host ب Write-Output أو Write-Verbose بناء على نيتك. الاستخدام Write-Verbose لتسجيل السجلات وإرجاع Write-Output الأشياء.

مثل

غير متوافق

function Get-MeaningOfLife
{
    Write-Host 'Computing the answer to the ultimate question of life, the universe and everything'
    Write-Host 42
}

متوافقه

استخدم Write-Verbose للرسائل الإعلامية. يمكن للمستخدم أن يقرر ما إذا كان سير الرسالة عن طريق توفير المعلمة مطولة.

function Get-MeaningOfLife {
    [CmdletBinding()]Param() # makes it possible to support Verbose output

    Write-Verbose 'Computing the answer to the ultimate question of life, the universe and everything'
    Write-Output 42
}

function Show-Something {
    Write-Host 'Show something on screen'
}