curl --request POST \
--url https://api.cyberdesk.io/v1/computer/{machine_id}/shell/powershell/exec \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"command": "<string>",
"same_session": true,
"working_directory": "<string>",
"session_id": "<string>",
"timeout": 30
}
'import requests
url = "https://api.cyberdesk.io/v1/computer/{machine_id}/shell/powershell/exec"
payload = {
"command": "<string>",
"same_session": True,
"working_directory": "<string>",
"session_id": "<string>",
"timeout": 30
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
command: '<string>',
same_session: true,
working_directory: '<string>',
session_id: '<string>',
timeout: 30
})
};
fetch('https://api.cyberdesk.io/v1/computer/{machine_id}/shell/powershell/exec', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.cyberdesk.io/v1/computer/{machine_id}/shell/powershell/exec",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'command' => '<string>',
'same_session' => true,
'working_directory' => '<string>',
'session_id' => '<string>',
'timeout' => 30
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.cyberdesk.io/v1/computer/{machine_id}/shell/powershell/exec"
payload := strings.NewReader("{\n \"command\": \"<string>\",\n \"same_session\": true,\n \"working_directory\": \"<string>\",\n \"session_id\": \"<string>\",\n \"timeout\": 30\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.cyberdesk.io/v1/computer/{machine_id}/shell/powershell/exec")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"command\": \"<string>\",\n \"same_session\": true,\n \"working_directory\": \"<string>\",\n \"session_id\": \"<string>\",\n \"timeout\": 30\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.cyberdesk.io/v1/computer/{machine_id}/shell/powershell/exec")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"command\": \"<string>\",\n \"same_session\": true,\n \"working_directory\": \"<string>\",\n \"session_id\": \"<string>\",\n \"timeout\": 30\n}"
response = http.request(request)
puts response.read_body{}{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>",
"input": "<unknown>",
"ctx": {}
}
]
}Execute PowerShell command
Execute PowerShell command on the machine.
curl --request POST \
--url https://api.cyberdesk.io/v1/computer/{machine_id}/shell/powershell/exec \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"command": "<string>",
"same_session": true,
"working_directory": "<string>",
"session_id": "<string>",
"timeout": 30
}
'import requests
url = "https://api.cyberdesk.io/v1/computer/{machine_id}/shell/powershell/exec"
payload = {
"command": "<string>",
"same_session": True,
"working_directory": "<string>",
"session_id": "<string>",
"timeout": 30
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
command: '<string>',
same_session: true,
working_directory: '<string>',
session_id: '<string>',
timeout: 30
})
};
fetch('https://api.cyberdesk.io/v1/computer/{machine_id}/shell/powershell/exec', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.cyberdesk.io/v1/computer/{machine_id}/shell/powershell/exec",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'command' => '<string>',
'same_session' => true,
'working_directory' => '<string>',
'session_id' => '<string>',
'timeout' => 30
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.cyberdesk.io/v1/computer/{machine_id}/shell/powershell/exec"
payload := strings.NewReader("{\n \"command\": \"<string>\",\n \"same_session\": true,\n \"working_directory\": \"<string>\",\n \"session_id\": \"<string>\",\n \"timeout\": 30\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.cyberdesk.io/v1/computer/{machine_id}/shell/powershell/exec")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"command\": \"<string>\",\n \"same_session\": true,\n \"working_directory\": \"<string>\",\n \"session_id\": \"<string>\",\n \"timeout\": 30\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.cyberdesk.io/v1/computer/{machine_id}/shell/powershell/exec")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"command\": \"<string>\",\n \"same_session\": true,\n \"working_directory\": \"<string>\",\n \"session_id\": \"<string>\",\n \"timeout\": 30\n}"
response = http.request(request)
puts response.read_body{}{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>",
"input": "<unknown>",
"ctx": {}
}
]
}Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Headers
Unique key for idempotent requests. If provided, the server ensures the request is processed at most once. Retries with the same key return the original response. SDKs auto-generate this for write requests.
"550e8400-e29b-41d4-a716-446655440000"
Path Parameters
Body
PowerShell command to execute
Use persistent session
Working directory for new session
Session ID to use
Maximum time in seconds to wait for command completion before returning. Cyberdriver 1.0.2+ continues one-shot commands in the background after timeout (default: 30.0)
Response
Successful Response
The response is of type Response Powershell Exec V1 Computer Machine Id Shell Powershell Exec Post · object.
Was this page helpful?