public static SshSession AddToSshSessionCollection(SshClient sshclient, SessionState pssession) { //Set initial variables var obj = new SshSession(); var sshSessions = new List<SshSession>(); var index = 0; // Retrieve existing sessions from the global variable. var sessionvar = pssession.PSVariable.GetValue("Global:SshSessions") as List<SshSession>; // If sessions exist we set the proper index number for them. if (sessionvar != null && sessionvar.Count > 0) { sshSessions.AddRange(sessionvar); // Get the SessionId of the last item and count + 1 SshSession lastSession = sshSessions[sshSessions.Count - 1]; index = lastSession.SessionId + 1; } // Create the object that will be saved obj.SessionId = index; obj.Host = sshclient.ConnectionInfo.Host; obj.Session = sshclient; sshSessions.Add(obj); // Set the Global Variable for the sessions. pssession.PSVariable.Set((new PSVariable("Global:SshSessions", sshSessions, ScopedItemOptions.AllScope))); return obj; }
public static SshSession AddToSshSessionCollection(SshClient sshclient, SessionState pssession) { //Set initial variables var obj = new SshSession(); var sshSessions = new List <SshSession>(); Int32 index = 0; // Retrive existing sessions from the globla variable. var sessionvar = pssession.PSVariable.GetValue("Global:SshSessions") as List <SshSession>; // If sessions exist we set the proper index number for it. if (sessionvar != null) { sshSessions.AddRange(sessionvar); index = sshSessions.Count; } // Create the object that will be saved obj.Index = index; obj.Host = sshclient.ConnectionInfo.Host; obj.Session = sshclient; sshSessions.Add(obj); // Set the Global Variable for the sessions. pssession.PSVariable.Set((new PSVariable("Global:SshSessions", sshSessions, ScopedItemOptions.AllScope))); return(obj); }