Anleitung: Verwenden der AWS Tools for Windows PowerShell mit Run Command - AWS Systems Manager

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Anleitung: Verwenden der AWS Tools for Windows PowerShell mit Run Command

Das folgende Beispiel zeigt, wie Sie mithilfe der AWS Tools for Windows PowerShell Informationen über Befehle und Befehlsparameter anzeigen, Befehle ausführen und den Status dieser Befehle anzeigen. Diese Anleitung umfasst ein Beispiel für jedes der vordefinierten AWS Systems Manager-Dokumente.

Wichtig

Nur vertrauenswürdige Administratoren sollten Systems Manager-vorkonfigurierte Dokumente in diesem Thema verwenden dürfen. Die in Systems-Manager-Dokumenten festgelegten Befehle oder Skripts werden mit einer Administratorberechtigung auf Ihren verwalteten Knoten ausgeführt. Wenn ein Benutzer über die Berechtigung zum Ausführen der vordefinierten Systems-Manager-Dokumente (alle Dokumente, die mit AWS beginnen) verfügt, hat dieser Benutzer auch Administratorzugriff auf den Knoten. Für alle anderen Benutzer sollten Sie restriktive Dokumente erstellen und sie mit bestimmten Benutzern teilen.

Konfigurieren von AWS Tools for Windows PowerShell-Sitzungseinstellungen

Angeben Ihrer Anmeldeinformationen

Öffnen Sie die Tools für Windows PowerShell auf Ihrem lokalen Computer und führen Sie den folgenden Befehl aus, um Ihre Anmeldeinformationen anzugeben. Sie müssen entweder über Administratorberechtigungen auf den verwalteten Knoten verfügen, die Sie konfigurieren möchten, oder Sie müssen über die geeignete Berechtigung in AWS Identity and Access Management (IAM) verfügen. Weitere Informationen finden Sie unter Einrichten von verwalteten Knoten für AWS Systems Manager.

Set-AWSCredentials –AccessKey key-name –SecretKey key-name
Eine Standard-AWS-Region festlegen

Führen Sie den folgenden Befehl aus, um die Region für Ihre PowerShell-Sitzung festzulegen. Das Beispiel verwendet die Region USA Ost (Ohio) (us-east-2). Run Command ist in den AWS-Regionen verfügbar, die unter Systems Manager Service-Endpunkten im Allgemeine Amazon Web Services-Referenz aufgelistet sind.

Set-DefaultAWSRegion ` -Region us-east-2

Listen Sie alle verfügbaren Dokumente auf

Mit diesem Befehl werden alle verfügbaren Dokumente für Ihrem Konto aufgelistet.

Get-SSMDocumentList

Ausführen von PowerShell-Befehlen oder -Skripts

Mit Run Command und dem AWS-RunPowerShell-Dokument können Sie Befehle oder Skripts auf einem verwalteten Knoten ausführen, als ob Sie lokal angemeldet wären. Sie können Befehle ausgeben oder einen Pfad zu einem lokalen Skript eingeben, um den Befehl auszuführen.

Anmerkung

Informationen zum Neustarten von verwalteten Knoten bei Verwendung von Run Command für den Aufruf von Skripts finden Sie unter Umgang mit Neustarts beim Ausführen von Befehlen.

Die Beschreibung und verfügbare Parameter anzeigen

Get-SSMDocumentDescription ` -Name "AWS-RunPowerShellScript"

Weitere Informationen über Parameter anzeigen

Get-SSMDocumentDescription ` -Name "AWS-RunPowerShellScript" | Select -ExpandProperty Parameters

Senden Sie einen Befehl mithilfe des AWS-RunPowerShellScript-Dokuments

Mit dem folgenden Befehl werden der Inhalt des "C:\Users"-Verzeichnisses und der Inhalt des "C:\"-Verzeichnisses auf zwei verwalteten Knoten angezeigt.

$runPSCommand = Send-SSMCommand ` -InstanceIds @("instance-ID-1", "instance-ID-2") ` -DocumentName "AWS-RunPowerShellScript" ` -Comment "Demo AWS-RunPowerShellScript with two instances" ` -Parameter @{'commands'=@('dir C:\Users', 'dir C:\')}
Abrufen der Befehlsabfragedetails

Mit dem folgenden Befehl wird die CommandId verwendet, um den Status der Befehlsausführung auf beiden verwalteten Knoten abzurufen. In diesem Beispiel wird die CommandId verwendet, die im vorherigen Befehl zurückgegeben wurde.

Get-SSMCommand ` -CommandId $runPSCommand.CommandId

