Tips

Select-Objectで読みやすい算出属性を作る方法

Select-Objectで読みやすい算出属性を作る方法

概要

オブジェクトの算出属性をSelect-Objectで作る際に、
属性名が式そのままになってしまうことがよくあります。 (例えば$_ * $_など。)

本記事では、読みやすい算出属性の作り方を説明します。
(筆者の備忘録を兼ねます。)

読みにくい例

# 読みにくい算出属性の名前ができるアンチパターン
1..10|Select-Object {$_ * $_};

読みやすくする例

# 読みやすい算出属性の名前を作る正式な方法
1..10|Select-Object -Property @{
    Name = "SquaredValue";
    Expression = {$_ * $_};
};

自作関数で連想配列を入力する手間を省く方法

# 連想配列を書きたくない場合の代替関数の定義例
function Select-CalculatedProperty{
    [CmdletBinding()]
    param (
        [Parameter(ValueFromPipeline)]
        [ValidateNotNullOrEmpty()]
        [Object[]]    $Item,        
        [String]      $Name = "Value",        
        [ScriptBlock] $Expression = {$_}
    )
    
    process{
        $Item|Select-Object -Property @{Name = $Name; Expression = $Expression}
    }
    
}

まとめ

Select-Objectで、算出属性の名前を読みやすくする方法を紹介しました。

初級インフラエンジニアにオススメ連載リンク

ネットワーク学習の登竜門・・
ゼロからのCCNA独学講座

Linuxの取り扱いを基礎から学ぶ
Linux資格 「LPIC-Lv1」徹底解説

Recent News

Recent Tips

Tag Search