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

tnu*_*ufa 2 random powershell

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

所以我得到了这个代码

get-random -inputobject (1..4) | where {$_ -notin $X}
Run Code Online (Sandbox Code Playgroud)

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

当它发生时我怎么能强迫它再次运行所以我总是得到一个数字,无论需要多少尝试?

Jam*_* C. 5

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

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

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

Get-Random -InputObject $RandomRange
Run Code Online (Sandbox Code Playgroud)