Der Status des Befehls in diesem Beispiel kann Success, Pending oder InProgress sein.

Abrufen von Befehlsinformationen pro verwalteter Knoten

Mit dem folgenden Befehl wird die CommandId vom vorherigen Befehl verwendet, um den Status der Befehlsausführung pro verwalteten Knoten abzurufen.

Get-SSMCommandInvocation ` -CommandId $runPSCommand.CommandId
Abrufen von Befehlsinformationen mit Antwortdaten für einen bestimmten verwalteten Knoten

Mit dem folgenden Befehl wird die Ausgabe des ursprünglichen Send-SSMCommand für einen bestimmten verwalteten Knoten zurückgegeben.

Get-SSMCommandInvocation ` -CommandId $runPSCommand.CommandId ` -Details $true ` -InstanceId instance-ID | Select -ExpandProperty CommandPlugins

Abbrechen eines Befehls

Mit dem folgenden Befehl wird Send-SSMCommand für das AWS-RunPowerShellScript-Dokument abgebrochen.

$cancelCommand = Send-SSMCommand ` -InstanceIds @("instance-ID-1","instance-ID-2") ` -DocumentName "AWS-RunPowerShellScript" ` -Comment "Demo AWS-RunPowerShellScript with two instances" ` -Parameter @{'commands'='Start-Sleep –Seconds 120; dir C:\'} Stop-SSMCommand -CommandId $cancelCommand.CommandId
Überprüfen des Befehlsstatus

Mit dem folgenden Befehl wird der Status des Cancel-Befehls überprüft

Get-SSMCommand ` -CommandId $cancelCommand.CommandId

Installieren einer Anwendung mithilfe des AWS-InstallApplication-Dokuments

Mit Run Command und dem AWS-InstallApplication-Dokument können Sie Anwendungen auf verwalteten Knoten installieren, reparieren oder deinstallieren. Der Befehl erfordert den Pfad oder die Adresse für ein MSI.

Anmerkung

Informationen zum Neustarten von verwalteten Knoten bei Verwendung von Run Command für den Aufruf von Skripts finden Sie unter Umgang mit Neustarts beim Ausführen von Befehlen.

Die Beschreibung und verfügbare Parameter anzeigen

Get-SSMDocumentDescription ` -Name "AWS-InstallApplication"

Weitere Informationen über Parameter anzeigen

Get-SSMDocumentDescription ` -Name "AWS-InstallApplication" | Select -ExpandProperty Parameters

Senden Sie einen Befehl mithilfe des AWS-InstallApplication-Dokuments

Mit dem folgenden Befehl wird eine Version von Python auf Ihrerm verwalteten Knoten im unbeaufsichtigten Modus installiert und die Ausgabe in einer lokalen Textdatei auf dem Laufwerk C: protokolliert.

$installAppCommand = Send-SSMCommand ` -InstanceId instance-ID ` -DocumentName "AWS-InstallApplication" ` -Parameter @{'source'='https://www.python.org/ftp/python/2.7.9/python-2.7.9.msi'; 'parameters'='/norestart /quiet /log c:\pythoninstall.txt'}
Abrufen von Befehlsinformationen pro verwalteter Knoten

Mit dem folgenden Befehl wird die CommandId verwendet, um den Status der Befehlsausführung abzurufen.

Get-SSMCommandInvocation ` -CommandId $installAppCommand.CommandId ` -Details $true
Abrufen von Befehlsinformationen mit Antwortdaten für einen bestimmten verwalteten Knoten

Mit dem folgenden Befehl werden die Ergebnisse der Python-Installation zurückgegeben.

Get-SSMCommandInvocation ` -CommandId $installAppCommand.CommandId ` -Details $true ` -InstanceId instance-ID | Select -ExpandProperty CommandPlugins

Installieren eines PowerShell-Moduls mithilfe des AWS-InstallPowerShellModule-JSON-Dokuments

Sie können mit Run Command PowerShell-Module auf verwalteten Knoten installieren. Weitere Informationen zu den PowerShell-Modulen finden Sie unter Windows PowerShell-Module.

Die Beschreibung und verfügbare Parameter anzeigen

Get-SSMDocumentDescription ` -Name "AWS-InstallPowerShellModule"

Weitere Informationen über Parameter anzeigen

Get-SSMDocumentDescription ` -Name "AWS-InstallPowerShellModule" | Select -ExpandProperty Parameters

Installation eines PowerShell-Moduls

Mit dem folgenden Befehl wird die Datei EZOut.zip heruntergeladen, installiert und anschließend wird ein zusätzlicher Befehl zum Installieren von XPS Viewer ausgeführt. Schließlich wird die Ausgabe dieses Befehls auf einen S3-Bucket mit dem Namen „amzn-s3-demo-bucket“ hochgeladen.

$installPSCommand = Send-SSMCommand ` -InstanceId instance-ID ` -DocumentName "AWS-InstallPowerShellModule" ` -Parameter @{'source'='https://gallery.technet.microsoft.com/EZOut-33ae0fb7/file/110351/1/EZOut.zip';'commands'=@('Add-WindowsFeature -name XPS-Viewer -restart')} ` -OutputS3BucketName amzn-s3-demo-bucket
Abrufen von Befehlsinformationen pro verwalteter Knoten

Mit dem folgenden Befehl wird die CommandId verwendet, um den Status der Befehlsausführung abzurufen.

Get-SSMCommandInvocation ` -CommandId $installPSCommand.CommandId ` -Details $true
Abrufen von Befehlsinformationen mit Antwortdaten für den verwalteten Knoten

Mit dem folgenden Befehl wird die Ausgabe des ursprünglichen Send-SSMCommand-Befehls für die spezielle CommandId zurückgegeben.

Get-SSMCommandInvocation ` -CommandId $installPSCommand.CommandId ` -Details $true | Select -ExpandProperty CommandPlugins

Verbinden eines verwalteten Knotens mit einer Domain mithilfe des AWS-JoinDirectoryServiceDomain-JSON-Dokuments

Mit Run Command können Sie schnell einen verwalteten Knoten an eine AWS Directory Service-Domain anhängen. Erstellen Sie ein Verzeichnis vor dem Ausführen dieses Befehls. Wir empfehlen außerdem, sich mit der AWS Directory Service besser vertraut zu machen. Weitere Informationen finden Sie im Administrationshandbuch zu AWS Directory Service.

Sie können nur einen verwalteten Knoten mit einer Domain verbinden. Sie können keinen Knoten aus einer Domain entfernen.

Anmerkung

Informationen zu verwalteten Knoten bei Verwendung von Run Command für den Aufruf von Skripts finden Sie unter Umgang mit Neustarts beim Ausführen von Befehlen.

Die Beschreibung und verfügbare Parameter anzeigen

Get-SSMDocumentDescription ` -Name "AWS-JoinDirectoryServiceDomain"

Weitere Informationen über Parameter anzeigen

Get-SSMDocumentDescription ` -Name "AWS-JoinDirectoryServiceDomain" | Select -ExpandProperty Parameters

Verbinden eines verwalteten Knotens mit einer Domain

Der folgende Befehl verbindet einen verwalteten Knoten mit der angegebenen AWS Directory Service-Domain und lädt alle generierten Ausgaben in den Beispiel-Amazon Simple Storage Service (Amazon S3)-Bucket hoch.

$domainJoinCommand = Send-SSMCommand ` -InstanceId instance-ID ` -DocumentName "AWS-JoinDirectoryServiceDomain" ` -Parameter @{'directoryId'='d-example01'; 'directoryName'='ssm.example.com'; 'dnsIpAddresses'=@('192.168.10.195', '192.168.20.97')} ` -OutputS3BucketName amzn-s3-demo-bucket
Abrufen von Befehlsinformationen pro verwalteter Knoten

Mit dem folgenden Befehl wird die CommandId verwendet, um den Status der Befehlsausführung abzurufen.

Get-SSMCommandInvocation ` -CommandId $domainJoinCommand.CommandId ` -Details $true
Abrufen von Befehlsinformationen mit Antwortdaten für den verwalteten Knoten

Dieser Befehl gibt die Ausgabe des ursprünglichen Send-SSMCommand für die spezifische CommandId zurück.

Get-SSMCommandInvocation ` -CommandId $domainJoinCommand.CommandId ` -Details $true | Select -ExpandProperty CommandPlugins

Senden von Windows-Metriken an Amazon CloudWatch Logs unter Verwendung des AWS-ConfigureCloudWatch-Dokuments

Sie können Windows Server-Nachrichten in Anwendung, System, Sicherheit und zur Ablaufverfolgung von Ereignissen für Windows (ETW)-Protokolle an Amazon CloudWatch Logs senden. Wenn Sie die Protokollierung zum ersten Mal aktivieren, sendet Systems Manager alle Protokolle, die innerhalb von 1 Minute generiert werden, sobald Sie mit dem Hochladen von Protokollen für die Anwendungs-, System-, Sicherheits- und ETW-Protokolle beginnen. Protokolle, die davor auftraten, werden nicht berücksichtigt. Wenn Sie die Protokollierung deaktivieren und später wieder aktivieren, sendet Systems Manager Protokolle ab dem Zeitpunkt, an dem die Unterbrechung stattfand. Für alle benutzerdefinierten Protokolldateien und IIS- (Internet Information Services)-Protokolle liest Systems Manager die Protokolldateien von Anfang an. Darüber hinaus kann Systems Manager auch Leistungszählerdaten an CloudWatch Logs senden.

Wenn Sie zuvor die CloudWatch-Integration in EC2Config aktiviert haben, überschreiben die Systems-Manager-Einstellungen alle Einstellungen, die lokal auf dem verwalteten Knoten in der C:\Program Files\Amazon\EC2ConfigService\Settings\AWS.EC2.Windows.CloudWatch.json-Datei gespeichert sind. Weitere Informationen zur Verwendung von EC2Config zum Verwalten von Leistungsindikatoren und Protokollen auf einem einzelnen verwalteten Knoten finden Sie unter Erfassen von Metriken und Protokollen von Amazon-EC2-Instances und On-Premises-Servern mit dem CloudWatch-Agenten im Benutzerhandbuch zu Amazon CloudWatch.

Die Beschreibung und verfügbare Parameter anzeigen

Get-SSMDocumentDescription ` -Name "AWS-ConfigureCloudWatch"

Weitere Informationen über Parameter anzeigen

Get-SSMDocumentDescription ` -Name "AWS-ConfigureCloudWatch" | Select -ExpandProperty Parameters

Senden von Anwendungsprotokollen an CloudWatch

Mit dem folgenden Befehl wird der verwaltete Knoten konfiguriert und Windows-Anwendungsprotokolle werden in CloudWatch verschoben.

$cloudWatchCommand = Send-SSMCommand ` -InstanceID instance-ID ` -DocumentName "AWS-ConfigureCloudWatch" ` -Parameter @{'properties'='{"engineConfiguration": {"PollInterval":"00:00:15", "Components":[{"Id":"ApplicationEventLog", "FullName":"AWS.EC2.Windows.CloudWatch.EventLog.EventLogInputComponent,AWS.EC2.Windows.CloudWatch", "Parameters":{"LogName":"Application", "Levels":"7"}},{"Id":"CloudWatch", "FullName":"AWS.EC2.Windows.CloudWatch.CloudWatchLogsOutput,AWS.EC2.Windows.CloudWatch", "Parameters":{"Region":"region", "LogGroup":"my-log-group", "LogStream":"instance-id"}}], "Flows":{"Flows":["ApplicationEventLog,CloudWatch"]}}}'}
Abrufen von Befehlsinformationen pro verwalteter Knoten

Mit dem folgenden Befehl wird die CommandId verwendet, um den Status der Befehlsausführung abzurufen.

Get-SSMCommandInvocation ` -CommandId $cloudWatchCommand.CommandId ` -Details $true
Abrufen von Befehlsinformationen mit Antwortdaten für einen bestimmten verwalteten Knoten

Mit dem folgenden Befehl werden die Ergebnisse der Amazon CloudWatch-Konfiguration zurückgegeben.

Get-SSMCommandInvocation ` -CommandId $cloudWatchCommand.CommandId ` -Details $true ` -InstanceId instance-ID | Select -ExpandProperty CommandPlugins

Senden der Leistungszähler an CloudWatch mit dem AWS-ConfigureCloudWatch-Dokument.

Mit dem folgenden Demo-Befehl werden Leistungsindikatorzähler auf CloudWatch hochgeladen. Weitere Informationen finden Sie im Amazon CloudWatch-Benutzerhandbuch.

$cloudWatchMetricsCommand = Send-SSMCommand ` -InstanceID instance-ID ` -DocumentName "AWS-ConfigureCloudWatch" ` -Parameter @{'properties'='{"engineConfiguration": {"PollInterval":"00:00:15", "Components":[{"Id":"PerformanceCounter", "FullName":"AWS.EC2.Windows.CloudWatch.PerformanceCounterComponent.PerformanceCounterInputComponent,AWS.EC2.Windows.CloudWatch", "Parameters":{"CategoryName":"Memory", "CounterName":"Available MBytes", "InstanceName":"", "MetricName":"AvailableMemory", "Unit":"Megabytes","DimensionName":"", "DimensionValue":""}},{"Id":"CloudWatch", "FullName":"AWS.EC2.Windows.CloudWatch.CloudWatch.CloudWatchOutputComponent,AWS.EC2.Windows.CloudWatch", "Parameters":{"AccessKey":"", "SecretKey":"","Region":"region", "NameSpace":"Windows-Default"}}], "Flows":{"Flows":["PerformanceCounter,CloudWatch"]}}}'}

Aktualisieren von EC2Config mit dem AWS-UpdateEC2Config-Document

Mit Run Command und dem AWS-EC2ConfigUpdate-Dokument können Sie den EC2Config-Service aktualisieren, der auf Ihren von Windows Server verwalteten Knoten ausgeführt wird. Mit diesem Befehl kann der EC2Config-Service auf die neueste Version oder eine von Ihnen angegebene Version aktualisiert werden.

Die Beschreibung und verfügbare Parameter anzeigen

Get-SSMDocumentDescription ` -Name "AWS-UpdateEC2Config"

Weitere Informationen über Parameter anzeigen

Get-SSMDocumentDescription ` -Name "AWS-UpdateEC2Config" | Select -ExpandProperty Parameters

Aktualisieren von EC2Config auf die neueste Version

$ec2ConfigCommand = Send-SSMCommand ` -InstanceId instance-ID ` -DocumentName "AWS-UpdateEC2Config"
Abrufen von Befehlsinformationen mit Antwortdaten für den verwalteten Knoten

Dieser Befehl gibt die Ausgabe des angegebenen Befehls aus dem vorherigen Send-SSMCommand zurück.

Get-SSMCommandInvocation ` -CommandId $ec2ConfigCommand.CommandId ` -Details $true ` -InstanceId instance-ID | Select -ExpandProperty CommandPlugins

Aktualisieren von EC2Config auf eine bestimmte Version

Mit dem folgenden Befehl wird EC2Config auf eine ältere Version runtergestuft.

Send-SSMCommand ` -InstanceId instance-ID ` -DocumentName "AWS-UpdateEC2Config" ` -Parameter @{'version'='4.9.3519'; 'allowDowngrade'='true'}

Aktivieren oder deaktivieren Sie die automatische Windows-Aktualisierung mithilfe des AWS-ConfigureWindowsUpdate-Dokuments.

Mit Run Command und dem AWS-ConfigureWindowsUpdate-Dokument können Sie automatische Windows-Updates auf Ihren von Windows Server verwalteten Knoten aktivieren oder deaktivieren. Mit diesem Befehl wird der Windows Update-Agent konfiguriert, um Windows-Updates an dem Tag und in der Stunde, die Sie angeben, herunterzuladen und zu installieren. Wenn ein Update einen Neustart erfordert, startet der verwaltete Knoten automatisch 15 Minuten nach der Installation der Updates neu. Mit diesem Befehl können Sie konfigurieren, dass Windows Update auf Updates prüft, diese aber nicht installiert. Das AWS-ConfigureWindowsUpdate-Dokument ist mit Windows Server 2008, 2008 R2, 2012, 2012 R2 und 2016 kompatibel.

Die Beschreibung und verfügbare Parameter anzeigen

Get-SSMDocumentDescription ` –Name "AWS-ConfigureWindowsUpdate"

Weitere Informationen über Parameter anzeigen

Get-SSMDocumentDescription ` -Name "AWS-ConfigureWindowsUpdate" | Select -ExpandProperty Parameters

Aktivieren des automatischen Windows Updates

Mit dem folgenden Befehl wird Windows Update konfiguriert, um Updates automatisch täglich um 22.00 Uhr herunterzuladen und zu installieren.

$configureWindowsUpdateCommand = Send-SSMCommand ` -InstanceId instance-ID ` -DocumentName "AWS-ConfigureWindowsUpdate" ` -Parameters @{'updateLevel'='InstallUpdatesAutomatically'; 'scheduledInstallDay'='Daily'; 'scheduledInstallTime'='22:00'}
Anzeigen des Befehlsstatus zum Aktivieren von automatischen Windows Updates

Mit dem folgenden Befehl wird die CommandId verwendet, um den Status der Befehlsausführung für die Aktivierung von Windows Automatic Updates abzurufen.

Get-SSMCommandInvocation ` -Details $true ` -CommandId $configureWindowsUpdateCommand.CommandId | Select -ExpandProperty CommandPlugins

Deaktivieren des automatischen Windows Updates

Mit dem folgenden Befehl wird die Windows-Update-Benachrichtigungsebene herabgesetzt, damit das System prüft, ob Updates vorliegen, diese jedoch nicht automatisch auf dem verwalteten Knoten installiert.

$configureWindowsUpdateCommand = Send-SSMCommand ` -InstanceId instance-ID ` -DocumentName "AWS-ConfigureWindowsUpdate" ` -Parameters @{'updateLevel'='NeverCheckForUpdates'}
Anzeigen des Befehlsstatus zum Deaktivieren von automatischen Windows Updates

Mit dem folgenden Befehl wird die CommandId verwendet, um den Status der Befehlsausführung für die Aktivierung von Windows Automatic Updates abzurufen.

Get-SSMCommandInvocation ` -Details $true ` -CommandId $configureWindowsUpdateCommand.CommandId | Select -ExpandProperty CommandPlugins

Verwalten von Windows-Updates mit Run Command

Mit Run Command und dem AWS-InstallWindowsUpdates-Dokument können Sie Updates für von Windows Server verwaltete Knoten verwalten. Dieser Befehl scannt nach oder installiert fehlende Updates auf Ihren verwalteten Knoten und führt nach der Installation optional einen Neustart durch. Sie können auch die entsprechenden Klassifizierungen und Schweregrade für Aktualisierungen angeben, die in Ihrer Umgebung installiert werden sollen.

Anmerkung

Informationen zum Neustarten von verwalteten Knoten bei Verwendung von Run Command für den Aufruf von Skripts finden Sie unter Umgang mit Neustarts beim Ausführen von Befehlen.

Die folgenden Beispiele zeigen, wie Sie die angegebenen Windows Update-Verwaltungsaufgaben durchführen.

Send-SSMCommand ` -InstanceId instance-ID ` -DocumentName "AWS-InstallWindowsUpdates" ` -Parameters @{'Action'='Scan'}

Installieren von bestimmten Windows-Updates

Send-SSMCommand ` -InstanceId instance-ID ` -DocumentName "AWS-InstallWindowsUpdates" ` -Parameters @{'Action'='Install';'IncludeKbs'='kb-ID-1,kb-ID-2,kb-ID-3';'AllowReboot'='True'}

Installieren wichtiger fehlender Windows-Updates

Send-SSMCommand ` -InstanceId instance-ID ` -DocumentName "AWS-InstallWindowsUpdates" ` -Parameters @{'Action'='Install';'SeverityLevels'='Important';'AllowReboot'='True'}

Installieren fehlender Windows-Updates mit bestimmten Ausschlüssen

Send-SSMCommand ` -InstanceId instance-ID ` -DocumentName "AWS-InstallWindowsUpdates" ` -Parameters @{'Action'='Install';'ExcludeKbs'='kb-ID-1,kb-ID-2';'AllowReboot'='True'}