I have created an automation script that needs local access, hence it needs to be launched on a specific DMA. As far as I'm aware this can be done by connecting with cube to the specific DMA, then go to the Automation module and click on the "Execute" button of the selected automation script.
I need to execute this automation script on every DMA in the cluster. As this needs to be executed on 30 DMAs, it would seem time consuming having to connect the cube client separately to every DMA in the cluster. I was wondering if there's an easy alternative where one can simply select the DMA to execute the automation script or even select multiple DMAs? The DataMiner version where this needs to be executed on is a 9.5 CU10.
Hi Laurens,
From within a script, you can launch a subscript and define the DMA where it needs to run:
Skyline.DataMiner.Net.Messages.ExecuteScriptMessage scriptMessage = new ExecuteScriptMessage()
{
DataMinerID = dma,//DMA ID
ScriptName = scriptname
};
Skyline.DataMiner.Net.Messages.DMSMessage Response = Engine.SLNet.SendSingleResponseMessage(scriptMessage);
Thanks for the idea. I’ve wrapped a loop around it so it iterates over all DMAs that I want to execute the script on.
For completeness if anyone else would be reading this question: I also needed to start the automation script with a parameter, this can be done by adding the options:
string[] options = new string[4];
options[0] = “PARAMETER:3:” + argument; // 3=parameter id, argument = parameter value
options[1] = “OPTIONS:4”;
options[2] = “CHECKSETS:TRUE”;
options[3] = “DEFER:FALSE”;
When defining the scriptMessage, set the Options property:
Options = new Skyline.DataMiner.Net.Messages.SA(options)