Пример #1
0
        private void RunScriptCode()
        {
            string powerShellScript    = GetStringProperty(Constants.SOProperties.SimplePowerShell.PowerShellScript, true);
            string serializedVariables = GetStringProperty(Constants.SOProperties.SimplePowerShell.Variables, false);

            ServiceObject serviceObject = ServiceBroker.Service.ServiceObjects[0];

            serviceObject.Properties.InitResultTable();
            DataTable results = ServiceBroker.ServicePackage.ResultTable;

            //deserialize variables
            List <PowerShellVariablesDC> variablesList = new List <PowerShellVariablesDC>();

            if (!String.IsNullOrEmpty(serializedVariables))
            {
                variablesList = PowerShellSerializationHelper.DeserializeArrayToList(serializedVariables);
            }

            //run script
            string scriptOutput = PowerShellHelper.RunScriptCode(powerShellScript, variablesList);

            DataRow dr = results.NewRow();

            dr[Constants.SOProperties.SimplePowerShell.ScriptOutput] = scriptOutput;
            if (variablesList.Count != 0)
            {
                dr[Constants.SOProperties.SimplePowerShell.Variables] = PowerShellSerializationHelper.SerializeList(variablesList);
            }
            else
            {
                dr[Constants.SOProperties.SimplePowerShell.Variables] = String.Empty;
            }

            results.Rows.Add(dr);
        }
        private void Deserialize()
        {
            string serializedItem = GetStringProperty(Constants.SOProperties.PowershellVariables.SerializedItem, true);

            ServiceObject serviceObject = ServiceBroker.Service.ServiceObjects[0];

            serviceObject.Properties.InitResultTable();
            DataTable results = ServiceBroker.ServicePackage.ResultTable;

            PowerShellVariablesDC powerShellVariables = PowerShellSerializationHelper.Deserialize(serializedItem);

            DataRow dr = results.NewRow();

            dr[Constants.SOProperties.PowershellVariables.Name]  = powerShellVariables.Name;
            dr[Constants.SOProperties.PowershellVariables.Value] = powerShellVariables.Value;

            results.Rows.Add(dr);
        }
        private void AddSerializedItemToArray()
        {
            string serializedArray = GetStringProperty(Constants.SOProperties.PowershellVariables.SerializedArray, true);
            string serializedItem  = GetStringProperty(Constants.SOProperties.PowershellVariables.SerializedItem, true);

            ServiceObject serviceObject = ServiceBroker.Service.ServiceObjects[0];

            serviceObject.Properties.InitResultTable();
            DataTable results = ServiceBroker.ServicePackage.ResultTable;

            serializedArray = PowerShellSerializationHelper.AddSerializedItemToArray(serializedArray, serializedItem);

            DataRow dr = results.NewRow();

            dr[Constants.SOProperties.PowershellVariables.SerializedArray] = serializedArray;

            results.Rows.Add(dr);
        }
        private void SerializeItem()
        {
            string name  = GetStringProperty(Constants.SOProperties.PowershellVariables.Name, true);
            string value = GetStringProperty(Constants.SOProperties.PowershellVariables.Value, true);

            ServiceObject serviceObject = ServiceBroker.Service.ServiceObjects[0];

            serviceObject.Properties.InitResultTable();
            DataTable results = ServiceBroker.ServicePackage.ResultTable;

            string serializedItem = PowerShellSerializationHelper.SerializeItem(name, value);

            DataRow dr = results.NewRow();

            dr[Constants.SOProperties.PowershellVariables.SerializedItem] = serializedItem;

            results.Rows.Add(dr);
        }
        private void DeserializeArrayToList()
        {
            string serializedArray = GetStringProperty(Constants.SOProperties.PowershellVariables.SerializedArray, true);

            ServiceObject serviceObject = ServiceBroker.Service.ServiceObjects[0];

            serviceObject.Properties.InitResultTable();
            DataTable results = ServiceBroker.ServicePackage.ResultTable;

            List <PowerShellVariablesDC> powerShellVariablesList = PowerShellSerializationHelper.DeserializeArrayToList(serializedArray);

            foreach (PowerShellVariablesDC item in powerShellVariablesList)
            {
                DataRow dr = results.NewRow();
                dr[Constants.SOProperties.PowershellVariables.Name]  = item.Name;
                dr[Constants.SOProperties.PowershellVariables.Value] = item.Value;
                results.Rows.Add(dr);
            }
        }
        private void RunScript()
        {
            string serializedVariables = GetStringProperty(Constants.SOProperties.SimplePowerShell.Variables, false);

            ServiceObject serviceObject = ServiceBroker.Service.ServiceObjects[0];

            serviceObject.Properties.InitResultTable();
            DataTable results = ServiceBroker.ServicePackage.ResultTable;

            //get script path
            string metaDataScriptPath = serviceObject.Methods[0].MetaData.GetServiceElement <string>(Constants.SOProperties.DynamicPowerShell.MetaDataScriptPath);

            //deserialize variables
            List <PowerShellVariablesDC> variablesList = new List <PowerShellVariablesDC>();

            if (!String.IsNullOrEmpty(serializedVariables))
            {
                variablesList = PowerShellSerializationHelper.DeserializeArrayToList(serializedVariables);
            }

            //run script from file
            string scriptOutput = PowerShellHelper.RunScriptFile(metaDataScriptPath, variablesList);

            DataRow dr = results.NewRow();

            dr[Constants.SOProperties.DynamicPowerShell.ScriptOutput] = scriptOutput;
            if (variablesList.Count != 0)
            {
                dr[Constants.SOProperties.DynamicPowerShell.Variables] = PowerShellSerializationHelper.SerializeList(variablesList);
            }
            else
            {
                dr[Constants.SOProperties.DynamicPowerShell.Variables] = String.Empty;
            }

            results.Rows.Add(dr);
        }