PowerShell Cmdlet - Get-Random
 記事記号:[mf1990] 初版:2011/Sep/30

この文書は、Windows PowerShellのヘルプ機能で表示される内容を再構成したものです。

名前
    Get-Random
    
概要
    ランダムな数値を取得するか、オブジェクトをコレクションからランダムに選択しま
    す。
    
構文
    Get-Random [-InputObject] <Object[]> [-Count <int>] [-SetSeed <int>] [<Commo
    nParameters>]
    
    Get-Random [[-Maximum] <Object>] [-Minimum <Object>] [-SetSeed <int>] [<Comm
    onParameters>]
    
説明
    Get-Random コマンドレットは、ランダムに選択された数値を取得します。オブジェ
    クトのコレクションを Get-Random に送ると、ランダムに選択された 1 つまたは複
    数のオブジェクトをコレクションから取得します。
    
    パラメーターまたは入力のない Get-Random コマンドは、0 (ゼロ) 〜 Int32.MaxVal
    ue (0x7FFFFFFF、2,147,483,647) のランダムに選択された 32 ビット符号なし整数
    を返します。
    
    Get-Random のパラメーターを使用すると、シード数、最小値と最大値、および送ら
    れたコレクションから返されるオブジェクトの数を指定できます。
    
パラメーター
    -Count <int>
        返されるオブジェクトの数を指定します。既定値は 1 です。Count の値がコレ
        クションのオブジェクトの数を超えると、Get-Random はすべてのオブジェクト
        をランダムな順序で返します。
        
        必須                         false
        位置                         named
        既定値                       1
        パイプライン入力を許可する   false
        ワイルドカード文字を許可する false
        
    -InputObject <Object[]>
        オブジェクトのコレクションを指定します。Get-Random はランダムに選択され
        たオブジェクトをランダムな順序でコレクションから取得します。オブジェクト 
        (またはオブジェクトが格納されている変数) を入力するか、オブジェクトを取
        得するコマンドまたは式を入力します。Get-Random に対してオブジェクトのコ
        レクションをパイプ処理することもできます。
        
        必須                         true
        位置                         1
        既定値                       
        パイプライン入力を許可する   true (ByValue)
        ワイルドカード文字を許可する false
        
    -Maximum <Object>
        乱数の最大値を指定します。Get-Random は最大値より小さい (等しくない) 値
        を返します。32 ビット整数、倍精度浮動小数点数、または数値文字列 ("100") 
        のように整数または倍精度に変換できるオブジェクトを入力します。Maximum 
        の値は Minimum の値より大きい (等しくない) 必要があります。
        
        Maximum または Minimum の値が浮動小数点数である場合は、Get-Random はラン
        ダムに選択された浮動小数点数を返します。
        
        Minimum の値が倍精度 (浮動小数点数) である場合は、Maximum の既定値は Dou
        ble.MaxValue です。それ以外の場合、既定値は Int32.MaxValue (2,147,483,64
        7 または 0x7FFFFFFF) です。
        
        必須                         false
        位置                         1
        既定値                       Int32.MaxValue
        パイプライン入力を許可する   false
        ワイルドカード文字を許可する false
        
    -Minimum <Object>
        乱数の最小値を指定します。32 ビット整数、倍精度浮動小数点数、または数値
        文字列 ("100") のように整数または倍精度に変換できるオブジェクトを入力し
        ます。既定値は 0 (ゼロ) です。
        
        Minimum の値は Maximum の値より小さい (等しくない) 必要があります。Maxi
        mum または Minimum の値が浮動小数点数である場合は、Get-Random はランダ
        ムに選択された浮動小数点数を返します。
        
        必須                         false
        位置                         named
        既定値                       0
        パイプライン入力を許可する   false
        ワイルドカード文字を許可する false
        
    -SetSeed <int>
        乱数ジェネレーターのシード値を指定します。このシード値は、SetSeed を再
        度使用するか、セッションを終了するまで、現在のセッションで現在のコマン
        ドと後続のすべての Get-Random コマンドに使用されます。シードをクロック
        に基づく既定値にリセットすることはできません。
        
        SetSeed パラメーターは必須ではありません。既定では、Get-Random はシステ
        ム クロックを使用して、シード値を生成します。SetSeed はランダムでない動
        作を生じるので、通常は、Get-Random コマンドが含まれているスクリプトのデ
        バッグや分析時など、動作の再生を試みる場合にのみ使用されます。
        
        必須                         false
        位置                         named
        既定値                       システム クロック
        パイプライン入力を許可する   false
        ワイルドカード文字を許可する false
        
    <CommonParameters>
        このコマンドレットは、次の共通パラメーターをサポートします: Verbose、
        Debug、ErrorAction、ErrorVariable、WarningAction、WarningVariable、
        OutBuffer、および OutVariable。詳細については、
        「get-help about_commonparameters」と入力してヘルプを参照してください。
    
入力
    System.Object
        Get-Random に対して 1 つまたは複数のオブジェクトをパイプ処理できます。Ge
        t-Random はパイプ処理されたオブジェクトからランダムに値を選択します。
    
出力
    System.Object
        Get-Random は、整数、浮動小数点数、または送られたコレクションからランダ
        ムに選択されたオブジェクトを返します。
    
