如何编写脚本更改 Windows 2008 R2 服务器上的 msmq 存储位置

如何编写脚本更改 Windows 2008 R2 服务器上的 msmq 存储位置

有没有办法通过批处理或 powershell 脚本来执行此操作?我正在寻找一种方法来设置多个新服务器。

关于这个问题我发现的唯一一件事让我相信你不能:来自:http://technet.microsoft.com/en-us/library/cc785060.aspx

只能使用“计算机管理”、“服务和应用程序”、“消息队列”属性中的“存储”选项卡来修改消息存储位置。

编辑 - 我还找到了这篇文章。它列出了一些注册表值,但再次建议不要这样做 http://blogs.msdn.com/b/johnbreakwell/archive/2009/02/09/changing-the-msmq-storage-location.aspx

答案1

来源:http://www.erbrech.com/blog/2016/05/29/Move-msmq-storage-location-with-powershell-and-Desired-State-Configuration.html

$Location = 'E:\msmq\storage'

If(!(test-path $Location))
{
     New-Item -ItemType Directory -Force -Path $Location
}

takeown /F $Location /R /D y #this should give me ownership of both msmq and LQS folder
icacls $Location /reset /T /C
icacls $Location "/grant:r" "NT AUTHORITY\NetworkService:(OI)(CI)(M)" /T /C
$ConfirmPreference = 'None'

Set-MsmqQueueManager -MsgStore $Location -TransactionLogStore $Location -MsgLogStore $Location

Start-Service MSMQ

相关内容