aws:runCommand - Führt einen Befehl auf einer verwalteten Instance aus - AWS Systems Manager

aws:runCommand - Führt einen Befehl auf einer verwalteten Instance aus

Führt die angegebenen Befehle aus.

Anmerkung

Automation unterstützt nur die Ausgabe einer AWS Systems Manager Run Command-Aktion. Ein Runbook kann mehrere Run Command-Aktionen und enthalten, die Ausgabe wird allerdings nur für je eine Aktion unterstützt.

Eingabe

Diese Aktion unterstützt die meisten Befehlsendeparameter. Weitere Informationen finden Sie unter SendCommand.

YAML
- name: checkMembership action: 'aws:runCommand' inputs: DocumentName: AWS-RunPowerShellScript InstanceIds: - '{{InstanceIds}}' Parameters: commands: - (Get-WmiObject -Class Win32_ComputerSystem).PartOfDomain
JSON
{ "name": "checkMembership", "action": "aws:runCommand", "inputs": { "DocumentName": "AWS-RunPowerShellScript", "InstanceIds": [ "{{InstanceIds}}" ], "Parameters": { "commands": [ "(Get-WmiObject -Class Win32_ComputerSystem).PartOfDomain" ] } } }
DocumentName

Geben Sie den Namen des Dokuments an, wenn das Befehlstyp-Dokument Ihnen oder AWS gehört. Geben Sie den Amazon-Ressourcennamen (ARN) des Dokuments an, wenn Sie ein Dokument verwenden, das von einem anderen AWS-Konto mit Ihnen geteilt wird. Weitere Informationen zur Verwendung von geteilten Dokumenten finden Sie unter Verwenden von freigegebenen SSM-Dokumenten.

Typ: Zeichenfolge

Erforderlich: Ja

InstanceIds

Die Instance-IDs, auf denen Sie den Befehl ausführen möchten. Sie können maximal 50 IDs angeben.

Sie können auch Pseudoparameter {{RESOURCE_ID}} anstelle von Instance-IDs verwenden, um den Befehl auf allen Instances in der Zielgruppe auszuführen. Weitere Informationen zu Pseudoparametern finden Sie unter Verwendung von Pseudo-Parametern bei der Registrierung von Aufgaben im Wartungsfenster.

Alternativ können Sie Befehle mit dem Parameter Targets an eine Instance-Flotte senden. Die Targets-Parameter akzeptiert Amazon Elastic Compute Cloud (Amazon EC2)-Tags. Weitere Informationen zur Verwendung des Parameters Targets finden Sie unter Ausführen von Befehlen in großem Maßstab.

Typ: StringList

Erforderlich: Nein (Wenn Sie keine InstanceIds angeben oder den -{{RESOURCE_ID}}Pseudoparameter verwenden, müssen Sie den Parameter Targets angeben.)

Targets (Ziele)

Ein Array von Suchkriterien, die Instances mit einer Schlüssel-Wert-Kombination adressieren, die Sie angeben. Der Wert Targets ist erforderlich, wenn Sie nicht eine oder mehrere Instance-IDs im Aufruf angeben. Weitere Informationen zur Verwendung des Parameters Targets finden Sie unter Ausführen von Befehlen in großem Maßstab.

Typ: MapList (Das Schema der Map in der Liste muss mit dem Objekt übereinstimmen.) Informationen finden Sie unter Target in der AWS Systems Manager-API-Referenz.

Erforderlich: Nein (Wenn Sie nicht Targets angeben, müssen Sie InstanceIds angeben oder den {{RESOURCE_ID}}-Pseudoparameter verwenden.)

Im Folgenden sehen Sie ein Beispiel.

YAML
- name: checkMembership action: aws:runCommand inputs: DocumentName: AWS-RunPowerShellScript Targets: - Key: tag:Stage Values: - Gamma - Beta - Key: tag-key Values: - Suite Parameters: commands: - (Get-WmiObject -Class Win32_ComputerSystem).PartOfDomain
JSON
{ "name": "checkMembership", "action": "aws:runCommand", "inputs": { "DocumentName": "AWS-RunPowerShellScript", "Targets": [ { "Key": "tag:Stage", "Values": [ "Gamma", "Beta" ] }, { "Key": "tag:Application", "Values": [ "Suite" ] } ], "Parameters": { "commands": [ "(Get-WmiObject -Class Win32_ComputerSystem).PartOfDomain" ] } } }
Parameter

