Exemple #1
0
        public PowerShellScript.Result Run(string ipAddress, Dictionary <string, object> parameters, CancellationToken cancelToken)
        {
            PowerShellScript.Result result;

            using (var rs = RunspaceFactory.CreateRunspace())
            {
                rs.Open();

                parameters.TryGetValue(ParameterManager.SpecialParamName.UserName, out object userName);
                parameters.TryGetValue(ParameterManager.SpecialParamName.UserPassword, out object userPassword);

                var sessionResult = SessionManager.Instance.CreateSession(rs, ipAddress, (string)userName, (string)userPassword, cancelToken);
                var session       = sessionResult.objs.FirstOrDefault()?.BaseObject;
                if (session == null)
                {
                    result = sessionResult;
                }
                else
                {
                    parameters.Add("session", session);
                    result = psScript.Invoke(rs, parameters, cancelToken);
                }
            }

            return(result);
        }
Exemple #2
0
        public PowerShellScript.Result CreateSession(string ipAddress, string userName, string passwordStr, PowerShellScript.InvokeParameter param)
        {
            var p = new PowerShellScript.InvokeParameter(param);

            p.parameters.Add("ComputerName", ipAddress);
            p.parameters.Add("cred", CreateCredential(userName, passwordStr));

            return(createSession.Invoke(p));
        }
Exemple #3
0
        public PowerShellScript.Result CreateSession(Runspace rs, string ipAddress, string userName, string passwordStr, CancellationToken cancelToken)
        {
            var dic = new Dictionary <string, object>();

            dic.Add("ComputerName", ipAddress);
            dic.Add("cred", CreateCredential(userName, passwordStr));

            return(createSession.Invoke(rs, dic, cancelToken));
        }
Exemple #4
0
        public PowerShellScript.Result Run(string ipAddress, PowerShellScript.InvokeParameter param)
        {
            PowerShellScript.Result result;

            param.parameters.TryGetValue(ParameterManager.SpecialParamName.UserName, out var userName);
            param.parameters.TryGetValue(ParameterManager.SpecialParamName.UserPassword, out var userPassword);

            var sessionResult = SessionManager.Instance.CreateSession(ipAddress, (string)userName, (string)userPassword, param);
            var session       = sessionResult.objs.FirstOrDefault()?.BaseObject;

            if (session == null)
            {
                result = sessionResult;
            }
            else
            {
                param.parameters.Add(ReservedParameterName.Session, session);
                result = psScript.Invoke(param);
            }


            return(result);
        }