在一个范围内的powershell中生成一个随机数,但排除1

时间:2017-11-22 10:28:09

标签: powershell random

我想从一个范围生成一个随机数(比如1到3)但是从变量X中的那个范围特定数字中排除

所以我得到了这段代码

get-random -inputobject (1..4) | where {$_ -notin $X}

这确实产生1到3之间的随机数,但是当生成数等于X中的数字时,它什么都不返回。

如果发生这种情况,我怎么能强迫它再次运行所以我总是得到一个数字,不管尝试多少次?

1 个答案:

答案 0 :(得分:5)

一种选择是在调用Get-Random之前删除要排除的项目:

$InputRange = 1..10
$Exclude = 3,4,5

$RandomRange = $InputRange | Where-Object { $Exclude -notcontains $_ }

Get-Random -InputObject $RandomRange