使用 powershell 删除 MSMQ 存储限制

Remove MSMQ storage limits with powershell

如何使用 powershell 删除特定队列的存储限制(队列配额)?

要使用 powershell 设置 存储限制到某个值,我们可以使用 Set-MsmqQueue cmdlet:

Get-MsmqQueue myQueue | Set-MsmqQueue -QueueQuota  50000

去掉我试过的设置

... | Set-MsmqQueue -QueueQuota $false # (does nothing)
... | Set-MsmqQueue -QueueQuota 0 # (does nothing)
... | Set-MsmqQueue -QueueQuota -1 # (fails; queue quota must be positive integer)
... | Set-MsmqQueue -QueueQuota ([System.Int32]::MaxValue) # (successfully sets quota to 2147483647)
... | Set-MsmqQueue -QueueQuota ([System.Int64]::MaxValue) # (fails; Invalid value 9223372036854775807 for property MaximumQueueSize.)

powershell documentation 没有指定如何完成此操作。有人知道怎么做吗?

基本上您想将队列设置为 "unlimited"。

我的理解是最大大小为 4294967295 (4 TB)。尝试将其设置为那个。