Die erforderlichen und optionalen Parameter, die im Dokument angegeben sind.

Typ: Zuordnung

Erforderlich: Nein

CloudWatchOutputConfig

Konfigurationsoptionen für das Senden der Befehlsausgabe an Amazon CloudWatch Logs. Weitere Informationen zum Senden von Befehlsausgaben an CloudWatch Logs finden Sie unter Konfigurieren von Amazon CloudWatch Logs für Run Command.

Typ: StringMap (Das Schema der Map muss dem Objekt entsprechen. Weitere Informationen finden Sie unter CloudWatchOutputConfig in der AWS Systems ManagerAPI-Referenz).

Erforderlich: Nein

Im Folgenden sehen Sie ein Beispiel.

YAML
- name: checkMembership action: aws:runCommand inputs: DocumentName: AWS-RunPowerShellScript InstanceIds: - "{{InstanceIds}}" Parameters: commands: - "(Get-WmiObject -Class Win32_ComputerSystem).PartOfDomain" CloudWatchOutputConfig: CloudWatchLogGroupName: CloudWatchGroupForSSMAutomationService CloudWatchOutputEnabled: true
JSON
{ "name": "checkMembership", "action": "aws:runCommand", "inputs": { "DocumentName": "AWS-RunPowerShellScript", "InstanceIds": [ "{{InstanceIds}}" ], "Parameters": { "commands": [ "(Get-WmiObject -Class Win32_ComputerSystem).PartOfDomain" ] }, "CloudWatchOutputConfig" : { "CloudWatchLogGroupName": "CloudWatchGroupForSSMAutomationService", "CloudWatchOutputEnabled": true } } }
Kommentar

Benutzerdefinierte Informationen über den Befehl.

Typ: Zeichenfolge

Erforderlich: Nein

DocumentHash

Der Hash für das Dokument.

Typ: Zeichenfolge

Erforderlich: Nein

DocumentHashType

Der Typ des Hash.

Typ: Zeichenfolge

Zulässige Werte: Sha256 | Sha1

Erforderlich: Nein

NotificationConfig

Die Konfigurationen für das Senden von Benachrichtigungen.

Erforderlich: Nein

OutputS3BucketName

Der Name des S3-Buckets für Befehlsausgabeantworten.

Typ: Zeichenfolge

Erforderlich: Nein

OutputS3KeyPrefix

Das Präfix.

Typ: Zeichenfolge

Erforderlich: Nein

ServiceRoleArn

Der ARN der AWS Identity and Access Management-IAM-Rolle.

Typ: Zeichenfolge

Erforderlich: Nein

TimeoutSeconds

Die Menge an Zeit in Sekunden, die auf die Übermittlung eines Befehls an den AWS Systems Manager SSM Agent auf einer Instance vergeht. Wenn der Befehl vom SSM Agent auf der Instance vor dem Erreichen des angegebenen Werts nicht empfangen wurde, ändert sich der Status des Befehls in Delivery Timed Out.

Typ: Ganzzahl

Erforderlich: Nein

Zulässige Werte: 30 bis 2 592 000

Output
CommandId

Die ID des Befehls.

Status

Der Status des Befehls.

ResponseCode

Der Antwortcode des Befehls. Wenn das Dokument, das Sie ausführen, mehr als einen Schritt umfasst, wird für diese Ausgabe kein Wert zurückgegeben.

Output

Die Ausgabe des Befehls. Wenn Sie mit Ihrem Befehl auf ein Tag oder mehrere Instances abzielen, wird kein Ausgabewert zurückgegeben. Sie können die API-Vorgänge GetCommandInvocation und ListCommandInvocations verwenden, um Ausgaben für einzelne Instances abzurufen.