Receber por email
← Voltar para o catálogo

SuperOps Runbooks

Use this skill when working with SuperOps.ai runbooks and scripts - listing, executing, monitoring, and managing automated scripts on assets. Covers script types, execution parameters, scheduling, and result handling. Essential for MSP automation through SuperOps.ai RMM.

31estrelas
Atualizado há 4 meses

Ver no GitHub ↗ Licença: Apache-2.0

Como adicionar

/plugin marketplace add wyre-technology/msp-claude-plugins

O comando exato pode variar conforme o repositório. Confira o README no GitHub.

Para o autor da skill

Cole no README do seu repo

Mostra que sua skill está catalogada na Skillteca, gera backlink e tráfego rastreável.

[![Skillteca](https://www.skillteca.com.br/api/badge/superops-runbooks/svg)](https://www.skillteca.com.br/skills/superops-runbooks)
#ai

Skills relacionadas

Ver todas de Documentos →

Alerta por categoria

Receba novas skills de Documentos toda segunda

1 email curto, só com as skills novas de Documentos. 4 minutos de leitura, sem spam, cancela com 1 clique.

Você confirma o email no primeiro envio. Sem spam. Cancela com 1 clique.

Ler descrição completa

SuperOps.ai Runbook & Script Management

Overview

SuperOps.ai provides powerful automation through scripts (runbooks) that can be executed on managed assets. Scripts can perform maintenance tasks, remediation actions, data collection, and custom automation. This skill covers script discovery, execution, scheduling, and result monitoring.

Script Types

| Type | Description | Use Case | |------|-------------|----------| | PowerShell | Windows PowerShell scripts | Windows automation | | Batch | Windows batch scripts | Simple Windows tasks | | Bash | Unix shell scripts | macOS/Linux automation | | Python | Python scripts | Cross-platform automation |

Run As Options

| Option | Description | When to Use | |--------|-------------|-------------| | System | Run as SYSTEM account | Admin tasks, service management | | Logged-in User | Current user context | User-specific tasks | | Specific User | Custom credentials | Specific permission needs |

Execution Priority

| Priority | Description | |----------|-------------| | Immediate | Execute as soon as possible | | Normal | Standard queue priority | | Low | Execute during low activity |

Key Script Fields

Script Definition Fields

| Field | Type | Description | |-------|------|-------------| | scriptId | ID | Unique identifier | | name | String | Script name | | description | String | What the script does | | type | Enum | PowerShell, Batch, Bash, Python | | content | String | Script source code | | parameters | [Parameter] | Input parameters | | timeout | Int | Execution timeout (seconds) | | osType | Enum | Windows, macOS, Linux |

Execution Fields

| Field | Type | Description | |-------|------|-------------| | actionConfigId | ID | Execution instance ID | | status | Enum | Pending, Running, Success, Failed | | startTime | DateTime | Execution start | | endTime | DateTime | Execution end | | exitCode | Int | Script exit code | | output | String | Script output | | error | String | Error messages |

GraphQL Operations

List Available Scripts

query getScriptList($input: ListInfoInput!) {
  getScriptList(input: $input) {
    scripts {
      scriptId
      name
      description
      type
      osType
      category
      parameters {
        name
        description
        type
        required
        defaultValue
      }
      createdTime
      lastModifiedTime
    }
    listInfo {
      totalCount
      hasNextPage
      endCursor
    }
  }
}

Variables - All Scripts:

{
  "input": {
    "first": 50,
    "orderBy": {
      "field": "name",
      "direction": "ASC"
    }
  }
}

Variables - Windows PowerShell Scripts:

{
  "input": {
    "filter": {
      "osType": "Windows",
      "type": "PowerShell"
    }
  }
}

Get Scripts by OS Type

query getScriptListByType($input: ScriptListByTypeInput!) {
  getScriptListByType(input: $input) {
    scripts {
      scriptId
      name
      description
      type
      parameters {
        name
        type
        required
      }
    }
    listInfo {
      totalCount
    }
  }
}

Variables:

{
  "input": {
    "osType": "Windows",
    "first": 100
  }
}

Get Script Details

query getScript($input: ScriptIdentifierInput!) {
  getScript(input: $input) {
    scriptId
    name
    description
    type
    osType
    category
    content
    timeout
    parameters {
      name
      description
      type
      required
      defaultValue
      validValues
    }
    runAs
    createdBy {
      id
      name
    }
    createdTime
    lastModifiedTime
  }
}

Variables:

{
  "input": {
    "scriptId": "script-uuid"
  }
}

Run Script on Single Asset

mutation runScriptOnAsset($input: RunScriptInput!) {
  runScriptOnAsset(input: $input) {
    actionConfigId
    script {
      scriptId
      name
    }
    asset {
      assetId
      name
    }
    arguments {
      name
      value
    }
    status
    scheduledTime
    runAs
  }
}

Variables - Immediate Execution:

{
  "input": {
    "assetId": "asset-uuid",
    "scriptId": "script-uuid",
    "runAs": "System",
    "priority": "Immediate"
  }
}

Variables - With Parameters:

{
  "input": {
    "assetId": "asset-uuid",
    "scriptId": "script-uuid",
    "arguments": [
      {
        "name": "ServiceName",
        "value": "Spooler"
      },
      {
        "name": "Action",
        "value": "Restart"
      }
    ],
    "runAs": "System",
    "priority": "Normal"
  }
}

Run Script on Multiple Assets

mutation runScriptOnAssets($input: RunScriptOnAssetsInput!) {
  runScriptOnAssets(input: $input) {
    batchId
    script {
      scriptId
      name
    }
    assetsCount
    status
    scheduledTime
  }
}

Variables:

{
  "input": {
    "assetIds": ["asset-1", "asset-2", "asset-3"],
    "scriptId": "script-uuid",
    "arguments": [
      {
        "name": "param1",
        "value": "value1"
      }
    ],
    "runAs": "System",
    "priority": "Normal"
  }
}

Schedule Script Execution

mutation scheduleScript($input: ScheduleScriptInput!) {
  scheduleScript(input: $input) {
    scheduleId
    script {
      scriptId
      name
    }
    assets {
      assetId
      name
    }
    scheduledTime
    recurrence {
      type
      interval
      daysOfWeek
    }
    status
  }
}

Variables - One-Time Schedule:

{
  "input": {
    "assetIds": ["asset-uuid"],
    "scriptId": "script-uuid",
    "scheduledTime": "2024-02-15T22:00:00Z",
    "runAs": "System"
  }
}

Variables - Recurring Schedule:

{
  "input": {
    "assetIds": ["asset-uuid"],
    "scriptId": "script-uuid",
    "scheduledTime": "2024-02-15T22:00:00Z",
    "recurrence": {
      "type": "Weekly",
      "interval": 1,
      "daysOfWeek": ["Monday", "Wednesday", "Friday"]
    },
    "runAs": "System"
  }
}

Get Script Execution Status

query getScriptExecution($input: ScriptExecutionInput!) {
  getScriptExecution(input: $input) {
    actionConfigId
    script {
      scriptId
      name
    }
    asset {
      assetId
      name
    }
    status
    startTime
    endTime
    exitCode
    output
    error
    duration
  }
}

Variables:

{
  "input": {
    "actionConfigId": "execution-uuid"
  }
}

Get Batch Execution Results

query getBatchExecution($input: BatchExecutionInput!) {
  getBatchExecution(input: $input) {
    batchId
    script {
      scriptId
      name
    }
    status
    totalAssets
    completedCount
    successCount
    failedCount
    executions {
      asset {
        assetId
        name
      }
      status
      exitCode
      output
      error
    }
  }
}

List Script Execution History

query getScriptExecutionHistory($input: ScriptExecutionHistoryInput!) {
  getScriptExecutionHistory(input: $input) {
    executions {
      actionConfigId
      script {
        scriptId
        name
      }
      asset {
        assetId
        name
        client { name }
      }
      status
      startTime
      endTime
      exitCode
      triggeredBy {
        id
        name
      }
    }
    listInfo {
      totalCount
      hasNextPage
    }
  }
}

Variables - Recent Executions:

{
  "input": {
    "first": 50,
    "orderBy": {
      "field": "startTime",
      "direction": "DESC"
    }
  }
}

Variables - By Asset:

{
  "input": {
    "filter": {
      "assetId": "asset-uuid"
    },
    "first": 20
  }
}

Common Workflows

Remediation Workflow

# 1. Check if asset is online
query checkAssetStatus {
  getAsset(input: { assetId: "asset-uuid" }) {
    status
    lastSeen
  }
}

# 2. Run remediation script
mutation runRemediation {
  runScriptOnAsset(input: {
    assetId: "asset-uuid",
    scriptId:
Compartilhar X LinkedIn