メモ
        Get-Random は、セッションの開始時に、システム時刻のクロックに基づいて各
        セッションの既定のシードを設定します。
    
    -------------------------- 例 1 --------------------------
    
    C:\PS>get-random
    
    3951433
    
    説明
    -----------
    このコマンドは、0 (ゼロ) 〜 Int32.MaxValue のランダムな整数を取得します。
    
    -------------------------- 例 2 --------------------------
    
    C:\PS>get-random -maximum 100
    
    47
    
    説明
    -----------
    このコマンドは、0 (ゼロ) 〜 99 のランダムな整数を取得します。
    
    -------------------------- 例 3 --------------------------
    
    C:\PS>get-random -minimum -100 -maximum 100
    
    -56
    
    説明
    -----------
    このコマンドは、-100 〜 99 のランダムな整数を取得します。
    
    -------------------------- 例 4 --------------------------
    
    C:\PS>get-random -min 10.7 -max 20.93
    
    18.08467273887
    
    説明
    -----------
    このコマンドは、10.7 以上で 20.92 より小さいランダムな浮動小数点数を取得しま
    す。
    
    -------------------------- 例 5 --------------------------
    
    C:\PS>get-random -input 1, 2, 3, 5, 8, 13
    
    8
    
    説明
    -----------
    このコマンドは、ランダムに選択された数値を指定された配列から取得します。
    
    -------------------------- 例 6 --------------------------
    
    C:\PS>get-random -input 1, 2, 3, 5, 8, 13 -count 3
    
    3
    1
    13
    
    説明
    -----------
    このコマンドは、ランダムに選択された 3 つの数値を配列からランダムな順序で取
    得します。
    
    -------------------------- 例 7 --------------------------
    
    C:\PS>get-random -input 1, 2, 3, 5, 8, 13 -count ([int]::MaxValue)
    
    2
    3
    5
    1
    8
    13
    
    説明
    -----------
    このコマンドは、コレクション全体をランダムな順序で返します。Count パラメータ
    ーの値は、整数の静的な MaxValue プロパティです。
    
    コレクション全体をランダムな順序で返すには、コレクションのオブジェクト数以上
    の数値を入力します。
    
    -------------------------- 例 8 --------------------------
    
    C:\PS>get-random -input "red", "yellow", "blue"
    
    yellow
    
    説明
    -----------
    このコマンドは、ランダムな値を数値以外のコレクションから返します。
    
    -------------------------- 例 9 --------------------------
    
    C:\PS>get-process | get-random
    
    Handles  NPM(K)    PM(K)      WS(K) VM(M)   CPU(s)     Id ProcessName
    -------  ------    -----      ----- -----   ------     -- -----------
        144       4     2080        488    36     0.48   3164 wmiprvse
    
    説明
    -----------
    このコマンドは、ランダムに選択されたプロセスをコンピューター上のプロセスのコ
    レクションから取得します。
    
    -------------------------- 例 10 --------------------------
    
    C:\PS>get-content servers.txt | get-random -count (get-content servers.txt).
    count | foreach {invoke-expression -computer $_ -command 'get-process powers
    hell'}
    
    説明
    -----------
    このコマンドは、コマンドを一連のリモート コンピューター上でランダムな順序で
    実行します。
    
    -------------------------- 例 11 --------------------------
    
    C:\PS>get-random -max 100 -setseed 23
    
    # Commands with the default seed are pseudorandom
    PS C:\ps-test> get-random -max 100
    59
    PS C:\ps-test> get-random -max 100
    65
    PS C:\ps-test> get-random -max 100
    21
    
    # Commands with the same seed are not random
    PS C:\ps-test> get-random -max 100 -setseed 23
    74
    PS C:\ps-test> get-random -max 100 -setseed 23
    74
    PS C:\ps-test> get-random -max 100 -setseed 23
    74
    
    # SetSeed results in a repeatable series
    PS C:\ps-test> get-random -max 100 -setseed 23
    74
    PS C:\ps-test> get-random -max 100
    56
    PS C:\ps-test> get-random -max 100
    84
    PS C:\ps-test> get-random -max 100
    46
    PS C:\ps-test> get-random -max 100 -setseed 23
    74
    PS C:\ps-test> get-random -max 100
    56
    PS C:\ps-test> get-random -max 100
    84
    PS C:\ps-test> get-random -max 100
    46
    
    説明
    -----------
    この例は、SetSeed パラメーターを使用したときの結果を示しています。SetSeed 
    はランダムでない動作を生じるので、通常は、スクリプトのデバッグや分析時など、
    結果を再生する場合にのみ使用されます。
    
    -------------------------- 例 12 --------------------------
    
    C:\PS>$files = dir -path c:\* -recurse
    
    C:\PS> $sample = $files | get-random -count 50
    
    説明
    -----------
    これらのコマンドは、ランダムに選択された 50 ファイルのサンプルをローカル コ
    ンピューターの C: ドライブから取得します。
    
    -------------------------- 例 13 --------------------------
    
    C:\PS>get-random 10001
    
    7600
    
    説明
    -----------
    このコマンドは、10001 より小さいランダムな整数を取得します。Maximum パラメ
    ーターには位置 1 があるため、値がコマンドの最初のパラメーターまたは名前付き
    でない唯一のパラメーターである場合は、パラメーター名を省略できます。
    
関連するリンク
    Online version: http://go.microsoft.com/fwlink/?LinkID=113446
    	
記事で解説しているパソコンの環境
 基本ソフト: Windows 7
 キーワード: Windows PowerShell、ヘルプ、Cmdlet、Get-Random
ご利用数: 1912565
感想・要望・問い合わせは こちら