![如何编写脚本更改 Windows 2008 R2 服务器上的 msmq 存储位置](https://linux22.com/image/648283/%E5%A6%82%E4%BD%95%E7%BC%96%E5%86%99%E8%84%9A%E6%9C%AC%E6%9B%B4%E6%94%B9%20Windows%202008%20R2%20%E6%9C%8D%E5%8A%A1%E5%99%A8%E4%B8%8A%E7%9A%84%20msmq%20%E5%AD%98%E5%82%A8%E4%BD%8D%E7%BD%AE.png)
有没有办法通过批处理或 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
$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