C# · 12月 31, 2021

c# – 使用Powershell进行自动化MSMQ设置

我正在为我支持的应用程序配置新的测试服务器.它使用大约35个不同的MSMQ队列,并且手动创建这些队列显然不是很有趣.特别是因为应用程序的生产版本也在移动服务器,所以我将重新做到这一点.我正在寻找的是一种创建这些队列的自动化方法,而Power shell(基于我对它的有限了解)似乎是要走的路.

有没有人有关于我如何实现这一目标的任何提示?

解决方法 我认为你应该采取的方法是创建自己的Powershell cmdlet(Commandlet).基本上,您从基类继承,重写方法,这是从Powershell调用该cmdlet时调用的方法.这样你就可以在C#中做你需要做的事情,只需从Powershell中调用它.图如下:

编辑:忘记链接到MSDN创建cmdlet:http://msdn.microsoft.com/en-us/library/dd878294(VS.85).aspx

[Cmdlet(VerbsCommunications.Get,”MyCmdlet”)]public class MyCmdlet : Cmdlet{ [Parameter(Mandatory=true)] public string SomeParam {get; set;} protected override void ProcessRecord() { WriteObject(“The param you passed in was: ” + SomeParam); }}

然后,您将从Powershell中调用此cmdlet,如下所示:

PS>Get-MyCmdlet -SomeParam ‘whatever you want’

然后,要使用MSMQ,有许多在线样本如何在C#中完成此任务:

Here’s just one of them….