Command Line Interface CLI Actions
  • 03 Jun 2022
  • 2 Minutes to read
  • Dark
    Light

Command Line Interface CLI Actions

  • Dark
    Light

Article Summary

Command Line Interface (CLI) Actions

openRemoteCLI

Open an SSH connection to a remote system.

Property

Value

Description

host*

text, expression, variable

the remote host name or address

port

expression, variable

the remote port (default: 22)

user*

text, expression, variable

the username for remote host

password*

password, string, expression, variable

the password for remote host

options

expression, variable

the value of the ciphers (allowed encryption algorithms), macs (allowed hashing algorithms), or whether to allow debugging to facilitate troubleshooting (debug: true)

returnVariable

expression, variable

name of the variable to be assigned to the return value

session = openRemoteCLI("host1.acme.org", 22, "root","password")
close(session)

openRemoteCLIWithCert

Open an SSH connection to a remote system using public/private key authentication.

Property

Value

Description

host*

text, expression, variable

the remote host name or address

port

expression, variable

the remote port (default: 22)

user*

text, expression, variable

the username for remote host

privateKey*

text, expression, variable

the path of the private key file within the project file store or the private key loaded as a byte array

publicKey

text, expression, variable

the path of the public key file within the project file store or the public key loaded as a byte array (default: none)

passPhrase

password, string, expression, variable

the passPhrase for private key (default: none)

options

expression, variable

the value of the ciphers (allowed encryption algorithms), macs (allowed hashing algorithms), or whether to allow debugging to provide more information to facilitate troubleshooting (debug: true)

returnVariable

expression, variable

name of the variable to be assigned to the return value

# assumes public and private key have been uploaded to project
files store,
# and public key has been added as a trusted identity on SSH
remote server
session = openRemoteCLIWithCert("host1.acme.org", 22, "root",
"/.ssh/id_rsa", "/.ssh/id_rsa.pub", <Password>)
close(session)

openRemoteWindowsCLI

Open a CLI connection to a remote Windows system.

Property

Value

Description

host*

text, expression, variable

the remote host name or address

user*

text, expression, variable

the username for remote host (must be an administrator)

domain*

text, expression, variable

the domain for the user

password*

password, string, expression, variable

the password for remote host

returnVariable

expression, variable

name of the variable to be assigned to the return value

session = openRemoteWindowsCLI("windows.acme.org", "Administrator",
"ACME", <Password>)
close(session)

quoteCLIParam

Quote a CLI command parameter so that no characters have special meaning to the CLI interpreter.

Property

Value

Description

param*

text, expression, variable

the command parameter to quote

method*

choice (cmd, powershell, sh), text, expression, variable

the cli quoting method

returnVariable

expression, variable

name of the variable to be assigned to the return value

# open file with windows local users to create
varNewUsersInput = openDelimitedTextInput(newwindowslocalusers.csv,
"username, givenName, surname, password")
varSession = openRemoteWindowsCLI("windows.acme.org", "Administrator",
"ACME", <Password>)
close(session)
forEach(varNewUserRecord, newUsersInput) {
# quote the dynamic data for use with powershell
varQuotedUsername = quoteCLIParam(varNewUserRecord[\'username\'],
"powershell")
varQuotedFullName = quoteCLIParam(varNewUserRecord[\'givenName\']
+ " " + varNewUserRecord[\'surname\'], "powershell")
varQuotedPassword = quoteCLIParam(varNewUserRecord[\'username\'],
"powershell")
# build the powershell command using the quoted data
varPSCommand = "$Computer = [ADSI]\\"WinNT://$Env:COMPUTERNAME,
Computer\\""
varPSCommand = $varPSCommand + ";$LocalAdmin = $Computer.Create
(\'User\" + varQuotedUsername + ")"
varPSCommand = $varPSCommand + ";$LocalAdmin.SetPassword
(" + varQuotedPassword + ")"\n varPSCommand = $varPSCommand +
";$LocalAdmin.SetFullName(" + varQuotedQuotedFullname + ")"
varPSCommand = varPSCommand + ";$LocalAdmin.UserFlags = 64 + 65536"
varPSCommand = varPSCommand + ";$LocalAdmin.SetInfo()"
# quote the entire powershell command for cmd
varQuotedPSCommand = quoteCLIParam(varPSCommand, "cmd")
runRemoteCLICommand(varSession, "powershell -command " +      
varQuotedPSCommand)
}
close(varSession)
close(varNewUsersInput)

runCLICommand

Run a CLI command. Returns a record with 3 fields: exitStatus, output, and error.

Property

Value

Description

command*

text, expression, variable

the command to run

input

text, expression, variable

a string to feed to the command as standard input (default: none)

env

expression, variable

a Record containing environment variables to set (default: none)

returnVariable

expression, variable

name of the variable to be assigned to the return value

result = runCLICommand("date")
# Should return current date/time
log(, u"result['output']", )

runRemoteCLICommand

Run a CLI command on a remote system. Returns a record with 3 fields: exitStatus, output, and error.

Property

Value

Description

remoteCLI*

expression, variable

the remote CLI connection

command*

text, expression, variable

the command to run.

input

text, expression, variable

a string to feed to the command as standard input (default: none)

env

expression, variable

a Record containing environment variables to set (default: none)

returnVariable

expression, variable

name of the variable to be assigned to the return value

session = openRemoteCLI("host1.acme.org","root","password")
result = runRemoteCLICommand(session,"date")
close(session)
# Should return current date/time
log(, u"result['output']", )

Was this article helpful?