~2 دقیقه مطالعه • بروزرسانی ۳۰ آذر ۱۴۰۴
1. Splatting: بستهبندی پارامترها
Splatting روشی است برای ارسال پارامترها بهصورت یک هشتیبل با استفاده از @. این روش برای دستورات تکراری یا پارامترهای زیاد بسیار مناسب است.
$params = @{
Class = 'Win32_LogicalDisk'
ComputerName = 'SERVER2'
Filter = "DriveType=3"
Credential = $cred
}
Get-WmiObject @params
میتوان Splatting را با پارامترهای دستی ترکیب کرد. این روش خوانایی اسکریپت را افزایش میدهد و از تکرار جلوگیری میکند.
2. مقادیر پیشفرض پارامترها ($PSDefaultParameterValues)
از نسخه 3 به بعد، PowerShell اجازه میدهد برای پارامترهای خاص، مقدار پیشفرض تعیین کنید—در جلسه فعلی یا بهصورت دائمی در پروفایل.
$PSDefaultParameterValues = @{
"Get-WmiObject:Class" = "Win32_OperatingSystem"
"Format-Wide:Column" = 4
}
$PSDefaultParameterValues.Add("Get-ChildItem:Force", $true)
این مقادیر هر زمان قابل بازنویسی هستند. برای حذف یک مقدار، از Remove() استفاده کنید.
3. زیرعبارتها در رشتهها: $($expression)
زیرعبارتها اجازه میدهند داخل رشتههای دابلکوت، عبارتهای محاسباتی یا ویژگیهای اشیاء را قرار دهید.
Write-Host "Free space: $(100 - ($free/$total*100))%" Write-Host "Service: $($service.Name)"
این روش از چسباندن رشتهها جلوگیری میکند و خوانایی را افزایش میدهد.
4. پرانتزها بهعنوان اشیاء
هر چیزی داخل پرانتز () ابتدا اجرا میشود و خروجی آن بهعنوان یک شیء قابل استفاده است. این روش نیاز به متغیرهای واسط را حذف میکند.
نوشته و پژوهش شده توسط دکتر شاهین صیامی