'  
'   Rebex Sample Code License
' 
'   Copyright 2025, REBEX CR s.r.o.
'   All rights reserved.
'   https://www.rebex.net/
' 
'   Permission to use, copy, modify, and/or distribute this software for any
'   purpose with or without fee is hereby granted.
' 
'   THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
'   EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
'   OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
'   NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
'   HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
'   WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
'   FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
'   OTHER DEALINGS IN THE SOFTWARE.
' 

Imports Rebex.TerminalEmulation
Imports System.Collections.Generic
Imports System.ComponentModel
Imports System.Text
Imports System.Windows.Forms

Namespace Scripts
    <Description("03: Multiple commands")> _
    Public Class MultipleCommands
        Public Shared Sub Execute(scripting As Scripting)
            ' detect remote shell's prompt
            scripting.DetectPrompt()

            ' send 'uname -a' command to detect OS name
            scripting.SendCommand("uname")

            ' read response (until prompt appears)
            Dim systemName As String = scripting.ReadUntilPrompt()

            ' send 'whoami' command to detect my user name
            scripting.SendCommand("whoami")

            ' read response
            Dim userName As String = scripting.ReadUntilPrompt()

            ' show message
            Dim message As String = "System name: " & systemName & vbLf & "User name: " & userName & vbLf
            MessageBox.Show(message)

            ' end of script
        End Sub

    End Class
End Namespace
