コード例 #1
0
        public static List <ConnectionEntry> Load(string path)
        {
            var plist = Plist.readPlist(Decompress(File.ReadAllBytes(path)));

            // map dictionary to object using JsonConvert
            var data = JsonConvert.DeserializeObject <WinRMXFileStruct>(JsonConvert.SerializeObject(plist));

            var result = new List <ConnectionEntry>();

            foreach (var comp in data.computers)
            {
                var entry = new ConnectionEntry()
                {
                    Description      = comp.displayName,
                    HostName         = comp.hostName,
                    WebServiceURL    = data.webServices[comp.webServiceIndex].url,
                    ExecutionPolicy  = comp.executionPolicy,
                    GroupName        = comp.group,
                    StartupScript    = comp.startupScript,
                    UseCredSSP       = comp.authentication == 4,
                    UserName         = data.credentials[comp.credentialsIndex].userName,
                    ShowAvailability = comp.showAvailability
                };

                result.Add(entry);
            }

            return(result);
        }
コード例 #2
0
        private void btnAdd_Click(object sender, EventArgs e)
        {
            var item = new ConnectionEntry()
            {
                ExecutionPolicy  = "Unrestricted",
                UseCredSSP       = true,
                ShowAvailability = true,
                HostName         = "localhost"
            };

            if (cmbURL.Items.Count == 1)
            {
                item.WebServiceURL = cmbURL.Items[0].ToString();
            }

            if (cmbUserName.Items.Count == 1)
            {
                item.UserName = cmbUserName.Items[0].ToString();
            }

            connections.Add(item);

            ReloadTree();

            treeView.SelectedNode = treeView.FindNode(item);

            txtHost.Focus();
            txtHost.SelectAll();
        }
コード例 #3
0
        private void BindEntry(ConnectionEntry entry)
        {
            selectedEntry = null;

            btnRemove.Enabled   = entry != null;
            btnCopy.Enabled     = btnRemove.Enabled;
            panelInputs.Enabled = btnRemove.Enabled;
            btnSort.Enabled     = connections.Count > 0;

            if (entry != null)
            {
                txtDescription.Text  = entry.Description;
                txtHost.Text         = entry.HostName;
                checkCredSSP.Checked = entry.UseCredSSP;
                checkMonitor.Checked = entry.ShowAvailability;

                cmbGroup.Text              = entry.GroupName;
                cmbStartupScript.Text      = entry.StartupScript;
                cmbUserName.Text           = entry.UserName;
                cmbURL.Text                = entry.WebServiceURL;
                cmbExecPolicy.SelectedItem = execPolicyItems.Where(x => x.Name == (entry.ExecutionPolicy ?? "")).SingleOrDefault();
            }

            selectedEntry = entry;

            ValidateInputs();
        }
コード例 #4
0
 public void Process(ConnectionEntry entry)
 {
     values.Add(selector(entry));
 }