You've already forked OpenIntegrations
mirror of
https://github.com/Bayselonarrend/OpenIntegrations.git
synced 2026-05-18 09:51:28 +02:00
144 lines
4.2 KiB
Plaintext
Vendored
144 lines
4.2 KiB
Plaintext
Vendored
---
|
|
sidebar_position: 3
|
|
|
|
description: Execute command and other functions to work with SSH in the Open Integration Package, a free open-source integration library for 1C:Enterprise 8, OneScript and CLI
|
|
keywords: [1C, 1С, 1С:Enterprise, 1С:Enterprise 8.3, API, Integration, Services, Exchange, OneScript, CLI, SSH]
|
|
---
|
|
|
|
import Tabs from '@theme/Tabs';
|
|
import TabItem from '@theme/TabItem';
|
|
import Admonition from '@theme/Admonition';
|
|
|
|
# Execute command
|
|
Executes the specified command
|
|
|
|
|
|
|
|
<Tabs>
|
|
<TabItem value="params" label="Parameters" default>
|
|
|
|
`Function ExecuteCommand(Val Connection, Val Command) Export`
|
|
|
|
| Parameter | CLI option | Type | Required | Description |
|
|
|-|-|-|-|-|
|
|
| Connection | --conn | Arbitrary | ✔ | Existing connection or connection configuration |
|
|
| Command | --comm | String | ✔ | Command text |
|
|
|
|
|
|
<div className="return-value-note">
|
|
<div className="return-value-note__title">Returns</div>
|
|
<div className="return-value-note__value">
|
|
Map Of KeyAndValue - Processing result
|
|
</div>
|
|
</div>
|
|
|
|
</TabItem>
|
|
<TabItem value="extended" label={<span>Advanced call{' '}<a href="/docs/Start/Advanced-call" target="_blank" rel="noreferrer" title="About advanced call" onClick={(e) => e.stopPropagation()}>?</a></span>}>
|
|
|
|
*This method has no additional advanced call parameters.*
|
|
|
|
|
|
</TabItem>
|
|
</Tabs>
|
|
|
|
|
|
|
|
```bsl title="1C:Enterprise/OneScript code example"
|
|
Host = "172.33.0.13";
|
|
Port = "2222";
|
|
|
|
UseProxy = True;
|
|
ProxySettings = Undefined;
|
|
AuthorizationType = "By login and password";
|
|
|
|
If AuthorizationType = "By login and password" Then
|
|
|
|
Login = "bayselonarrend";
|
|
Password = "12we...";
|
|
|
|
SSHSettings = OPI_SSH.GetSettingsLoginPassword(Host, Port, Login, Password);
|
|
|
|
ElsIf AuthorizationType = "By key" Then
|
|
|
|
Login = "bayselonarrend";
|
|
PrivateKey = "./ssh_key";
|
|
PublicKey = "./ssh_key.pub";
|
|
|
|
SSHSettings = OPI_SSH.GetSettingsPrivateKey(Host, Port, Login, PrivateKey, PublicKey);
|
|
|
|
ElsIf AuthorizationType = "Keyboard interactive" Then
|
|
|
|
Login = "bayselonarrend";
|
|
Password = "12we...";
|
|
|
|
AnswersArray = New Array;
|
|
AnswersArray.Add(Password);
|
|
|
|
SSHSettings = OPI_SSH.GetSettingsKI(Host, Port, Login, AnswersArray);
|
|
|
|
Else
|
|
|
|
Login = "bayselonarrend";
|
|
SSHSettings = OPI_SSH.GetSettingsViaAgent(Host, Port, Login);
|
|
|
|
EndIf;
|
|
|
|
If UseProxy Then
|
|
|
|
ProxyType = "http"; // http, socks5, socks4
|
|
|
|
ProxyAddress = "127.0.0.1";
|
|
ProxyPort = "8071";
|
|
ProxyLogin = "proxyuser";
|
|
ProxyPassword = "12we...";
|
|
|
|
ProxySettings = OPI_SSH.GetProxySettings(ProxyAddress, ProxyPort, ProxyType, ProxyLogin, ProxyPassword);
|
|
|
|
EndIf;
|
|
|
|
Connection = OPI_SSH.CreateConnection(SSHSettings, ProxySettings);
|
|
|
|
If OPI_SSH.IsConnector(Connection) Then
|
|
Result = OPI_SSH.ExecuteCommand(Connection, "whoami");
|
|
Else
|
|
Result = Connection; // Error of connection
|
|
EndIf;
|
|
```
|
|
|
|
|
|
<Tabs>
|
|
|
|
<TabItem value="bash" label="Bash" default>
|
|
```bash
|
|
# JSON data can also be passed as a path to a .json file
|
|
|
|
oint ssh ExecuteCommand \
|
|
--conn "{'set':{'auth_type':'keyboard_interactive','host':'172.33.0.34','port':'2223','username':'bayselonarrend','keyboard_responses':['12we3456!2154']},'proxy':{'server':'127.0.0.1','port':'8071','proxy_type':'http','login':'proxyuser','password':'***'}}" \
|
|
--comm "whoami"
|
|
```
|
|
</TabItem>
|
|
|
|
<TabItem value="bat" label="CMD/Bat" default>
|
|
```batch
|
|
:: JSON data can also be passed as a path to a .json file
|
|
|
|
oint ssh ExecuteCommand ^
|
|
--conn "{'set':{'auth_type':'keyboard_interactive','host':'172.33.0.34','port':'2223','username':'bayselonarrend','keyboard_responses':['12we3456!2154']},'proxy':{'server':'127.0.0.1','port':'8071','proxy_type':'http','login':'proxyuser','password':'***'}}" ^
|
|
--comm "whoami"
|
|
```
|
|
</TabItem>
|
|
</Tabs>
|
|
|
|
|
|
```json title="Result"
|
|
{
|
|
"exit_code": "0",
|
|
"result": true,
|
|
"stderr": "",
|
|
"stdout": "bayselonarrend",
|
|
"close_connection": {
|
|
"result": true
|
|
}
|
|
}
|
|
```
|