# $language = "python" # $interface = "1.0" # SendCommandToTabs.py # # Description: # This example script shows how to send the same command to all tabs # that currently have an active connection. # # Demonstrates: # - How to send a command to all tabs using the tab scripting capability # of SecureCRT # - How to prompt user for input using the crt.Dialog.Prompt() method. # - How to access the total number of Tabs in the SecureCRT window # by using the crt.GetTabCount property # - How to Activate a tab in the UI from within a script. # - How to use the Session.Connected property to determine if a tab # currently has an active connection or not. # - How to send data to a tab using the screen.Send method in SecureCRT. # Get a reference to the tab that was active when this script was launched. initialTab = crt.GetScriptTab() #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ def Main(): # Ask user what command should be sent to each tabs command = crt.Dialog.Prompt("Enter command to be sent to all tabs:", "Send To All Connected Tabs", "ls -al", False) if command == "": return # Give the user a chance to review the command and cancel if they notice # something wrong. response = crt.Dialog.MessageBox("Are you sure you want to send the\ following command to __ALL__ tabs?\n\n" + command, "Send Command To All Tabs - Confirm", BUTTON_YESNO) if response != IDYES: return # Activate each tab in order from left to right, and issue the command in # each "connected" tab... skippedTabs = "" for i in range(1, crt.GetTabCount()+1): tab = crt.GetTab(i) tab.Activate() # Skip tabs that aren't connected if tab.Session.Connected == True: tab.Screen.Send(command + "\n") else: if skippedTabs == "": skippedTabs = str(i) else: skippedTabs = skippedTabs + "," + str(i) # Now, activate the original tab on which the script was started initialTab.Activate() # Determine if there were any skipped tabs, and prepare a message for # displaying at the end. if skippedTabs != "": skippedTabs = "\n\n\The following tabs did not receive the command because\n\ they were not connected at the time:\n\t" + skippedTabs crt.Dialog.MessageBox("The following command was sent to all \ connected tabs:\n\t" + command + skippedTabs) Main()