public pshell() { try { pspath = poshsecframework.Properties.Settings.Default["ScriptPath"].ToString(); ps = new pscript(); ps.ScriptCompleted += new EventHandler<pseventargs>(ScriptCompleted); } catch (Exception e) { //Base Exception Handler MessageBox.Show("Unhandled exception in script function." + Environment.NewLine + e.Message + Environment.NewLine + "Stack Trace:" + Environment.NewLine + e.StackTrace); } }
private void GetCommand() { try { PShell.pscript ps = new PShell.pscript(); ps.ParentForm = this; Collection<PSObject> rslt = ps.GetCommand(); ps = null; if (rslt != null) { List<String> accmds = new List<String>(); lvwCommands.Items.Clear(); lvwCommands.BeginUpdate(); foreach (PSObject po in rslt) { ListViewItem lvw = null; switch (po.BaseObject.GetType().Name) { case "AliasInfo": AliasInfo ai = (AliasInfo)po.BaseObject; if (btnShowAliases.Checked) { lvw = new ListViewItem(); lvw.Text = ai.Name; lvw.ToolTipText = ai.Name; lvw.SubItems.Add(ai.ModuleName); lvw.ImageIndex = (int)LibraryImages.Alias; accmds.Add(ai.Name); } break; case "FunctionInfo": FunctionInfo fi = (FunctionInfo)po.BaseObject; if (btnShowFunctions.Checked) { lvw = new ListViewItem(); lvw.Text = fi.Name; lvw.ToolTipText = fi.Name; lvw.SubItems.Add(fi.ModuleName); lvw.ImageIndex = (int)LibraryImages.Function; accmds.Add(fi.Name); } break; case "CmdletInfo": CmdletInfo cmi = (CmdletInfo)po.BaseObject; if (btnShowCmdlets.Checked) { lvw = new ListViewItem(); lvw.Text = cmi.Name; lvw.ToolTipText = cmi.Name; lvw.SubItems.Add(cmi.ModuleName); lvw.ImageIndex = (int)LibraryImages.Cmdlet; accmds.Add(cmi.Name); } break; default: Console.WriteLine(po.BaseObject.GetType().Name); break; } if (lvw != null && (cmbLibraryTypes.Text == "All" || cmbLibraryTypes.Text.ToLower() == lvw.SubItems[1].Text.ToLower())) { lvwCommands.Items.Add(lvw); } else { lvw = null; } } lvwCommands.EndUpdate(); accmds.Sort(); txtPShellOutput.AutoCompleteCommands = accmds; } } catch (Exception e) { DisplayError(e); } }