

• AWS Systems Manager CloudWatch Dasbor tidak akan lagi tersedia setelah 30 April 2026. Pelanggan dapat terus menggunakan CloudWatch konsol Amazon untuk melihat, membuat, dan mengelola CloudWatch dasbor Amazon mereka, seperti yang mereka lakukan hari ini. Untuk informasi selengkapnya, lihat [dokumentasi CloudWatch Dasbor Amazon](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch_Dashboards.html). 

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

# AWS Systems Manager Run Command
<a name="run-command"></a>

MenggunakanRun Command, alat di AWS Systems Manager, Anda dapat mengelola konfigurasi node terkelola dari jarak jauh dan aman. *Node terkelola* adalah instans Amazon Elastic Compute Cloud (Amazon EC2) atau EC2 non-mesin di lingkungan [hybrid dan multicloud](operating-systems-and-machine-types.md#supported-machine-types) Anda yang telah dikonfigurasi untuk Systems Manager. Run Commandmemungkinkan Anda untuk mengotomatiskan tugas administratif umum dan melakukan perubahan konfigurasi satu kali dalam skala besar. Anda dapat menggunakan Run Command dari Konsol Manajemen AWS, AWS Command Line Interface (AWS CLI) AWS Tools for Windows PowerShell, atau AWS SDKs. Run Commandditawarkan tanpa biaya tambahan. Untuk memulaiRun Command, buka [konsol Systems Manager](https://console.aws.amazon.com//systems-manager/run-command). Di panel navigasi, pilih **Run Command**.

Administrator menggunakan Run Command untuk menginstal atau mem-bootstrap aplikasi, membangun pipeline penerapan, menangkap file log saat instance dihapus dari grup Auto Scaling, menggabungkan instance ke domain Windows, dan banyak lagi.

Run CommandAPI mengikuti model konsistensi akhirnya, karena sifat terdistribusi dari sistem yang mendukung API. Ini berarti bahwa hasil dari perintah API yang Anda jalankan yang memengaruhi sumber daya Anda mungkin tidak langsung terlihat oleh semua perintah berikutnya yang Anda jalankan. Anda harus mengingat hal ini ketika Anda menjalankan perintah API yang segera mengikuti perintah API sebelumnya.

**Memulai**  
Tabel berikut mencakup informasi untuk membantu Anda memulaiRun Command.


****  

| Topik | Detail | 
| --- | --- | 
|  [Menyiapkan node terkelola untuk AWS Systems Manager](systems-manager-setting-up-nodes.md)  |  Pastikan Anda telah menyelesaikan persyaratan penyiapan untuk instans Amazon Elastic Compute Cloud (Amazon EC2) dan EC2 non-mesin di lingkungan [hybrid dan multicloud](operating-systems-and-machine-types.md#supported-machine-types).  | 
|  [Mengelola node di lingkungan hybrid dan multicloud dengan Systems Manager](systems-manager-hybrid-multicloud.md)  |  (Opsional) Daftarkan server lokal dan VMs dengan AWS demikian Anda dapat mengelolanya menggunakanRun Command.  | 
|  [Mengelola perangkat edge dengan Systems Manager](systems-manager-setting-up-edge-devices.md)  |  (Opsional) Konfigurasikan perangkat tepi sehingga Anda dapat mengelolanya menggunakanRun Command.  | 
|  [Menjalankan perintah pada node terkelola](running-commands.md)  |  Pelajari cara menjalankan perintah yang menargetkan satu atau lebih node terkelola dengan menggunakan Konsol Manajemen AWS.  | 
|  [Run Command penelusuran](run-command-walkthroughs.md)  |  Pelajari cara menjalankan perintah menggunakan Alat untuk Windows PowerShell atau file AWS CLI.  | 

**EventBridge dukungan**  
Alat Systems Manager ini didukung sebagai jenis *peristiwa* dan tipe *target* dalam EventBridge aturan Amazon. Untuk informasi selengkapnya, lihat [Memantau peristiwa Systems Manager dengan Amazon EventBridge](monitoring-eventbridge-events.md) dan [Referensi: Pola dan jenis EventBridge acara Amazon untuk Systems Manager](reference-eventbridge-events.md).

**Info lebih lanjut**  
+ [Jarak jauh Run Command pada sebuah EC2 Instance (tutorial 10 menit)](https://aws.amazon.com/getting-started/hands-on/remotely-run-commands-ec2-instance-systems-manager/)
+ [Kuota layanan Systems Manager](https://docs.aws.amazon.com/general/latest/gr/ssm.html#limits_ssm) di *Referensi Umum Amazon Web Services*
+ [AWS Systems Manager Referensi API](https://docs.aws.amazon.com/systems-manager/latest/APIReference/) 

**Topics**
+ [Menyiapkan Run Command](run-command-setting-up.md)
+ [Menjalankan perintah pada node terkelola](running-commands.md)
+ [Menggunakan kode keluar dalam perintah](run-command-handle-exit-status.md)
+ [Memahami status perintah](monitor-commands.md)
+ [Run Command penelusuran](run-command-walkthroughs.md)
+ [Memecahkan masalah Run Command Systems Manager](troubleshooting-remote-commands.md)

# Menyiapkan Run Command
<a name="run-command-setting-up"></a>

Sebelum Anda dapat mengelola node dengan menggunakanRun Command, alat dalam AWS Systems Manager, mengkonfigurasi kebijakan AWS Identity and Access Management (IAM) untuk setiap pengguna yang akan menjalankan perintah. Jika Anda menggunakan kunci kondisi global untuk `SendCommand` tindakan dalam kebijakan IAM Anda, Anda harus menyertakan kunci `aws:ViaAWSService` kondisi dan menyetel nilai boolean ke. `true` Berikut adalah contohnya.

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "ssm:SendCommand"
            ],
            "Resource": [
                "arn:aws:ssm:us-east-1:111122223333:document/YourDocument"
            ],
            "Condition": {
                "StringEquals": {
                    "aws:SourceVpce": [
                        "vpce-1234567890abcdef0"
                    ]
                }
            }
        },
        {
            "Effect": "Allow",
            "Action": [
                "ssm:SendCommand"
            ],
            "Resource": [
                "arn:aws:ssm:us-east-1:111122223333:document/YourDocument"
            ],
            "Condition": {
                "Bool": {
                    "aws:ViaAWSService": "true"
                }
            }
        }
    ]
}
```

------

Anda juga harus mengkonfigurasi node Anda untuk Systems Manager. Untuk informasi selengkapnya, lihat [Menyiapkan node terkelola untuk AWS Systems Manager](systems-manager-setting-up-nodes.md).

Sebaiknya selesaikan tugas pengaturan opsional berikut untuk membantu meminimalkan postur keamanan dan day-to-day pengelolaan node terkelola Anda.

Pantau eksekusi perintah menggunakan Amazon EventBridge  
Anda dapat menggunakan EventBridge untuk mencatat perubahan status eksekusi perintah. Anda dapat membuat aturan yang berjalan setiap kali terjadi status transisi, atau saat ada transisi ke satu atau beberapa status yang penting. Anda juga dapat menentukan Run Command sebagai tindakan target ketika suatu EventBridge peristiwa terjadi. Untuk informasi selengkapnya, lihat [Mengkonfigurasi EventBridge untuk acara Systems Manager](monitoring-systems-manager-events.md).

Pantau eksekusi perintah menggunakan Amazon Logs CloudWatch   
Anda dapat mengonfigurasi Run Command untuk secara berkala mengirim semua output perintah dan log kesalahan ke grup CloudWatch log Amazon. Anda dapat memantau log output ini secara hampir waktu nyata, mencari frasa, nilai, atau pola tertentu, dan membuat alarm berdasarkan pencarian. Untuk informasi selengkapnya, lihat [Mengkonfigurasi CloudWatch Log Amazon untuk Run Command](sysman-rc-setting-up-cwlogs.md).

Batasi Run Command akses ke node terkelola tertentu  
Anda dapat membatasi kemampuan pengguna untuk menjalankan perintah pada node terkelola dengan menggunakan AWS Identity and Access Management (IAM). Secara khusus, Anda dapat membuat kebijakan IAM dengan syarat bahwa pengguna hanya dapat menjalankan perintah pada node terkelola yang ditandai dengan tag tertentu. Untuk informasi selengkapnya, lihat [Membatasi Run Command akses berdasarkan tag](#tag-based-access).

## Membatasi Run Command akses berdasarkan tag
<a name="tag-based-access"></a>

Bagian ini menjelaskan cara membatasi kemampuan pengguna untuk menjalankan perintah pada node terkelola dengan menentukan kondisi tag dalam kebijakan IAM. Node terkelola mencakup EC2 instans Amazon dan EC2 non-node dalam lingkungan [hybrid dan multicloud](operating-systems-and-machine-types.md#supported-machine-types) yang dikonfigurasi untuk Systems Manager. Meskipun informasi tidak disajikan secara eksplisit, Anda juga dapat membatasi akses ke perangkat inti yang dikelola AWS IoT Greengrass . Untuk memulai, Anda harus menandai AWS IoT Greengrass perangkat Anda. Untuk informasi selengkapnya, lihat [Menandai AWS IoT Greengrass Version 2 sumber daya Anda](https://docs.aws.amazon.com/greengrass/v2/developerguide/tag-resources.html) di *Panduan AWS IoT Greengrass Version 2 Pengembang*.

Anda dapat membatasi eksekusi perintah ke node terkelola tertentu dengan membuat kebijakan IAM yang mencakup kondisi bahwa pengguna hanya dapat menjalankan perintah pada node dengan tag tertentu. Dalam contoh berikut, pengguna diperbolehkan untuk menggunakan Run Command (`Effect: Allow, Action: ssm:SendCommand`) dengan menggunakan dokumen SSM (`Resource: arn:aws:ssm:*:*:document/*`) pada setiap node (`Resource: arn:aws:ec2:*:*:instance/*`) dengan syarat bahwa node adalah Finance WebServer (`ssm:resourceTag/Finance: WebServer`). Jika pengguna mengirim perintah ke node yang tidak diberi tag atau yang memiliki tag selain`Finance: WebServer`, hasil eksekusi akan ditampilkan`AccessDenied`.

------
#### [ JSON ]

****  

```
{
   "Version":"2012-10-17",		 	 	 
   "Statement":[
      {
         "Effect":"Allow",
         "Action":[
            "ssm:SendCommand"
         ],
         "Resource":[
            "arn:aws:ssm:*:*:document/*"
         ]
      },
      {
         "Effect":"Allow",
         "Action":[
            "ssm:SendCommand"
         ],
         "Resource":[
            "arn:aws:ec2:*:*:instance/*"
         ],
         "Condition":{
            "StringLike":{
               "ssm:resourceTag/Finance":[
                  "WebServers"
               ]
            }
         }
      }
   ]
}
```

------

Anda dapat membuat kebijakan IAM yang memungkinkan pengguna menjalankan perintah pada node terkelola yang ditandai dengan beberapa tag. Kebijakan berikut memungkinkan pengguna untuk menjalankan perintah pada node terkelola yang memiliki dua tag. Jika pengguna mengirim perintah ke node yang tidak ditandai dengan kedua tag ini, hasil eksekusi akan ditampilkan`AccessDenied`.

------
#### [ JSON ]

****  

```
{
   "Version":"2012-10-17",		 	 	 
   "Statement":[
      {
         "Effect":"Allow",
         "Action":[
            "ssm:SendCommand"
         ],
         "Resource":"*",
         "Condition":{
            "StringLike":{
               "ssm:resourceTag/tag_key1":[
                  "tag_value1"
               ],
               "ssm:resourceTag/tag_key2":[
                  "tag_value2"
               ]
            }
         }
      },
      {
         "Effect":"Allow",
         "Action":[
            "ssm:SendCommand"
         ],
         "Resource":[
            "arn:aws:ssm:us-west-1::document/AWS-*",
            "arn:aws:ssm:us-east-2::document/AWS-*"
         ]
      },
      {
         "Effect":"Allow",
         "Action":[
            "ssm:UpdateInstanceInformation",
            "ssm:ListCommands",
            "ssm:ListCommandInvocations",
            "ssm:GetDocument"
         ],
         "Resource":"*"
      }
   ]
}
```

------

Anda juga dapat membuat kebijakan IAM yang memungkinkan pengguna menjalankan perintah pada beberapa grup node terkelola yang diberi tag. Contoh kebijakan berikut memungkinkan pengguna untuk menjalankan perintah pada salah satu grup node yang ditandai, atau kedua grup.

------
#### [ JSON ]

****  

```
{
   "Version":"2012-10-17",		 	 	 
   "Statement":[
      {
         "Effect":"Allow",
         "Action":[
            "ssm:SendCommand"
         ],
         "Resource":"*",
         "Condition":{
            "StringLike":{
               "ssm:resourceTag/tag_key1":[
                  "tag_value1"
               ]
            }
         }
      },
      {
         "Effect":"Allow",
         "Action":[
            "ssm:SendCommand"
         ],
         "Resource":"*",
         "Condition":{
            "StringLike":{
               "ssm:resourceTag/tag_key2":[
                  "tag_value2"
               ]
            }
         }
      },
      {
         "Effect":"Allow",
         "Action":[
            "ssm:SendCommand"
         ],
         "Resource":[
            "arn:aws:ssm:us-west-1::document/AWS-*",
            "arn:aws:ssm:us-east-2::document/AWS-*"
         ]
      },
      {
         "Effect":"Allow",
         "Action":[
            "ssm:UpdateInstanceInformation",
            "ssm:ListCommands",
            "ssm:ListCommandInvocations",
            "ssm:GetDocument"
         ],
         "Resource":"*"
      }
   ]
}
```

------

Untuk informasi selengkapnya tentang membuat kebijakan IAM, lihat Kebijakan [terkelola dan kebijakan sebaris](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_managed-vs-inline.html) di Panduan Pengguna *IAM*. Untuk informasi selengkapnya tentang menandai node terkelola, lihat [Editor Tag](https://docs.aws.amazon.com/ARG/latest/userguide/tag-editor.html) di *Panduan AWS Resource Groups Pengguna*. 

# Menjalankan perintah pada node terkelola
<a name="running-commands"></a>

Bagian ini mencakup informasi tentang cara mengirim perintah dari AWS Systems Manager konsol ke node yang dikelola. Bagian ini juga mencakup informasi tentang cara membatalkan perintah.

Perhatikan bahwa jika node Anda dikonfigurasi dengan opsi `noexec` mount untuk direktori var, Run Command tidak dapat berhasil menjalankan perintah.

**penting**  
Saat Anda mengirim perintah menggunakanRun Command, jangan sertakan informasi sensitif yang diformat sebagai teks biasa, seperti kata sandi, data konfigurasi, atau rahasia lainnya. Semua aktivitas Systems Manager API di akun Anda dicatat dalam bucket S3 untuk AWS CloudTrail log. Ini berarti bahwa setiap pengguna dengan akses ke bucket S3 dapat melihat nilai plaintext dari rahasia tersebut. Untuk alasan ini, kami sarankan untuk membuat dan menggunakan `SecureString` parameter untuk mengenkripsi data sensitif yang Anda gunakan dalam operasi Systems Manager Anda.  
Untuk informasi selengkapnya, lihat [Membatasi akses ke Parameter Store parameter menggunakan kebijakan IAM](sysman-paramstore-access.md).

**Retensi riwayat eksekusi**  
Riwayat setiap perintah tersedia hingga 30 hari. Selain itu, Anda dapat menyimpan salinan semua file log di Amazon Simple Storage Service atau memiliki jejak audit semua panggilan API di AWS CloudTrail.

**Informasi Terkait**  
Untuk informasi tentang mengirim perintah menggunakan alat lain, lihat topik berikut: 
+ [Walkthrough: Gunakan dengan AWS Tools for Windows PowerShell Run Command](walkthrough-powershell.md)atau contoh di [AWS Systems Manager bagian Referensi Alat AWS untuk PowerShell Cmdlet](https://docs.aws.amazon.com/powershell/latest/reference/items/AWS_Systems_Manager_cmdlets.html).
+ [Walkthrough: Gunakan dengan AWS CLI Run Command](walkthrough-cli.md)atau contoh dalam Referensi [CLI SSM](https://docs.aws.amazon.com/cli/latest/reference/ssm/)

**Topics**
+ [Menjalankan perintah dari konsol](running-commands-console.md)
+ [Menjalankan perintah menggunakan versi dokumen tertentu](run-command-version.md)
+ [Jalankan perintah pada skala](send-commands-multiple.md)
+ [Membatalkan perintah](cancel-run-command.md)

# Menjalankan perintah dari konsol
<a name="running-commands-console"></a>

Anda dapat menggunakanRun Command, alat di AWS Systems Manager, dari Konsol Manajemen AWS untuk mengkonfigurasi node terkelola tanpa harus masuk ke dalamnya. Topik ini mencakup contoh yang menunjukkan cara [memperbarui SSM Agent](run-command-tutorial-update-software.md#rc-console-agentexample) pada node terkelola dengan menggunakanRun Command.

**Sebelum Anda mulai**  
Sebelum Anda mengirim perintah menggunakanRun Command, verifikasi bahwa node terkelola Anda memenuhi semua [persyaratan penyiapan](systems-manager-setting-up-nodes.md) Systems Manager.

**Untuk mengirim perintah menggunakan Run Command**

1. Buka AWS Systems Manager konsol di [https://console.aws.amazon.com/systems-manager/](https://console.aws.amazon.com/systems-manager/).

1. Di panel navigasi, pilih **Run Command**.

1. Pilih **Run Command**.

1. Di daftar **Dokumen perintah**, pilih dokumen Systems Manager.

1. Di bagian **Parameter perintah**, tentukan nilai untuk parameter yang diperlukan.

1. Di bagian **Target**, pilih node terkelola tempat Anda ingin menjalankan operasi ini dengan menentukan tag, memilih instance atau perangkat tepi secara manual, atau menentukan grup sumber daya.
**Tip**  
Jika node terkelola yang Anda harapkan tidak terdaftar, lihat [Memecahkan masalah ketersediaan node terkelola](fleet-manager-troubleshooting-managed-nodes.md) untuk tips pemecahan masalah.

1. Untuk **Parameter lainnya**:
   + Untuk **Komentar**, ketik informasi tentang perintah ini.
   + Untuk **Waktu habis (detik)**, tentukan jumlah detik untuk menunggu sistem sebelum gagal menjalankan perintah keseluruhan. 

1. Untuk **Pengendalian rate**:
   + Untuk **Konkurensi**, tentukan jumlah atau persentase dari simpul terkelola untuk menjalankan perintah pada saat yang sama.
**catatan**  
Jika Anda memilih target dengan menentukan tag yang diterapkan pada node terkelola atau dengan menentukan grup AWS sumber daya, dan Anda tidak yakin berapa banyak node terkelola yang ditargetkan, maka batasi jumlah target yang dapat menjalankan dokumen pada saat yang sama dengan menentukan persentase.
   + Untuk **Ambang kesalahan**, tentukan kapan harus berhenti menjalankan perintah pada simpul terkelola lain setelah gagal pada jumlah atau persentase simpul. Misalnya, jika Anda menentukan tiga kesalahan, Systems Manager berhenti mengirim perintah ketika kesalahan keempat diterima. Node terkelola yang masih memproses perintah mungkin juga mengirim kesalahan.

1. (Opsional) Pilih CloudWatch alarm untuk diterapkan pada perintah Anda untuk pemantauan. Untuk melampirkan CloudWatch alarm ke perintah Anda, prinsipal IAM yang menjalankan perintah harus memiliki izin untuk `iam:createServiceLinkedRole` tindakan tersebut. Untuk informasi selengkapnya tentang CloudWatch alarm, lihat [Menggunakan CloudWatch alarm Amazon](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/AlarmThatSendsEmail.html). Perhatikan bahwa jika alarm Anda aktif, pemanggilan perintah yang tertunda tidak berjalan.

1. (Opsional) Untuk **Opsi output**, untuk menyimpan output perintah ke file, pilih kotak **Tuliskan output perintah ke bucket S3**. Masukkan nama bucket dan prefiks (folder) di kotak.
**catatan**  
Izin S3 yang memberikan kemampuan untuk menulis data ke bucket S3 adalah izin profil instance (untuk EC2 instance) atau peran layanan IAM (mesin yang diaktifkan hibrida) yang ditetapkan ke instance, bukan izin pengguna IAM yang melakukan tugas ini. Untuk informasi selengkapnya, lihat [Mengonfigurasi izin instans yang diperlukan untuk Systems Manager](setup-instance-permissions.md) atau [Membuat peran layanan IAM untuk lingkungan hibrid](hybrid-multicloud-service-role.md). Selain itu, jika bucket S3 yang ditentukan berbeda Akun AWS, pastikan bahwa profil instance atau peran layanan IAM yang terkait dengan node terkelola memiliki izin yang diperlukan untuk menulis ke bucket tersebut.

1. Di bagian **Notifikasi SNS**, jika Anda ingin notifikasi dikirim tentang status eksekusi perintah, pilih kotak centang **Aktifkan notifikasi SNS**.

   Untuk informasi selengkapnya tentang mengonfigurasi notifikasi Run Command Amazon SNS, lihat. [Pemantauan perubahan status Systems Manager menggunakan notifikasi Amazon SNS](monitoring-sns-notifications.md)

1. Pilih **Jalankan**.

Untuk informasi tentang membatalkan perintah, lihat [Membatalkan perintah](cancel-run-command.md). 

## Menjalankan kembali perintah
<a name="run-command-rerun"></a>

Systems Manager mencakup dua pilihan untuk membantu Anda menjalankan kembali perintah dari halaman **Run Command** dalam konsol Systems Manager. 
+ **Jalankan kembali**: Tombol ini memungkinkan Anda untuk menjalankan perintah yang sama tanpa membuat perubahan.
+ **Salin ke baru**: Tombol ini menyalin pengaturan dari satu perintah ke perintah baru dan memberikan Anda pilihan untuk mengedit pengaturan tersebut sebelum Anda menjalankannya.

**Untuk menjalankan kembali perintah**

1. Buka AWS Systems Manager konsol di [https://console.aws.amazon.com/systems-manager/](https://console.aws.amazon.com/systems-manager/).

1. Di panel navigasi, pilih **Run Command**.

1. Pilih sebuah perintah untuk dijalankan kembali. Anda dapat menjalankan kembali perintah segera setelah menjalankannya dari halaman detail perintah. Atau, Anda dapat memilih perintah yang sebelumnya Anda jalankan dari tab **Riwayat perintah**.

1. Pilih **Jalankan kembali** untuk menjalankan perintah yang sama tanpa perubahan, atau pilih **Salin ke baru** untuk mengedit pengaturan perintah sebelum Anda menjalankannya.

# Menjalankan perintah menggunakan versi dokumen tertentu
<a name="run-command-version"></a>

Anda dapat menggunakan parameter versi dokumen untuk menentukan versi dokumen AWS Systems Manager apa yang digunakan ketika perintah berjalan. Anda dapat menentukan salah satu opsi berikut untuk parameter ini:
+ \$1DEFAULT
+ \$1LATEST
+ Nomor versi

Jalankan prosedur berikut ini untuk menjalankan perintah menggunakan parameter versi dokumen. 

------
#### [ Linux ]

**Untuk menjalankan perintah menggunakan mesin AWS CLI Linux lokal**

1. Instal dan konfigurasikan AWS Command Line Interface (AWS CLI), jika Anda belum melakukannya.

   Untuk selengkapnya, lihat [Menginstal atau memperbarui versi terbaru AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html).

1. Cantumkan semua dokumen yang tersedia

   Perintah ini mencantumkan semua dokumen yang tersedia untuk akun Anda berdasarkan izin AWS Identity and Access Management (IAM).

   ```
   aws ssm list-documents
   ```

1. Jalankan perintah berikut ini untuk menampilkan versi yang berbeda dari dokumen. Ganti *document name* dengan informasi Anda sendiri.

   ```
   aws ssm list-document-versions \
       --name "document name"
   ```

1. Jalankan perintah berikut ini untuk menjalankan perintah yang menggunakan sebuah versi dokumen SSM. Ganti masing-masing *example resource placeholder* dengan informasi Anda sendiri.

   ```
   aws ssm send-command \
       --document-name "AWS-RunShellScript" \
       --parameters commands="echo Hello" \
       --instance-ids instance-ID \
       --document-version '$LATEST'
   ```

------
#### [ Windows ]

**Untuk menjalankan perintah menggunakan AWS CLI pada mesin Windows lokal**

1. Instal dan konfigurasikan AWS Command Line Interface (AWS CLI), jika Anda belum melakukannya.

   Untuk selengkapnya, lihat [Menginstal atau memperbarui versi terbaru AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html).

1. Cantumkan semua dokumen yang tersedia

   Perintah ini mencantumkan semua dokumen yang tersedia untuk akun Anda berdasarkan izin AWS Identity and Access Management (IAM).

   ```
   aws ssm list-documents
   ```

1. Jalankan perintah berikut ini untuk menampilkan versi yang berbeda dari dokumen. Ganti *document name* dengan informasi Anda sendiri.

   ```
   aws ssm list-document-versions ^
       --name "document name"
   ```

1. Jalankan perintah berikut ini untuk menjalankan perintah yang menggunakan sebuah versi dokumen SSM. Ganti masing-masing *example resource placeholder* dengan informasi Anda sendiri.

   ```
   aws ssm send-command ^
       --document-name "AWS-RunShellScript" ^
       --parameters commands="echo Hello" ^
       --instance-ids instance-ID ^
       --document-version "$LATEST"
   ```

------
#### [ PowerShell ]

**Untuk menjalankan perintah menggunakan Alat untuk PowerShell**

1. Instal dan konfigurasikan Alat AWS untuk PowerShell (Alat untuk Windows PowerShell), jika Anda belum melakukannya.

   Untuk selengkapnya, lihat [Menginstal Alat AWS untuk PowerShell](https://docs.aws.amazon.com/powershell/latest/userguide/pstools-getting-set-up.html).

1. Cantumkan semua dokumen yang tersedia

   Perintah ini mencantumkan semua dokumen yang tersedia untuk akun Anda berdasarkan izin AWS Identity and Access Management (IAM).

   ```
   Get-SSMDocumentList
   ```

1. Jalankan perintah berikut ini untuk menampilkan versi yang berbeda dari dokumen. Ganti *document name* dengan informasi Anda sendiri.

   ```
   Get-SSMDocumentVersionList `
       -Name "document name"
   ```

1. Jalankan perintah berikut ini untuk menjalankan perintah yang menggunakan sebuah versi dokumen SSM. Ganti masing-masing *example resource placeholder* dengan informasi Anda sendiri.

   ```
   Send-SSMCommand `
       -DocumentName "AWS-RunShellScript" `
       -Parameter @{commands = "echo helloWorld"} `
       -InstanceIds "instance-ID" `
       -DocumentVersion $LATEST
   ```

------

# Jalankan perintah pada skala
<a name="send-commands-multiple"></a>

Anda dapat menggunakanRun Command, alat di AWS Systems Manager, untuk menjalankan perintah pada armada node terkelola dengan menggunakan`targets`. `targets`Parameter menerima `Key,Value` kombinasi berdasarkan tag yang Anda tentukan untuk node terkelola Anda. Ketika Anda menjalankan perintah, sistem menemukan dan mencoba untuk menjalankan perintah pada semua node terkelola yang cocok dengan tag yang ditentukan. Untuk informasi selengkapnya tentang menandai instans terkelola, lihat [Menandai AWS sumber daya Anda di Panduan Pengguna Sumber Daya](https://docs.aws.amazon.com/tag-editor/latest/userguide/tag-editor.html) *Penandaan AWS *. Untuk informasi tentang menandai perangkat IoT terkelola, [lihat Menandai sumber daya AWS IoT Greengrass Version 2 Anda](https://docs.aws.amazon.com/greengrass/v2/developerguide/tag-resources.html) di Panduan *AWS IoT Greengrass Version 2 Pengembang.* 

Anda juga dapat menggunakan `targets` parameter untuk menargetkan daftar node terkelola tertentu IDs, seperti yang dijelaskan di bagian berikutnya.

Untuk mengontrol bagaimana perintah berjalan di ratusan atau ribuan node terkelola, Run Command juga termasuk parameter untuk membatasi berapa banyak node dapat secara bersamaan memproses permintaan dan berapa banyak kesalahan yang dapat dilemparkan oleh perintah sebelum perintah dibatalkan.

**Topics**
+ [Menargetkan beberapa node terkelola](#send-commands-targeting)
+ [Menggunakan pengendali rate](#send-commands-rate)

## Menargetkan beberapa node terkelola
<a name="send-commands-targeting"></a>

Anda dapat menjalankan perintah dan menargetkan node terkelola dengan menentukan tag, nama grup AWS sumber daya, atau node IDs terkelola. 

Contoh berikut menunjukkan format perintah saat menggunakan Run Command dari AWS Command Line Interface (AWS CLI ). Ganti masing-masing *example resource placeholder* dengan informasi Anda sendiri. Contoh perintah di bagian ini disingkat menggunakan `[...]`.

**Contoh 1: Tag penargetan**

------
#### [ Linux & macOS ]

```
aws ssm send-command \
    --document-name document-name \
    --targets Key=tag:tag-name,Values=tag-value \
    [...]
```

------
#### [ Windows ]

```
aws ssm send-command ^
    --document-name document-name ^
    --targets Key=tag:tag-name,Values=tag-value ^
    [...]
```

------

**Contoh 2: Menargetkan grup AWS sumber daya berdasarkan nama**

Anda dapat menentukan maksimal satu nama resource group per perintah. Saat Anda membuat resource group, kami merekomendasikan untuk menyertakan `AWS::SSM:ManagedInstance` dan `AWS::EC2::Instance` sebagai jenis sumber daya dalam kriteria pengelompokan Anda. 

**catatan**  
Untuk mengirim perintah yang menargetkan grup sumber daya, Anda harus telah diberikan izin AWS Identity and Access Management (IAM) untuk membuat daftar atau melihat sumber daya milik grup tersebut. Untuk informasi selengkapnya, lihat [Menyiapkan izin](https://docs.aws.amazon.com/ARG/latest/userguide/gettingstarted-prereqs.html#gettingstarted-prereqs-permissions) di *Panduan AWS Resource Groups Pengguna*. 

------
#### [ Linux & macOS ]

```
aws ssm send-command \    
    --document-name document-name \
    --targets Key=resource-groups:Name,Values=resource-group-name \
    [...]
```

------
#### [ Windows ]

```
aws ssm send-command ^    
    --document-name document-name ^
    --targets Key=resource-groups:Name,Values=resource-group-name ^
    [...]
```

------

**Contoh 3: Menargetkan grup AWS sumber daya berdasarkan jenis sumber daya**

Anda dapat menentukan maksimal lima jenis resource group per perintah. Saat Anda membuat resource group, kami merekomendasikan untuk menyertakan `AWS::SSM:ManagedInstance` dan `AWS::EC2::Instance` sebagai jenis sumber daya dalam kriteria pengelompokan Anda.

**catatan**  
Untuk mengirim perintah yang menargetkan sebuah resource group, Anda harus telah diberikan izin IAM untuk mencantumkan, atau melihat, sumber daya milik grup tersebut. Untuk informasi selengkapnya, lihat [Menyiapkan izin](https://docs.aws.amazon.com/ARG/latest/userguide/gettingstarted-prereqs.html#gettingstarted-prereqs-permissions) di *Panduan AWS Resource Groups Pengguna*. 

------
#### [ Linux & macOS ]

```
aws ssm send-command \    
    --document-name document-name \
    --targets Key=resource-groups:ResourceTypeFilters,Values=resource-type-1,resource-type-2 \
    [...]
```

------
#### [ Windows ]

```
aws ssm send-command ^    
    --document-name document-name ^
    --targets Key=resource-groups:ResourceTypeFilters,Values=resource-type-1,resource-type-2 ^
    [...]
```

------

**Contoh 4: Contoh penargetan IDs**

Contoh berikut menunjukkan bagaimana menargetkan node terkelola dengan menggunakan `instanceids` kunci dengan `targets` parameter. Anda dapat menggunakan kunci ini untuk menargetkan perangkat AWS IoT Greengrass inti terkelola karena setiap perangkat diberi mi-*ID\$1number*. Anda dapat melihat perangkat IDs diFleet Manager, alat di AWS Systems Manager.

------
#### [ Linux & macOS ]

```
aws ssm send-command \
    --document-name document-name \
    --targets Key=instanceids,Values=instance-ID-1,instance-ID-2,instance-ID-3 \
    [...]
```

------
#### [ Windows ]

```
aws ssm send-command ^
    --document-name document-name ^
    --targets Key=instanceids,Values=instance-ID-1,instance-ID-2,instance-ID-3 ^
    [...]
```

------

Jika Anda menandai node terkelola untuk lingkungan yang berbeda menggunakan `Key` nama `Environment` dan `Values` dari`Development`,`Test`, `Pre-production` dan`Production`, maka Anda dapat mengirim perintah ke semua node terkelola di *salah satu* lingkungan ini dengan menggunakan `targets` parameter dengan sintaks berikut.

------
#### [ Linux & macOS ]

```
aws ssm send-command \
    --document-name document-name \
    --targets Key=tag:Environment,Values=Development \
    [...]
```

------
#### [ Windows ]

```
aws ssm send-command ^
    --document-name document-name ^
    --targets Key=tag:Environment,Values=Development ^
    [...]
```

------

Anda dapat menargetkan node terkelola tambahan di lingkungan lain dengan menambahkan ke `Values` daftar. Pisahkan item menggunakan koma.

------
#### [ Linux & macOS ]

```
aws ssm send-command \
    --document-name document-name \
    --targets Key=tag:Environment,Values=Development,Test,Pre-production \
    [...]
```

------
#### [ Windows ]

```
aws ssm send-command ^
    --document-name document-name ^
    --targets Key=tag:Environment,Values=Development,Test,Pre-production ^
    [...]
```

------

**Variasi**: Menyempurnakan target Anda menggunakan beberapa kriteria `Key`

Anda dapat menyempurnakan jumlah target untuk perintah Anda dengan menyertakan beberapa kriteria `Key`. Jika Anda menyertakan lebih dari satu `Key` kriteria, sistem menargetkan node terkelola yang memenuhi *semua* kriteria. Perintah berikut menargetkan semua node terkelola yang ditandai untuk Departemen Keuangan *dan* diberi tag untuk peran server database.

------
#### [ Linux & macOS ]

```
aws ssm send-command \
    --document-name document-name \
    --targets Key=tag:Department,Values=Finance Key=tag:ServerRole,Values=Database \
    [...]
```

------
#### [ Windows ]

```
aws ssm send-command ^
    --document-name document-name ^
    --targets Key=tag:Department,Values=Finance Key=tag:ServerRole,Values=Database ^
    [...]
```

------

**Variasi**: Menggunakan beberapa `Key` dan kriteria `Value`

Berdasarkan contoh sebelumnya, Anda dapat menargetkan beberapa departemen dan beberapa peran server dengan memasukkan item tambahan di kriteria `Values`.

------
#### [ Linux & macOS ]

```
aws ssm send-command \
    --document-name document-name \
    --targets Key=tag:Department,Values=Finance,Marketing Key=tag:ServerRole,Values=WebServer,Database \
    [...]
```

------
#### [ Windows ]

```
aws ssm send-command ^
    --document-name document-name ^
    --targets Key=tag:Department,Values=Finance,Marketing Key=tag:ServerRole,Values=WebServer,Database ^
    [...]
```

------

**Variasi**: Menargetkan node terkelola yang ditandai menggunakan beberapa kriteria `Values`

Jika Anda menandai node terkelola untuk lingkungan yang berbeda menggunakan `Key` nama `Department` `Sales` dan `Values` dari dan`Finance`, maka Anda dapat mengirim perintah ke semua node di lingkungan ini dengan menggunakan `targets` parameter dengan sintaks berikut.

------
#### [ Linux & macOS ]

```
aws ssm send-command \
    --document-name document-name \
    --targets Key=tag:Department,Values=Sales,Finance \
    [...]
```

------
#### [ Windows ]

```
aws ssm send-command ^
    --document-name document-name ^
    --targets Key=tag:Department,Values=Sales,Finance ^
    [...]
```

------

Anda dapat menentukan maksimum lima kunci, dan lima nilai untuk setiap kunci.

Jika salah satu kunci tag (nama tag) atau nilai tag termasuk spasi, lampirkan kunci tag atau nilai dalam tanda kutip, seperti yang ditunjukkan dalam contoh berikut.

**Contoh**: Spasi di tag `Value`

------
#### [ Linux & macOS ]

```
aws ssm send-command \
    --document-name document-name \
    --targets Key=tag:OS,Values="Windows Server 2016" \
    [...]
```

------
#### [ Windows ]

```
aws ssm send-command ^
    --document-name document-name ^
    --targets Key=tag:OS,Values="Windows Server 2016" ^
    [...]
```

------

**Contoh**: Spasi di kunci `tag` dan `Value`

------
#### [ Linux & macOS ]

```
aws ssm send-command \
    --document-name document-name \
    --targets Key="tag:Operating System",Values="Windows Server 2016" \
    [...]
```

------
#### [ Windows ]

```
aws ssm send-command ^
    --document-name document-name ^
    --targets Key="tag:Operating System",Values="Windows Server 2016" ^
    [...]
```

------

**Contoh**: Spasi dalam satu item dalam daftar `Values`

------
#### [ Linux & macOS ]

```
aws ssm send-command \
    --document-name document-name \
    --targets Key=tag:Department,Values="Sales","Finance","Systems Mgmt" \
    [...]
```

------
#### [ Windows ]

```
aws ssm send-command ^
    --document-name document-name ^
    --targets Key=tag:Department,Values="Sales","Finance","Systems Mgmt" ^
    [...]
```

------

## Menggunakan pengendali rate
<a name="send-commands-rate"></a>

Anda dapat mengontrol tingkat di mana perintah dikirim ke node terkelola dalam grup dengan menggunakan kontrol *konkurensi dan kontrol* *kesalahan*.

**Topics**
+ [Menggunakan pengendali konkurensi](#send-commands-velocity)
+ [Menggunakan pengendali kesalahan](#send-commands-maxerrors)

### Menggunakan pengendali konkurensi
<a name="send-commands-velocity"></a>

Anda dapat mengontrol jumlah node terkelola yang menjalankan perintah secara bersamaan dengan menggunakan `max-concurrency` parameter (opsi **Concurrency** di halaman **Run a command**). Anda dapat menentukan jumlah absolut node terkelola**10**, misalnya, atau persentase dari set target, misalnya**10%**. Sistem antrian mengirimkan perintah ke satu node dan menunggu sampai sistem mengakui pemanggilan awal sebelum mengirim perintah ke dua node lagi. Sistem secara eksponensial mengirimkan perintah ke lebih banyak node sampai sistem memenuhi nilai. `max-concurrency` default untuk nilai `max-concurrency` adalah 50. Contoh berikut ini menunjukkan kepada Anda cara menentukan nilai untuk parameter `max-concurrency`.

------
#### [ Linux & macOS ]

```
aws ssm send-command \
    --document-name document-name \
    --max-concurrency 10 \
    --targets Key=tag:Environment,Values=Development \
    [...]
```

```
aws ssm send-command \
    --document-name document-name \
    --max-concurrency 10% \
    --targets Key=tag:Department,Values=Finance,Marketing Key=tag:ServerRole,Values=WebServer,Database \
    [...]
```

------
#### [ Windows ]

```
aws ssm send-command ^
    --document-name document-name ^
    --max-concurrency 10 ^
    --targets Key=tag:Environment,Values=Development ^
    [...]
```

```
aws ssm send-command ^
    --document-name document-name ^
    --max-concurrency 10% ^
    --targets Key=tag:Department,Values=Finance,Marketing Key=tag:ServerRole,Values=WebServer,Database ^
    [...]
```

------

### Menggunakan pengendali kesalahan
<a name="send-commands-maxerrors"></a>

Anda juga dapat mengontrol eksekusi perintah ke ratusan atau ribuan node terkelola dengan menetapkan batas kesalahan menggunakan `max-errors` parameter (bidang **ambang kesalahan** di halaman **Jalankan perintah**). Parameter menentukan berapa banyak kesalahan yang diizinkan sebelum sistem berhenti mengirim perintah ke node terkelola tambahan. Anda dapat menentukan jumlah kesalahan mutlak, misalnya **10**, atau persentase target yang ditentukan, misalnya **10%**. Jika Anda menentukan **3**, misalnya, maka sistem akan berhenti mengirim perintah ketika kesalahan keempat diterima. Jika Anda menentukan**0**, maka sistem berhenti mengirim perintah ke node terkelola tambahan setelah hasil kesalahan pertama dikembalikan. Jika Anda mengirim perintah ke 50 node yang dikelola dan diatur `max-errors` ke**10%**, maka sistem berhenti mengirim perintah ke node tambahan ketika kesalahan keenam diterima.

Pemanggilan yang sudah menjalankan perintah saat `max-errors` tercapai diizinkan untuk diselesaikan, tetapi beberapa pemanggilan tersebut mungkin gagal juga. Jika Anda perlu memastikan bahwa tidak akan ada lebih dari `max-errors` pemanggilan yang gagal, atur `max-concurrency` ke **1** sehingga pemanggilan akan dilanjutkan satu per satu. default untuk maksimal kesalahan adalah 0. Contoh berikut ini menunjukkan kepada Anda cara menentukan nilai untuk parameter `max-errors`.

------
#### [ Linux & macOS ]

```
aws ssm send-command \
    --document-name document-name \
    --max-errors 10 \
    --targets Key=tag:Database,Values=Development \
    [...]
```

```
aws ssm send-command \
    --document-name document-name \
    --max-errors 10% \
    --targets Key=tag:Environment,Values=Development \
    [...]
```

```
aws ssm send-command \
    --document-name document-name \
    --max-concurrency 1 \
    --max-errors 1 \
    --targets Key=tag:Environment,Values=Production \
    [...]
```

------
#### [ Windows ]

```
aws ssm send-command ^
    --document-name document-name ^
    --max-errors 10 ^
    --targets Key=tag:Database,Values=Development ^
    [...]
```

```
aws ssm send-command ^
    --document-name document-name ^
    --max-errors 10% ^
    --targets Key=tag:Environment,Values=Development ^
    [...]
```

```
aws ssm send-command ^
    --document-name document-name ^
    --max-concurrency 1 ^
    --max-errors 1 ^
    --targets Key=tag:Environment,Values=Production ^
    [...]
```

------

# Membatalkan perintah
<a name="cancel-run-command"></a>

Anda dapat mencoba untuk membatalkan perintah selama layanan menunjukkan bahwa itu dalam status Tertunda atau Mengeksekusi. Namun, bahkan jika perintah masih berada dalam salah satu status tersebut, kami tidak dapat menjamin bahwa perintah akan dibatalkan dan proses yang mendasarinya berhenti. 

**Untuk menjalankan perintah menggunakan konsol**

1. Buka AWS Systems Manager konsol di [https://console.aws.amazon.com/systems-manager/](https://console.aws.amazon.com/systems-manager/).

1. Di panel navigasi, pilih **Run Command**.

1. Pilih pemanggilan perintah yang ingin Anda batalkan.

1. Pilih **Batalkan perintah**.

**Untuk membatalkan perintah menggunakan AWS CLI**  
Jalankan perintah berikut. Ganti masing-masing *example resource placeholder* dengan informasi Anda sendiri.

------
#### [ Linux & macOS ]

```
aws ssm cancel-command \
    --command-id "command-ID" \
    --instance-ids "instance-ID"
```

------
#### [ Windows ]

```
aws ssm cancel-command ^
    --command-id "command-ID" ^
    --instance-ids "instance-ID"
```

------

Untuk informasi tentang status perintah yang dibatalkan, lihat [Memahami status perintah](monitor-commands.md).

# Menggunakan kode keluar dalam perintah
<a name="run-command-handle-exit-status"></a>

Dalam beberapa kasus, Anda mungkin perlu mengelola bagaimana perintah Anda ditangani dengan menggunakan kode keluar.

## Tentukan kode keluar dalam perintah
<a name="command-exit-codes"></a>

Penggunaan Run Command, alat di AWS Systems Manager, Anda dapat menentukan kode keluar untuk menentukan bagaimana perintah ditangani. Secara default, kode keluar dari perintah terakhir yang dijalankan dalam skrip dilaporkan sebagai kode keluar untuk seluruh skrip. Misalnya, Anda memiliki skrip yang berisi tiga perintah. Yang pertama gagal tapi yang berikutnya berhasil. Karena perintah terakhir berhasil, status eksekusi dilaporkan sebagai `succeeded`.

**skrip shell**  
Untuk gagal seluruh skrip pada kegagalan perintah pertama, Anda dapat menyertakan pernyataan bersyarat shell untuk keluar dari skrip jika ada perintah sebelum yang terakhir gagal. Gunakan pendekatan berikut.

```
<command 1>
    if [ $? != 0 ]
    then
        exit <N>
    fi
    <command 2>
    <command 3>
```

Pada contoh berikut, seluruh skrip gagal jika perintah pertama gagal.

```
cd /test
    if [ $? != 0 ]
    then
        echo "Failed"
        exit 1
    fi
    date
```

**PowerShell skrip**  
PowerShell mengharuskan Anda memanggil `exit` secara eksplisit dalam skrip Anda untuk Run Command untuk berhasil menangkap kode keluar.

```
<command 1>
    if ($?) {<do something>}
    else {exit <N>}
    <command 2>
    <command 3>
    exit <N>
```

Inilah contohnya:

```
cd C:\
    if ($?) {echo "Success"}
    else {exit 1}
    date
```

# Menangani reboot saat menjalankan perintah
<a name="send-commands-reboot"></a>

Jika Anda menggunakanRun Command, alat di AWS Systems Manager, untuk menjalankan skrip yang me-reboot node terkelola, kami sarankan Anda menentukan kode keluar dalam skrip Anda. Jika Anda mencoba me-reboot node dari skrip dengan menggunakan beberapa mekanisme lain, status eksekusi skrip mungkin tidak diperbarui dengan benar, bahkan jika reboot adalah langkah terakhir dalam skrip Anda. Untuk node terkelola Windows, Anda tentukan `exit 3010` dalam skrip Anda. Untuk Linux dan node macOS terkelola, Anda tentukan`exit 194`. Kode keluar menginstruksikan AWS Systems Manager Agent (SSM Agent) untuk me-reboot node yang dikelola, dan kemudian memulai ulang skrip setelah reboot selesai. Sebelum memulai reboot, SSM Agent menginformasikan layanan Systems Manager di cloud bahwa komunikasi akan terganggu selama reboot server.

**catatan**  
Skrip reboot tidak dapat menjadi bagian dari `aws:runDocument` plugin. Jika dokumen berisi skrip reboot dan dokumen lain mencoba menjalankan dokumen itu melalui `aws:runDocument` plugin, SSM Agent mengembalikan kesalahan.

**Buat skrip idempoten**

Saat mengembangkan skrip yang me-reboot node terkelola, buat skrip idempoten sehingga eksekusi skrip berlanjut di tempat yang ditinggalkannya setelah reboot. Skrip idempoten mengelola status dan memvalidasi apakah tindakan dilakukan atau tidak. Hal ini mencegah langkah untuk dijalankan beberapa kali ketika hanya dimaksudkan untuk dijalankan satu kali.

Berikut adalah contoh garis besar skrip idempoten yang me-reboot node terkelola beberapa kali.

```
$name = Get current computer name
If ($name –ne $desiredName) 
    {
        Rename computer
        exit 3010
    }
            
$domain = Get current domain name
If ($domain –ne $desiredDomain) 
    {
        Join domain
        exit 3010
    }
            
If (desired package not installed) 
    {
        Install package
        exit 3010
    }
```

**Contoh**

Contoh skrip berikut menggunakan kode keluar untuk memulai ulang node terkelola. Contoh Linux menginstal pembaruan paket di Amazon Linux, dan kemudian memulai ulang node. Windows ServerContoh menginstal Telnet-Client pada node, dan kemudian restart itu. 

------
#### [ Amazon Linux 2 ]

```
#!/bin/bash
yum -y update
needs-restarting -r
if [ $? -eq 1 ]
then
        exit 194
else
        exit 0
fi
```

------
#### [ Windows ]

```
$telnet = Get-WindowsFeature -Name Telnet-Client
if (-not $telnet.Installed)
    { 
        # Install Telnet and then send a reboot request to SSM Agent.
        Install-WindowsFeature -Name "Telnet-Client"
        exit 3010 
    }
```

------

# Memahami status perintah
<a name="monitor-commands"></a>

Run Command, alat di AWS Systems Manager, melaporkan informasi status terperinci tentang berbagai status yang dialami perintah selama pemrosesan dan untuk setiap node terkelola yang memproses perintah. Anda dapat memantau status perintah menggunakan metode berikut:
+ Pilih ikon **Segarkan** pada tab **Perintah** di antarmuka Run Command konsol.
+ Panggil [daftar-perintah](https://docs.aws.amazon.com/cli/latest/reference/ssm/list-commands.html) atau [list-command-invocations](https://docs.aws.amazon.com/cli/latest/reference/ssm/list-command-invocations.html)menggunakan AWS Command Line Interface ()AWS CLI. Atau hubungi [Get- SSMCommand](https://docs.aws.amazon.com/powershell/latest/reference/items/Get-SSMCommand.html) atau [Get- SSMCommand Invocation menggunakan.](https://docs.aws.amazon.com/powershell/latest/reference/items/Get-SSMCommandInvocation.html) AWS Tools for Windows PowerShell
+ Konfigurasikan Amazon EventBridge untuk merespons perubahan status atau status.
+ Konfigurasikan Amazon Simple Notification Service (Amazon SNS) untuk mengirim notifikasi untuk semua perubahan status atau status tertentu seperti atau. `Failed` `TimedOut`

## Run Commandstatus
<a name="monitor-about-status"></a>

Run Commandmelaporkan rincian status untuk tiga area: plugin, pemanggilan, dan status perintah keseluruhan. *plugin* adalah blok eksekusi kode yang ditetapkan dalam dokumen SSM perintah Anda. Untuk informasi selengkapnya tentang plugin, lihat [Referensi plugin dokumen perintah](documents-command-ssm-plugin-reference.md).

Saat Anda mengirim perintah ke beberapa node terkelola secara bersamaan, setiap salinan perintah yang menargetkan setiap node adalah *pemanggilan perintah*. Misalnya, jika Anda menggunakan dokumen `AWS-RunShellScript` dan mengirimkan perintah `ifconfig` ke 20 instans Linux, perintah tersebut memiliki 20 pemanggilan. Setiap pemanggilan perintah secara individual melaporkan status. Plugin untuk pemanggilan perintah tertentu juga secara individual melaporkan status. 

Terakhir, Run Command termasuk status perintah agregat untuk semua plugin dan pemanggilan. Status perintah agregat dapat berbeda dari status yang dilaporkan oleh plugin atau pemanggilan, seperti yang tercantum dalam tabel berikut.

**catatan**  
Jika Anda menjalankan perintah ke sejumlah besar node terkelola menggunakan `max-concurrency` atau `max-errors` parameter, status perintah mencerminkan batas yang diberlakukan oleh parameter tersebut, seperti yang dijelaskan dalam tabel berikut. Untuk informasi selengkapnya tentang parameter ini, lihat [Jalankan perintah pada skala](send-commands-multiple.md).


**Status detail untuk plugin dan pemanggilan perintah**  

| Status | Detail | 
| --- | --- | 
| Tertunda | Perintah belum dikirim ke node terkelola atau belum diterima olehSSM Agent. Jika perintah tidak diterima oleh agen sebelum panjang waktu berlalu yang sama dengan jumlah parameter Waktu habis (detik) dan parameter Waktu eksekusi, status berubah ke Delivery Timed Out. | 
| InProgress | Systems Manager mencoba mengirim perintah ke node yang dikelola, atau perintah diterima oleh SSM Agent dan telah mulai berjalan pada instance. Tergantung pada hasil dari semua plugin perintah, status berubah ke Success, Failed, Delivery Timed Out, atau Execution Timed Out. Pengecualian: Jika agen tidak berjalan atau tersedia di node, status perintah tetap di In Progress sampai agen tersedia lagi, atau sampai batas waktu eksekusi tercapai. Status kemudian berubah ke status terakhir. | 
| Terlambat | Sistem mencoba mengirim perintah ke node terkelola tetapi tidak berhasil. Sistem mencoba lagi. | 
| Berhasil | Status ini dikembalikan dalam berbagai kondisi. Status ini tidak berarti perintah diproses pada node. Misalnya, perintah dapat diterima oleh SSM Agent pada node yang dikelola dan mengembalikan kode keluar nol sebagai akibat dari Anda PowerShell ExecutionPolicy mencegah perintah berjalan. Ini adalah status terakhir. Kondisi yang menghasilkan perintah mengembalikan Success status adalah: [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/systems-manager/latest/userguide/monitor-commands.html)  Kondisi yang sama berlaku saat menargetkan grup sumber daya. Untuk memecahkan masalah kesalahan atau mendapatkan informasi selengkapnya tentang eksekusi perintah, kirim perintah yang menangani kesalahan atau pengecualian dengan mengembalikan kode keluar yang sesuai (kode keluar bukan nol untuk kegagalan perintah).  | 
| DeliveryTimedOut | Perintah tidak dikirim ke node terkelola sebelum batas waktu total berakhir. Total timeout tidak dihitung terhadap max-errors batas perintah induk, tetapi mereka berkontribusi pada apakah status perintah indukSuccess,Incomplete, atauDelivery Timed Out. Ini adalah status terakhir. | 
| ExecutionTimedOut | Otomatisasi perintah dimulai pada node terkelola, tetapi perintah tidak selesai sebelum batas waktu eksekusi berakhir. Waktu tunggu eksekusi dihitung sebagai kegagalan, yang akan mengirimkan balasan bukan nol dan Systems Manager akan keluar dari upaya untuk menjalankan otomatisasi perintah, dan melaporkan status kegagalan. | 
| Gagal |  Perintah tidak berhasil pada node terkelola. Untuk plugin, ini menunjukkan bahwa kode hasil tidak nol. Untuk pemanggilan perintah, ini menunjukkan bahwa kode hasil untuk satu atau lebih plugin tidak nol. Kegagalan pemanggilan dihitung terhadap batas max-errors perintah induk. Ini adalah status terakhir. | 
| Dibatalkan | Perintah dibatalkan sebelum selesai. Ini adalah keadaan akhir. | 
| Tidak terkirim | Perintah tidak dapat dikirim ke node terkelola. Node mungkin tidak ada atau mungkin tidak merespons. Pemanggilan tidak terkirim tidak dihitung terhadap batas max-errors perintah induk, tetapi berkontribusi pada apakah status perintah induk adalah Success atau Incomplete. Sebagai contoh, jika semua pemanggilan dalam perintah memiliki status Undeliverable, maka status perintah yang dikembalikan adalah Failed. Namun, jika perintah memiliki lima pemanggilan, empat di antaranya mengembalikan status Undeliverable dan salah satunya mengembalikan status Success, maka status perintah induk adalah Success. Ini adalah keadaan akhir. | 
| Diakhiri | Perintah induk melebihi batas max-errors dan pemanggilan perintah berikutnya dibatalkan oleh sistem. Ini adalah status terakhir. | 
| InvalidPlatform | Perintah dikirim ke node terkelola yang tidak cocok dengan platform yang diperlukan yang ditentukan oleh dokumen yang dipilih. Invalid Platformtidak dihitung terhadap batas maks-error perintah induk, tetapi itu berkontribusi pada apakah status perintah induk adalah Sukses atau Gagal. Sebagai contoh, jika semua pemanggilan dalam perintah memiliki status Invalid Platform, maka status perintah yang dikembalikan adalah Failed. Namun, jika perintah memiliki lima pemanggilan, empat di antaranya mengembalikan status Invalid Platform dan salah satunya mengembalikan status Success, maka status perintah induk adalah Success. Ini adalah status terakhir. | 
| AccessDenied | Pengguna AWS Identity and Access Management (IAM) atau peran yang memulai perintah tidak memiliki akses ke node terkelola yang ditargetkan. Access Deniedtidak dihitung terhadap max-errors batas perintah induk, tetapi itu berkontribusi pada apakah status perintah induk adalah Success atauFailed. Sebagai contoh, jika semua pemanggilan dalam perintah memiliki status Access Denied, maka status perintah yang dikembalikan adalah Failed. Namun, jika perintah memiliki lima pemanggilan, empat di antaranya mengembalikan status Access Denied dan salah satunya mengembalikan status Success, maka status perintah induk adalah Success. Ini adalah keadaan akhir. | 


**Status detail untuk perintah**  

| Status | Detail | 
| --- | --- | 
| Tertunda | Perintah belum diterima oleh agen pada node terkelola apa pun. | 
| InProgress | Perintah telah dikirim ke setidaknya satu node terkelola tetapi belum mencapai status akhir pada semua node.  | 
| Terlambat | Sistem mencoba mengirim perintah ke node tetapi tidak berhasil. Sistem mencoba lagi. | 
| Berhasil | Perintah diterima oleh SSM Agent pada semua node terkelola yang ditentukan atau ditargetkan dan mengembalikan kode keluar nol. Semua pemanggilan perintah telah mencapai keadaan akhir, dan nilai max-errors tidak tercapai. Status ini tidak berarti perintah berhasil diproses pada semua node terkelola yang ditentukan atau ditargetkan. Ini adalah keadaan akhir.  Untuk memecahkan masalah kesalahan atau mendapatkan informasi selengkapnya tentang eksekusi perintah, kirim perintah yang menangani kesalahan atau pengecualian dengan mengembalikan kode keluar yang sesuai (kode keluar bukan nol untuk kegagalan perintah).  | 
| DeliveryTimedOut | Perintah tidak dikirim ke node terkelola sebelum batas waktu total berakhir. Nilai max-errors atau lebih pemanggilan perintah menunjukkan status Delivery Timed Out. Ini adalah keadaan akhir. | 
| Gagal |  Perintah tidak berhasil pada node terkelola. Nilai `max-errors` atau lebih pemanggilan perintah menunjukkan status `Failed`. Ini adalah keadaan akhir.  | 
| Tidak lengkap | Perintah dicoba pada semua node terkelola dan satu atau lebih pemanggilan tidak memiliki nilai. Success Namun, tidak terjadi cukup pemanggilan yang gagal untuk status menjadi Failed. Ini adalah status terakhir. | 
| Dibatalkan | Perintah dibatalkan sebelum selesai. Ini adalah status terakhir. | 
| RateExceeded | Jumlah node terkelola yang ditargetkan oleh perintah melebihi kuota akun untuk pemanggilan yang tertunda. Sistem telah membatalkan perintah sebelum menjalankannya pada node apa pun. Ini adalah status terakhir. | 
| AccessDenied | Pengguna atau peran yang memulai perintah tidak memiliki akses ke grup sumber daya yang ditargetkan. AccessDeniedtidak dihitung terhadap max-errors batas perintah induk, tetapi berkontribusi pada apakah status perintah induk adalah Success atauFailed. (Sebagai contoh, jika semua pemanggilan dalam perintah memiliki status AccessDenied, maka status perintah yang dikembalikan adalah Failed. Namun, jika perintah memiliki 5 pemanggilan, 4 di antaranya mengembalikan status AccessDenied dan 1 mengembalikan status Success, maka status perintah induk adalah Success.) Ini adalah keadaan akhir. | 
| Tidak Ada Instans Dalam Tag | Nilai pasangan kunci tag atau grup sumber daya yang ditargetkan oleh perintah tidak cocok dengan node terkelola apa pun. Ini adalah status terakhir. | 

## Memahami nilai batas waktu perintah
<a name="monitor-about-status-timeouts"></a>

Systems Manager memberlakukan nilai batas waktu berikut saat menjalankan perintah.

**Total Batas Waktu**  
Di konsol Systems Manager, Anda menentukan nilai batas waktu di bidang **Timeout (detik)**. Setelah perintah dikirim, Run Command periksa apakah perintah telah kedaluwarsa atau belum. Jika sebuah perintah mencapai batas kedaluwarsa perintah (total batas waktu), statusnya berubah ke `DeliveryTimedOut` untuk semua pemanggilan yang memiliki status `InProgress`, `Pending` atau `Delayed`.

![\[Bidang Waktu habis (detik) di konsol Systems Manager\]](http://docs.aws.amazon.com/id_id/systems-manager/latest/userguide/images/run-command-delivery-time-out-time-out-seconds.png)


Pada tingkat yang lebih teknis, total timeout (**Timeout (detik))** adalah kombinasi dari dua nilai batas waktu, seperti yang ditunjukkan di sini: 

`Total timeout = "Timeout(seconds)" from the console + "timeoutSeconds": "{{ executionTimeout }}" from your SSM document`

Misalnya, nilai default **Waktu habis (detik)** di konsol Systems Manager adalah 600 detik. Jika Anda menjalankan perintah dengan menggunakan dokumen SSM `AWS-RunShellScript`, nilai default **"timeoutSeconds": "\$1\$1 executionTimeout \$1\$1"** adalah 3600 detik, seperti yang ditunjukkan dalam contoh dokumen berikut:

```
  "executionTimeout": {
      "type": "String",
      "default": "3600",

  "runtimeConfig": {
    "aws:runShellScript": {
      "properties": [
        {
          "timeoutSeconds": "{{ executionTimeout }}"
```

Ini berarti perintah berjalan selama 4.200 detik (70 menit) sebelum sistem menetapkan status perintah ke`DeliveryTimedOut`.

**Batas Waktu Eksekusi**  
Di konsol Systems Manager, Anda menentukan nilai batas waktu eksekusi di bidang **Batas Waktu Eksekusi**, jika tersedia. Tidak semua dokumen SSM mengharuskan Anda menentukan batas waktu eksekusi. Bidang **Execution Timeout** hanya ditampilkan ketika parameter input yang sesuai telah ditentukan dalam dokumen SSM. Jika ditentukan, perintah harus selesai dalam periode waktu ini.

**catatan**  
Run Commandbergantung pada respon terminal SSM Agent dokumen untuk menentukan apakah perintah itu dikirim ke agen atau tidak. SSM Agentharus mengirim `ExecutionTimedOut` sinyal untuk pemanggilan atau perintah yang akan ditandai sebagai. `ExecutionTimedOut`

![\[Bidang Batas Waktu Eksekusi di konsol Systems Manager\]](http://docs.aws.amazon.com/id_id/systems-manager/latest/userguide/images/run-command-execution-timeout-console.png)


**Batas Waktu Eksekusi Default**  
Jika dokumen SSM tidak mengharuskan Anda secara eksplisit menentukan nilai batas waktu eksekusi, maka Systems Manager memberlakukan batas waktu eksekusi default hard-coded.

**Cara Systems Manager melaporkan waktu habis**  
Jika Systems Manager menerima `execution timeout` balasan dari SSM Agent target, maka Systems Manager menandai pemanggilan perintah sebagai. `executionTimeout`

Jika Run Command tidak menerima respon terminal dokumen dariSSM Agent, pemanggilan perintah ditandai sebagai. `deliveryTimeout`

Untuk menentukan status batas waktu pada target, SSM Agent gabungkan semua parameter dan konten dokumen SSM untuk dihitung. `executionTimeout` Ketika SSM Agent menentukan bahwa perintah telah habis waktunya, ia mengirim `executionTimeout` ke layanan.

default untuk **Waktu habis (detik)** adalah 3600 detik. default untuk **Batas Waktu Eksekusi** juga 3600 detik. Oleh karena itu, total batas waktu default untuk perintah adalah 7200 detik.

**catatan**  
SSM Agentproses yang `executionTimeout` berbeda tergantung pada jenis dokumen SSM dan versi dokumen. 

# Run Command penelusuran
<a name="run-command-walkthroughs"></a>

Penelusuran di bagian ini menunjukkan kepada Anda cara menjalankan perintah dengan Run Command, alat di AWS Systems Manager, menggunakan AWS Command Line Interface (AWS CLI) atau AWS Tools for Windows PowerShell.

**Topics**
+ [Memperbarui perangkat lunak menggunakan Run Command](run-command-tutorial-update-software.md)
+ [Walkthrough: Gunakan dengan AWS CLI Run Command](walkthrough-cli.md)
+ [Walkthrough: Gunakan dengan AWS Tools for Windows PowerShell Run Command](walkthrough-powershell.md)

Anda juga dapat melihat contoh perintah di referensi berikut ini.
+ [AWS CLI Referensi Systems Manager](https://docs.aws.amazon.com/cli/latest/reference/ssm/)
+ [AWS Tools for Windows PowerShell - AWS Systems Manager](https://docs.aws.amazon.com/powershell/latest/reference/items/SimpleSystemsManagement_cmdlets.html)

# Memperbarui perangkat lunak menggunakan Run Command
<a name="run-command-tutorial-update-software"></a>

Prosedur berikut menjelaskan cara memperbarui perangkat lunak pada node terkelola Anda.

## Memperbarui SSM Agent penggunaan Run Command
<a name="rc-console-agentexample"></a>

Prosedur berikut menjelaskan cara memperbarui yang SSM Agent berjalan pada node terkelola Anda. Anda dapat memperbarui ke versi terbaru SSM Agent atau menurunkan versi ke versi yang lebih lama. Ketika Anda menjalankan perintah, sistem mengunduh versi dari AWS, menginstalnya, dan kemudian menghapus instalan versi yang ada sebelum perintah dijalankan. Jika terjadi kesalahan selama proses ini, sistem akan kembali ke versi di server sebelum perintah dijalankan dan status perintah menunjukkan bahwa perintah gagal.

**catatan**  
Jika sebuah instance menjalankan macOS versi 13.0 (Ventura) atau yang lebih baru, instance harus memiliki SSM Agent versi 3.1.941.0 atau lebih tinggi untuk menjalankan dokumen. AWS-UpdateSSMAgent Jika instance menjalankan versi SSM Agent rilis sebelum 3.1.941.0, Anda dapat memperbarui SSM Agent untuk menjalankan AWS-UpdateSSMAgent dokumen dengan menjalankan dan perintah. `brew update` `brew upgrade amazon-ssm-agent`

Untuk diberi tahu tentang SSM Agent pembaruan, berlangganan halaman [Catatan SSM Agent Rilis](https://github.com/aws/amazon-ssm-agent/blob/mainline/RELEASENOTES.md) diGitHub.

**Untuk memperbarui SSM Agent menggunakan Run Command**

1. Buka AWS Systems Manager konsol di [https://console.aws.amazon.com/systems-manager/](https://console.aws.amazon.com/systems-manager/).

1. Di panel navigasi, pilih **Run Command**.

1. Pilih **Run Command**.

1. Di daftar **Dokumen perintah**, pilih **`AWS-UpdateSSMAgent`**.

1. Di bagian **Parameter perintah**, tentukan nilai untuk parameter berikut, jika Anda ingin:

   1. (Opsional) Untuk **Versi**, masukkan versi SSM Agent untuk menginstal. Anda dapat menginstal agen [versi lama](https://github.com/aws/amazon-ssm-agent/blob/mainline/RELEASENOTES.md). Jika Anda tidak menentukan versinya, layanan akan menginstal versi terbaru.

   1. (Opsional) Untuk **Izinkan Downgrade**, pilih **true** untuk menginstal versi sebelumnya. SSM Agent Jika Anda memilih opsi ini, tentukan nomor versi [sebelumnya](https://github.com/aws/amazon-ssm-agent/blob/mainline/RELEASENOTES.md). Pilih **salah** untuk menginstal hanya versi layanan terbaru.

1. Di bagian **Target**, pilih node terkelola tempat Anda ingin menjalankan operasi ini dengan menentukan tag, memilih instance atau perangkat tepi secara manual, atau menentukan grup sumber daya.
**Tip**  
Jika node terkelola yang Anda harapkan tidak terdaftar, lihat [Memecahkan masalah ketersediaan node terkelola](fleet-manager-troubleshooting-managed-nodes.md) untuk tips pemecahan masalah.

1. Untuk **Parameter lainnya**:
   + Untuk **Komentar**, ketik informasi tentang perintah ini.
   + Untuk **Waktu habis (detik)**, tentukan jumlah detik untuk menunggu sistem sebelum gagal menjalankan perintah keseluruhan. 

1. Untuk **Pengendalian rate**:
   + Untuk **Konkurensi**, tentukan jumlah atau persentase dari simpul terkelola untuk menjalankan perintah pada saat yang sama.
**catatan**  
Jika Anda memilih target dengan menentukan tag yang diterapkan pada node terkelola atau dengan menentukan grup AWS sumber daya, dan Anda tidak yakin berapa banyak node terkelola yang ditargetkan, maka batasi jumlah target yang dapat menjalankan dokumen pada saat yang sama dengan menentukan persentase.
   + Untuk **Ambang kesalahan**, tentukan kapan harus berhenti menjalankan perintah pada simpul terkelola lain setelah gagal pada jumlah atau persentase simpul. Misalnya, jika Anda menentukan tiga kesalahan, Systems Manager berhenti mengirim perintah ketika kesalahan keempat diterima. Node terkelola yang masih memproses perintah mungkin juga mengirim kesalahan.

1. (Opsional) Untuk **Opsi output**, untuk menyimpan output perintah ke file, pilih kotak **Tuliskan output perintah ke bucket S3**. Masukkan nama bucket dan prefiks (folder) di kotak.
**catatan**  
Izin S3 yang memberikan kemampuan untuk menulis data ke bucket S3 adalah izin profil instans (untuk instans EC2) atau peran layanan IAM (mesin yang diaktifkan hibrida) yang ditetapkan ke instance, bukan izin pengguna IAM yang melakukan tugas ini. Untuk informasi selengkapnya, lihat [Mengonfigurasi izin instans yang diperlukan untuk Systems Manager](setup-instance-permissions.md) atau [Membuat peran layanan IAM untuk lingkungan hibrid](hybrid-multicloud-service-role.md). Selain itu, jika bucket S3 yang ditentukan berbeda Akun AWS, pastikan bahwa profil instance atau peran layanan IAM yang terkait dengan node terkelola memiliki izin yang diperlukan untuk menulis ke bucket tersebut.

1. Di bagian **Notifikasi SNS**, jika Anda ingin notifikasi dikirim tentang status eksekusi perintah, pilih kotak centang **Aktifkan notifikasi SNS**.

   Untuk informasi selengkapnya tentang mengonfigurasi notifikasi Run Command Amazon SNS, lihat. [Pemantauan perubahan status Systems Manager menggunakan notifikasi Amazon SNS](monitoring-sns-notifications.md)

1. Pilih **Jalankan**.

## Memperbarui PowerShell menggunakan Run Command
<a name="rc-console-pwshexample"></a>

Prosedur berikut menjelaskan cara memperbarui PowerShell ke versi 5.1 pada node terkelola Windows Server 2012 dan 2012 R2 Anda. Skrip yang disediakan dalam prosedur ini mengunduh pembaruan Windows Management Framework (WMF) versi 5.1, dan memulai instalasi pembaruan. Node reboot selama proses ini karena ini diperlukan saat menginstal WMF 5.1. Unduhan dan instalasi pembaruan memakan waktu sekitar lima menit untuk diselesaikan.

**Untuk memperbarui PowerShell menggunakan Run Command**

1. Buka AWS Systems Manager konsol di [https://console.aws.amazon.com/systems-manager/](https://console.aws.amazon.com/systems-manager/).

1. Di panel navigasi, pilih **Run Command**.

1. Pilih **Run Command**.

1. Di daftar **Dokumen perintah**, pilih **`AWS-RunPowerShellScript`**.

1. Di bagian **Perintah**, tempelkan perintah berikut untuk sistem operasi Anda.

------
#### [ Server Windows 2012 R2 ]

   ```
   Set-Location -Path "C:\Windows\Temp"
   
   Invoke-WebRequest "https://go.microsoft.com/fwlink/?linkid=839516" -OutFile "Win8.1AndW2K12R2-KB3191564-x64.msu"
   
   Start-Process -FilePath "$env:systemroot\system32\wusa.exe" -Verb RunAs -ArgumentList ('Win8.1AndW2K12R2-KB3191564-x64.msu', '/quiet')
   ```

------
#### [ Windows Server 2012 ]

   ```
   Set-Location -Path "C:\Windows\Temp"
   
   Invoke-WebRequest "https://go.microsoft.com/fwlink/?linkid=839513" -OutFile "W2K12-KB3191565-x64.msu"
   
   Start-Process -FilePath "$env:systemroot\system32\wusa.exe" -Verb RunAs -ArgumentList ('W2K12-KB3191565-x64.msu', '/quiet')
   ```

------

1. Di bagian **Target**, pilih node terkelola tempat Anda ingin menjalankan operasi ini dengan menentukan tag, memilih instance atau perangkat tepi secara manual, atau menentukan grup sumber daya.
**Tip**  
Jika node terkelola yang Anda harapkan tidak terdaftar, lihat [Memecahkan masalah ketersediaan node terkelola](fleet-manager-troubleshooting-managed-nodes.md) untuk tips pemecahan masalah.

1. Untuk **Parameter lainnya**:
   + Untuk **Komentar**, ketik informasi tentang perintah ini.
   + Untuk **Waktu habis (detik)**, tentukan jumlah detik untuk menunggu sistem sebelum gagal menjalankan perintah keseluruhan. 

1. Untuk **Pengendalian rate**:
   + Untuk **Konkurensi**, tentukan jumlah atau persentase dari simpul terkelola untuk menjalankan perintah pada saat yang sama.
**catatan**  
Jika Anda memilih target dengan menentukan tag yang diterapkan pada node terkelola atau dengan menentukan grup AWS sumber daya, dan Anda tidak yakin berapa banyak node terkelola yang ditargetkan, maka batasi jumlah target yang dapat menjalankan dokumen pada saat yang sama dengan menentukan persentase.
   + Untuk **Ambang kesalahan**, tentukan kapan harus berhenti menjalankan perintah pada simpul terkelola lain setelah gagal pada jumlah atau persentase simpul. Misalnya, jika Anda menentukan tiga kesalahan, Systems Manager berhenti mengirim perintah ketika kesalahan keempat diterima. Node terkelola yang masih memproses perintah mungkin juga mengirim kesalahan.

1. (Opsional) Untuk **Opsi output**, untuk menyimpan output perintah ke file, pilih kotak **Tuliskan output perintah ke bucket S3**. Masukkan nama bucket dan prefiks (folder) di kotak.
**catatan**  
Izin S3 yang memberikan kemampuan untuk menulis data ke bucket S3 adalah izin profil instans (untuk instans EC2) atau peran layanan IAM (mesin yang diaktifkan hibrida) yang ditetapkan ke instance, bukan izin pengguna IAM yang melakukan tugas ini. Untuk informasi selengkapnya, lihat [Mengonfigurasi izin instans yang diperlukan untuk Systems Manager](setup-instance-permissions.md) atau [Membuat peran layanan IAM untuk lingkungan hibrid](hybrid-multicloud-service-role.md). Selain itu, jika bucket S3 yang ditentukan berbeda Akun AWS, pastikan bahwa profil instance atau peran layanan IAM yang terkait dengan node terkelola memiliki izin yang diperlukan untuk menulis ke bucket tersebut.

1. Di bagian **Notifikasi SNS**, jika Anda ingin notifikasi dikirim tentang status eksekusi perintah, pilih kotak centang **Aktifkan notifikasi SNS**.

   Untuk informasi selengkapnya tentang mengonfigurasi notifikasi Run Command Amazon SNS, lihat. [Pemantauan perubahan status Systems Manager menggunakan notifikasi Amazon SNS](monitoring-sns-notifications.md)

1. Pilih **Jalankan**.

Setelah node terkelola reboot dan instalasi pembaruan selesai, sambungkan ke node Anda untuk mengonfirmasi bahwa PowerShell berhasil ditingkatkan ke versi 5.1. Untuk memeriksa versi PowerShell pada node Anda, buka PowerShell dan masukkan`$PSVersionTable`. Nilai `PSVersion` dalam tabel output menunjukkan 5.1 jika pemutakhiran berhasil.

Jika nilai `PSVersion` berbeda dari 5.1, misalnya 3.0 atau 4.0, tinjau log **Pengaturan** di Penampil Kejadian pada **Log Windows**. Log ini menunjukkan mengapa instalasi pembaruan gagal.

# Walkthrough: Gunakan dengan AWS CLI Run Command
<a name="walkthrough-cli"></a>

Contoh panduan berikut menunjukkan cara menggunakan AWS Command Line Interface (AWS CLI) untuk melihat informasi tentang perintah dan parameter perintah, cara menjalankan perintah, dan cara melihat status perintah tersebut. 

**penting**  
Hanya administrator tepercaya yang diizinkan untuk menggunakan dokumen AWS Systems Manager pra-konfigurasi yang ditampilkan dalam topik ini. Perintah atau skrip yang ditentukan dalam dokumen Systems Manager berjalan dengan izin administratif pada node terkelola Anda. Jika pengguna memiliki izin untuk menjalankan dokumen Systems Manager yang telah ditentukan sebelumnya (dokumen apa pun yang dimulai dengan`AWS-`), maka pengguna tersebut juga memiliki akses administrator ke node. Untuk semua pengguna lain, Anda harus membuat dokumen yang restriktif dan membagikannya dengan pengguna tertentu.

**Topics**
+ [Langkah 1: Memulai](#walkthrough-cli-settings)
+ [Langkah 2: Jalankan skrip shell untuk melihat detail sumber daya](#walkthrough-cli-run-scripts)
+ [Langkah 3: Kirim perintah sederhana menggunakan dokumen `AWS-RunShellScript`](#walkthrough-cli-example-1)
+ [Langkah 4: Jalankan skrip Python sederhana menggunakan Run Command](#walkthrough-cli-example-2)
+ [Langkah 5: Jalankan skrip Bash menggunakan Run Command](#walkthrough-cli-example-3)

## Langkah 1: Memulai
<a name="walkthrough-cli-settings"></a>

Anda harus memiliki izin administrator pada node terkelola yang ingin Anda konfigurasi atau Anda harus telah diberikan izin yang sesuai di AWS Identity and Access Management (IAM). Perhatikan juga, contoh ini menggunakan Wilayah Timur AS (Ohio) (us-east-2). Run Commandtersedia di [titik akhir layanan Systems Manager](https://docs.aws.amazon.com/general/latest/gr/ssm.html#ssm_region) yang Wilayah AWS tercantum di. *Referensi Umum Amazon Web Services* Untuk informasi selengkapnya, lihat [Menyiapkan node terkelola untuk AWS Systems Manager](systems-manager-setting-up-nodes.md).

**Untuk menjalankan perintah menggunakan AWS CLI**

1. Instal dan konfigurasikan AWS Command Line Interface (AWS CLI), jika Anda belum melakukannya.

   Untuk selengkapnya, lihat [Menginstal atau memperbarui versi terbaru AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html).

1. Cantumkan semua dokumen yang tersedia.

   Perintah ini mencantumkan semua dokumen yang tersedia untuk akun Anda berdasarkan izin IAM. 

   ```
   aws ssm list-documents
   ```

1. Verifikasi bahwa node terkelola siap menerima perintah.

   Output dari perintah berikut menunjukkan jika node terkelola sedang online.

------
#### [ Linux & macOS ]

   ```
   aws ssm describe-instance-information \
       --output text --query "InstanceInformationList[*]"
   ```

------
#### [ Windows ]

   ```
   aws ssm describe-instance-information ^
       --output text --query "InstanceInformationList[*]"
   ```

------

1. Jalankan perintah berikut untuk melihat detail tentang node terkelola tertentu.
**catatan**  
Untuk menjalankan perintah dalam panduan ini, ganti instance dan perintah. IDs Untuk perangkat AWS IoT Greengrass inti terkelola, gunakan mi- *ID\$1number* misalnya ID. ID perintah dikembalikan sebagai respon terhadap **send-command**. Instance IDs tersedia dariFleet Manager, alat di AWS Systems Manager..

------
#### [ Linux & macOS ]

   ```
   aws ssm describe-instance-information \
       --instance-information-filter-list key=InstanceIds,valueSet=instance-ID
   ```

------
#### [ Windows ]

   ```
   aws ssm describe-instance-information ^
       --instance-information-filter-list key=InstanceIds,valueSet=instance-ID
   ```

------

## Langkah 2: Jalankan skrip shell untuk melihat detail sumber daya
<a name="walkthrough-cli-run-scripts"></a>

Menggunakan Run Command dan `AWS-RunShellScript` dokumen, Anda dapat menjalankan perintah atau skrip apa pun pada node terkelola seolah-olah Anda masuk secara lokal.

**Lihat deskripsi dan parameter yang tersedia**

Jalankan perintah berikut untuk melihat deskripsi dokumen JSON Systems Manager.

------
#### [ Linux & macOS ]

```
aws ssm describe-document \
    --name "AWS-RunShellScript" \
    --query "[Document.Name,Document.Description]"
```

------
#### [ Windows ]

```
aws ssm describe-document ^
    --name "AWS-RunShellScript" ^
    --query "[Document.Name,Document.Description]"
```

------

Jalankan perintah berikut untuk melihat parameter yang tersedia dan detail tentang parameter tersebut.

------
#### [ Linux & macOS ]

```
aws ssm describe-document \
    --name "AWS-RunShellScript" \
    --query "Document.Parameters[*]"
```

------
#### [ Windows ]

```
aws ssm describe-document ^
    --name "AWS-RunShellScript" ^
    --query "Document.Parameters[*]"
```

------

## Langkah 3: Kirim perintah sederhana menggunakan dokumen `AWS-RunShellScript`
<a name="walkthrough-cli-example-1"></a>

Jalankan perintah berikut untuk mendapatkan informasi IP untuk node yang dikelola Linux.

Jika Anda menargetkan node Windows Server terkelola, ubah `document-name` ke `AWS-RunPowerShellScript` dan ubah `command` dari `ifconfig` ke`ipconfig`.

------
#### [ Linux & macOS ]

```
aws ssm send-command \
    --instance-ids "instance-ID" \
    --document-name "AWS-RunShellScript" \
    --comment "IP config" \
    --parameters commands=ifconfig \
    --output text
```

------
#### [ Windows ]

```
aws ssm send-command ^
    --instance-ids "instance-ID" ^
    --document-name "AWS-RunShellScript" ^
    --comment "IP config" ^
    --parameters commands=ifconfig ^
    --output text
```

------

**Dapatkan informasi perintah dengan data respon**  
Perintah berikut ini menggunakan Command ID yang dikembalikan dari perintah sebelumnya untuk mendapatkan detail dan data respon eksekusi perintah. Sistem mengembalikan data respon jika perintah selesai. Jika eksekusi perintah menunjukkan `"Pending"` atau `"InProgress"` Anda menjalankan perintah ini lagi untuk melihat data respon.

------
#### [ Linux & macOS ]

```
aws ssm list-command-invocations \
    --command-id $sh-command-id \
    --details
```

------
#### [ Windows ]

```
aws ssm list-command-invocations ^
    --command-id $sh-command-id ^
    --details
```

------

**Identifikasi pengguna**

Perintah berikut menampilkan pengguna default yang menjalankan perintah. 

------
#### [ Linux & macOS ]

```
sh_command_id=$(aws ssm send-command \
    --instance-ids "instance-ID" \
    --document-name "AWS-RunShellScript" \
    --comment "Demo run shell script on Linux managed node" \
    --parameters commands=whoami \
    --output text \
    --query "Command.CommandId")
```

------

**Dapatkan status perintah**  
Perintah berikut menggunakan Command ID untuk mendapatkan status eksekusi perintah pada node yang dikelola. Contoh ini menggunakan Command ID yang dikembalikan pada perintah sebelumnya. 

------
#### [ Linux & macOS ]

```
aws ssm list-commands \
    --command-id "command-ID"
```

------
#### [ Windows ]

```
aws ssm list-commands ^
    --command-id "command-ID"
```

------

**Dapatkan detail perintah**  
Perintah berikut menggunakan Command ID dari perintah sebelumnya untuk mendapatkan status eksekusi perintah pada basis per node yang dikelola.

------
#### [ Linux & macOS ]

```
aws ssm list-command-invocations \
    --command-id "command-ID" \
    --details
```

------
#### [ Windows ]

```
aws ssm list-command-invocations ^
    --command-id "command-ID" ^
    --details
```

------

**Dapatkan informasi perintah dengan data respons untuk node terkelola tertentu**  
Perintah berikut mengembalikan output dari `aws ssm send-command` permintaan asli untuk node terkelola tertentu. 

------
#### [ Linux & macOS ]

```
aws ssm list-command-invocations \
    --instance-id instance-ID \
    --command-id "command-ID" \
    --details
```

------
#### [ Windows ]

```
aws ssm list-command-invocations ^
    --instance-id instance-ID ^
    --command-id "command-ID" ^
    --details
```

------

**Tampilkan versi Python**

Perintah berikut mengembalikan versi Python berjalan pada node.

------
#### [ Linux & macOS ]

```
sh_command_id=$(aws ssm send-command \
    --instance-ids "instance-ID" \
    --document-name "AWS-RunShellScript" \
    --comment "Demo run shell script on Linux Instances" \
    --parameters commands='python -V' \
    --output text --query "Command.CommandId") \
    sh -c 'aws ssm list-command-invocations \
    --command-id "$sh_command_id" \
    --details \
    --query "CommandInvocations[].CommandPlugins[].{Status:Status,Output:Output}"'
```

------

## Langkah 4: Jalankan skrip Python sederhana menggunakan Run Command
<a name="walkthrough-cli-example-2"></a>

Perintah berikut menjalankan Python sederhana “Hello World” script menggunakan. Run Command

------
#### [ Linux & macOS ]

```
sh_command_id=$(aws ssm send-command \
    --instance-ids "instance-ID" \
    --document-name "AWS-RunShellScript" \
    --comment "Demo run shell script on Linux Instances" \
    --parameters '{"commands":["#!/usr/bin/python","print \"Hello World from python\""]}' \
    --output text \
    --query "Command.CommandId") \
    sh -c 'aws ssm list-command-invocations \
    --command-id "$sh_command_id" \
    --details \
    --query "CommandInvocations[].CommandPlugins[].{Status:Status,Output:Output}"'
```

------

## Langkah 5: Jalankan skrip Bash menggunakan Run Command
<a name="walkthrough-cli-example-3"></a>

Contoh di bagian ini menunjukkan bagaimana menjalankan skrip bash berikut menggunakanRun Command.

Untuk contoh penggunaan Run Command untuk menjalankan skrip yang disimpan di lokasi terpencil, lihat [Menjalankan skrip dari Amazon S3](integration-s3.md) dan[Menjalankan skrip dari GitHub](integration-remote-scripts.md).

```
#!/bin/bash
yum -y update
yum install -y ruby
cd /home/ec2-user
curl -O https://aws-codedeploy-us-east-2.s3.amazonaws.com/latest/install
chmod +x ./install
./install auto
```

*Skrip ini menginstal AWS CodeDeploy agen di Amazon Linux dan Red Hat Enterprise Linux (RHEL) instans, seperti yang dijelaskan dalam [Buat instans Amazon EC2 CodeDeploy](https://docs.aws.amazon.com/codedeploy/latest/userguide/instances-ec2-create.html) untuk dalam AWS CodeDeploy Panduan Pengguna.*

Skrip menginstal CodeDeploy agen dari bucket S3 AWS terkelola di Wilayah AS Timur (Ohio) Anda (us-east-2),. `aws-codedeploy-us-east-2`

**Jalankan skrip bash dalam sebuah perintah AWS CLI **

Contoh berikut ini menunjukkan cara menyertakan skrip bash dalam perintah CLI menggunakan opsi `--parameters`.

------
#### [ Linux & macOS ]

```
aws ssm send-command \
    --document-name "AWS-RunShellScript" \
    --targets '[{"Key":"InstanceIds","Values":["instance-id"]}]' \
    --parameters '{"commands":["#!/bin/bash","yum -y update","yum install -y ruby","cd /home/ec2-user","curl -O https://aws-codedeploy-us-east-2.s3.amazonaws.com/latest/install","chmod +x ./install","./install auto"]}'
```

------

**Jalankan skrip bash dalam file JSON**

Pada contoh berikut ini, konten dari skrip bash disimpan dalam file JSON, dan file tersebut disertakan dalam perintah menggunakan opsi `--cli-input-json`.

------
#### [ Linux & macOS ]

```
aws ssm send-command \
    --document-name "AWS-RunShellScript" \
    --targets "Key=InstanceIds,Values=instance-id" \
    --cli-input-json file://installCodeDeployAgent.json
```

------
#### [ Windows ]

```
aws ssm send-command ^
    --document-name "AWS-RunShellScript" ^
    --targets "Key=InstanceIds,Values=instance-id" ^
    --cli-input-json file://installCodeDeployAgent.json
```

------

Konten dari file `installCodeDeployAgent.json` yang direferensikan ini ditampilkan dalam contoh berikut.

```
{
    "Parameters": {
        "commands": [
            "#!/bin/bash",
            "yum -y update",
            "yum install -y ruby",
            "cd /home/ec2-user",
            "curl -O https://aws-codedeploy-us-east-2.s3.amazonaws.com/latest/install",
            "chmod +x ./install",
            "./install auto"
        ]
    }
}
```

# Walkthrough: Gunakan dengan AWS Tools for Windows PowerShell Run Command
<a name="walkthrough-powershell"></a>

Contoh berikut menunjukkan cara menggunakan AWS Tools for Windows PowerShell untuk melihat informasi tentang perintah dan parameter perintah, cara menjalankan perintah, dan cara melihat status perintah tersebut. Panduan ini mencakup contoh untuk masing-masing dokumen AWS Systems Manager yang telah ditetapkan sebelumnya.

**penting**  
Hanya administrator tepercaya yang boleh diizinkan untuk menggunakan dokumen Systems Manager yang telah dikonfigurasikan yang ditampilkan dalam topik ini. Perintah atau skrip yang ditentukan dalam dokumen Systems Manager berjalan dengan izin administratif pada node terkelola Anda. Jika pengguna memiliki izin untuk menjalankan dokumen Systems Manager yang telah ditentukan sebelumnya (dokumen apa pun yang dimulai dengan AWS), maka pengguna tersebut juga memiliki akses administrator ke node. Untuk semua pengguna lain, Anda harus membuat dokumen yang restriktif dan membagikannya dengan pengguna tertentu.

**Topics**
+ [Konfigurasikan pengaturan AWS Tools for Windows PowerShell sesi](#walkthrough-powershell-settings)
+ [Cantumkan semua dokumen yang tersedia](#walkthrough-powershell-all-documents)
+ [Jalankan PowerShell perintah atau skrip](#walkthrough-powershell-run-script)
+ [Instal aplikasi menggunakan dokumen `AWS-InstallApplication`](#walkthrough-powershell-install-application)
+ [Instal PowerShell modul menggunakan dokumen `AWS-InstallPowerShellModule` JSON](#walkthrough-powershell-install-module)
+ [Bergabunglah dengan node terkelola ke Domain menggunakan `AWS-JoinDirectoryServiceDomain` dokumen JSON](#walkthrough-powershell-domain-join)
+ [Kirim metrik Windows ke Amazon CloudWatch Logs menggunakan dokumen `AWS-ConfigureCloudWatch`](#walkthrough-powershell-windows-metrics)
+ [Mengaktifkan atau menonaktifkan pembaruan otomatis Windows menggunakan dokumen `AWS-ConfigureWindowsUpdate`](#walkthrough-powershell-enable-windows-update)
+ [Kelola pembaruan Windows menggunakan Run Command](#walkthough-powershell-windows-updates)

## Konfigurasikan pengaturan AWS Tools for Windows PowerShell sesi
<a name="walkthrough-powershell-settings"></a>

**Tentukan kredensial Anda**  
Buka **Tools untuk Windows PowerShell** di komputer lokal Anda dan jalankan perintah berikut untuk menentukan kredensi Anda. Anda harus memiliki izin administrator pada node terkelola yang ingin Anda konfigurasi atau Anda harus telah diberikan izin yang sesuai di AWS Identity and Access Management (IAM). Untuk informasi selengkapnya, lihat [Menyiapkan node terkelola untuk AWS Systems Manager](systems-manager-setting-up-nodes.md).

```
Set-AWSCredentials –AccessKey key-name –SecretKey key-name
```

**Tetapkan default Wilayah AWS**  
Jalankan perintah berikut untuk mengatur wilayah untuk PowerShell sesi Anda. Contohnya menggunakan Wilayah Timur AS (Ohio) (us-east-2). Run Commandtersedia di [titik akhir layanan Systems Manager](https://docs.aws.amazon.com/general/latest/gr/ssm.html#ssm_region) yang Wilayah AWS tercantum di. *Referensi Umum Amazon Web Services*

```
Set-DefaultAWSRegion `
    -Region us-east-2
```

## Cantumkan semua dokumen yang tersedia
<a name="walkthrough-powershell-all-documents"></a>

Perintah ini mencantumkan semua dokumen yang tersedia untuk akun Anda.

```
Get-SSMDocumentList
```

## Jalankan PowerShell perintah atau skrip
<a name="walkthrough-powershell-run-script"></a>

Menggunakan Run Command dan `AWS-RunPowerShell` dokumen, Anda dapat menjalankan perintah atau skrip apa pun pada node terkelola seolah-olah Anda masuk secara lokal. Anda dapat mengeluarkan perintah atau memasukkan jalur ke skrip lokal untuk menjalankan perintah. 

**catatan**  
Untuk informasi tentang me-reboot node terkelola saat menggunakan Run Command untuk memanggil skrip, lihat. [Menangani reboot saat menjalankan perintah](send-commands-reboot.md)

**Lihat deskripsi dan parameter yang tersedia**

```
Get-SSMDocumentDescription `
    -Name "AWS-RunPowerShellScript"
```

**Lihat informasi selengkapnya tentang parameter**

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

### Kirim perintah menggunakan dokumen `AWS-RunPowerShellScript`
<a name="walkthrough-powershell-run-script-send-command-aws-runpowershellscript"></a>

Perintah berikut menunjukkan isi `"C:\Users"` direktori dan isi `"C:\"` direktori pada dua node yang dikelola. 

```
$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:\')}
```

**Dapatkan detail permintaan perintah**  
Perintah berikut menggunakan `CommandId` untuk mendapatkan status eksekusi perintah pada kedua node yang dikelola. Contoh ini menggunakan `CommandId` yang dikembalikan pada perintah sebelumnya. 

```
Get-SSMCommand `
    -CommandId $runPSCommand.CommandId
```

Status perintah dalam contoh ini bisa Sukses, Tertunda, atau InProgress.

**Dapatkan informasi perintah per node terkelola**  
Perintah berikut menggunakan `CommandId` dari perintah sebelumnya untuk mendapatkan status eksekusi perintah pada basis per node yang dikelola.

```
Get-SSMCommandInvocation `
    -CommandId $runPSCommand.CommandId
```

**Dapatkan informasi perintah dengan data respons untuk node terkelola tertentu**  
Perintah berikut mengembalikan output asli `Send-SSMCommand` untuk node terkelola tertentu. 

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

### Batalkan perintah
<a name="walkthrough-powershell-run-script-cancel-command"></a>

Perintah berikut ini membatalkan `Send-SSMCommand` untuk dokumen `AWS-RunPowerShellScript`.

```
$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
```

**Periksa status perintah**  
Perintah berikut ini memeriksa status perintah `Cancel`.

```
Get-SSMCommand `
    -CommandId $cancelCommand.CommandId
```

## Instal aplikasi menggunakan dokumen `AWS-InstallApplication`
<a name="walkthrough-powershell-install-application"></a>

Menggunakan Run Command dan `AWS-InstallApplication` dokumen, Anda dapat menginstal, memperbaiki, atau menghapus aplikasi pada node yang dikelola. Perintah ini memerlukan jalur atau alamat ke sebuah MSI.

**catatan**  
Untuk informasi tentang me-reboot node terkelola saat menggunakan Run Command untuk memanggil skrip, lihat. [Menangani reboot saat menjalankan perintah](send-commands-reboot.md)

**Lihat deskripsi dan parameter yang tersedia**

```
Get-SSMDocumentDescription `
    -Name "AWS-InstallApplication"
```

**Lihat informasi selengkapnya tentang parameter**

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

### Kirim perintah menggunakan dokumen `AWS-InstallApplication`
<a name="walkthrough-powershell-install-application-send-command-aws-installapplication"></a>

Perintah berikut menginstal versi Python pada node terkelola Anda dalam mode tanpa pengawasan, dan mencatat output ke file teks lokal di drive Anda. `C:`

```
$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'}
```

**Dapatkan informasi perintah per node terkelola**  
Perintah berikut ini menggunakan `CommandId` untuk mendapatkan status eksekusi perintah.

```
Get-SSMCommandInvocation `
    -CommandId $installAppCommand.CommandId `
    -Details $true
```

**Dapatkan informasi perintah dengan data respons untuk node terkelola tertentu**  
Perintah berikut ini mengembalikan hasil instalasi Python.

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

## Instal PowerShell modul menggunakan dokumen `AWS-InstallPowerShellModule` JSON
<a name="walkthrough-powershell-install-module"></a>

Anda dapat menggunakan Run Command untuk menginstal PowerShell modul pada node terkelola. Untuk informasi selengkapnya tentang PowerShell modul, lihat [ PowerShell Modul Windows](https://docs.microsoft.com/en-us/powershell/module/microsoft.powershell.core/about/about_modules?view=powershell-6).

**Lihat deskripsi dan parameter yang tersedia**

```
Get-SSMDocumentDescription `
    -Name "AWS-InstallPowerShellModule"
```

**Lihat informasi selengkapnya tentang parameter**

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

### Instal PowerShell modul
<a name="walkthrough-powershell-install-module-install"></a>

Perintah berikut mengunduh EZOut file.zip, menginstalnya, dan kemudian menjalankan perintah tambahan untuk menginstal penampil XPS. Terakhir, output dari perintah ini diunggah ke bucket S3 bernama “amzn-s3-demo-bucket”. 

```
$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
```

**Dapatkan informasi perintah per node terkelola**  
Perintah berikut ini menggunakan `CommandId` untuk mendapatkan status eksekusi perintah. 

```
Get-SSMCommandInvocation `
    -CommandId $installPSCommand.CommandId `
    -Details $true
```

**Dapatkan informasi perintah dengan data respons untuk node terkelola**  
Perintah berikut ini mengembalikan output dari `Send-SSMCommand` asli untuk `CommandId` tertentu. 

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

## Bergabunglah dengan node terkelola ke Domain menggunakan `AWS-JoinDirectoryServiceDomain` dokumen JSON
<a name="walkthrough-powershell-domain-join"></a>

Dengan menggunakanRun Command, Anda dapat dengan cepat menggabungkan node terkelola ke AWS Directory Service domain. Sebelum menjalankan perintah ini, [buat direktori](https://docs.aws.amazon.com/directoryservice/latest/admin-guide/ms_ad_getting_started_create_directory.html). Kami juga merekomendasikan agar Anda mempelajari selengkapnya tentang Directory Service. Untuk informasi selengkapnya, lihat [Panduan Administrasi AWS Directory Service](https://docs.aws.amazon.com/directoryservice/latest/admin-guide/).

Anda hanya dapat menggabungkan node terkelola ke domain. Anda tidak dapat menghapus node dari domain.

**catatan**  
Untuk informasi tentang node terkelola saat menggunakan Run Command untuk memanggil skrip, lihat[Menangani reboot saat menjalankan perintah](send-commands-reboot.md).

**Lihat deskripsi dan parameter yang tersedia**

```
Get-SSMDocumentDescription `
    -Name "AWS-JoinDirectoryServiceDomain"
```

**Lihat informasi selengkapnya tentang parameter**

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

### Bergabunglah dengan node terkelola ke domain
<a name="walkthrough-powershell-domain-join-instance"></a>

Perintah berikut menggabungkan node terkelola ke Directory Service domain tertentu dan mengunggah output apa pun yang dihasilkan ke contoh bucket Amazon Simple Storage Service (Amazon S3). 

```
$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
```

**Dapatkan informasi perintah per node terkelola**  
Perintah berikut ini menggunakan `CommandId` untuk mendapatkan status eksekusi perintah. 

```
Get-SSMCommandInvocation `
    -CommandId $domainJoinCommand.CommandId `
    -Details $true
```

**Dapatkan informasi perintah dengan data respons untuk node terkelola**  
Perintah ini mengembalikan output dari `Send-SSMCommand` asli untuk `CommandId` tertentu.

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

## Kirim metrik Windows ke Amazon CloudWatch Logs menggunakan dokumen `AWS-ConfigureCloudWatch`
<a name="walkthrough-powershell-windows-metrics"></a>

Anda dapat mengirim Windows Server pesan dalam log aplikasi, sistem, keamanan, dan Event Tracing for Windows (ETW) ke Amazon CloudWatch Logs. Ketika Anda mengizinkan pencatatan untuk pertama kalinya, Systems Manager mengirimkan semua log yang dihasilkan dalam satu (1) menit dari waktu Anda mulai mengunggah log untuk log aplikasi, sistem, keamanan, dan ETW. Log yang terjadi sebelum waktu ini tidak disertakan. Jika Anda menonaktifkan pencatatan dan kemudian mengaktifkan log kembali, Systems Manager mengirimkan log dari waktu yang tersisa. Untuk setiap file log kustom dan log Internet Information Services (IIS), Systems Manager membaca berkas log dari awal. Selain itu, Systems Manager juga dapat mengirim data penghitung kinerja ke CloudWatch Log.

Jika sebelumnya Anda mengaktifkan CloudWatch integrasi di EC2 Config, pengaturan Systems Manager akan mengganti setelan apa pun yang disimpan secara lokal pada node terkelola dalam file. `C:\Program Files\Amazon\EC2ConfigService\Settings\AWS.EC2.Windows.CloudWatch.json` *Untuk informasi selengkapnya tentang menggunakan EC2 Config untuk mengelola penghitung performa dan log pada satu node terkelola, lihat [Mengumpulkan metrik dan log dari instans Amazon EC2 dan server lokal dengan agen di](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Install-CloudWatch-Agent.html) Panduan Pengguna Amazon. CloudWatch CloudWatch *

**Lihat deskripsi dan parameter yang tersedia**

```
Get-SSMDocumentDescription `
    -Name "AWS-ConfigureCloudWatch"
```

**Lihat informasi selengkapnya tentang parameter**

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

### Kirim log aplikasi ke CloudWatch
<a name="walkthrough-powershell-windows-metrics-send-logs-cloudwatch"></a>

Perintah berikut mengkonfigurasi node terkelola dan memindahkan log Aplikasi Windows ke CloudWatch.

```
$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"]}}}'}
```

**Dapatkan informasi perintah per node terkelola**  
Perintah berikut ini menggunakan `CommandId` untuk mendapatkan status eksekusi perintah. 

```
Get-SSMCommandInvocation `
    -CommandId $cloudWatchCommand.CommandId `
    -Details $true
```

**Dapatkan informasi perintah dengan data respons untuk node terkelola tertentu**  
Perintah berikut mengembalikan hasil CloudWatch konfigurasi Amazon.

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

### Kirim penghitung kinerja untuk CloudWatch menggunakan dokumen `AWS-ConfigureCloudWatch`
<a name="walkthrough-powershell-windows-metrics-send-performance-counters-cloudwatch"></a>

Perintah demonstrasi berikut mengunggah penghitung kinerja ke. CloudWatch Untuk informasi selengkapnya, lihat *[Panduan CloudWatch Pengguna Amazon](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/)*.

```
$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"]}}}'}
```

## Mengaktifkan atau menonaktifkan pembaruan otomatis Windows menggunakan dokumen `AWS-ConfigureWindowsUpdate`
<a name="walkthrough-powershell-enable-windows-update"></a>

Menggunakan Run Command dan `AWS-ConfigureWindowsUpdate` dokumen, Anda dapat mengaktifkan atau mematikan pembaruan Windows otomatis pada node Windows Server terkelola Anda. Perintah ini mengkonfigurasi Windows Update Agent untuk mengunduh dan menginstal pembaruan Windows pada hari dan jam yang Anda tentukan. Jika pembaruan memerlukan reboot, node terkelola akan reboot secara otomatis 15 menit setelah pembaruan diinstal. Dengan perintah ini Anda juga dapat mengkonfigurasi Windows Update untuk memeriksa pembaruan tetapi tidak menginstalnya. `AWS-ConfigureWindowsUpdate`Dokumen ini secara resmi didukung pada Windows Server 2012 dan versi yang lebih baru.

**Lihat deskripsi dan parameter yang tersedia**

```
Get-SSMDocumentDescription `
    –Name "AWS-ConfigureWindowsUpdate"
```

**Lihat informasi selengkapnya tentang parameter**

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

### Aktifkan pembaruan otomatis Windows
<a name="walkthrough-powershell-enable-windows-update-automatic"></a>

Perintah berikut ini mengkonfigurasi Windows Update untuk secara otomatis mengunduh dan menginstal pembaruan setiap hari pada pukul 10:00 malam. 

```
$configureWindowsUpdateCommand = Send-SSMCommand `
    -InstanceId instance-ID `
    -DocumentName "AWS-ConfigureWindowsUpdate" `
    -Parameters @{'updateLevel'='InstallUpdatesAutomatically'; 'scheduledInstallDay'='Daily'; 'scheduledInstallTime'='22:00'}
```

**Lihat status perintah untuk mengizinkan pembaruan otomatis Windows**  
Perintah berikut ini menggunakan `CommandId` untuk mendapatkan status eksekusi perintah untuk mengizinkan pembaruan otomatis Windows.

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

### Nonaktifkan pembaruan otomatis Windows
<a name="walkthrough-powershell-enable-windows-update-disable"></a>

Perintah berikut menurunkan tingkat pemberitahuan Pembaruan Windows sehingga sistem memeriksa pembaruan tetapi tidak secara otomatis memperbarui node terkelola.

```
$configureWindowsUpdateCommand = Send-SSMCommand `
    -InstanceId instance-ID `
    -DocumentName "AWS-ConfigureWindowsUpdate" `
    -Parameters @{'updateLevel'='NeverCheckForUpdates'}
```

**Lihat status perintah untuk menonaktifkan pembaruan otomatis Windows**  
Perintah berikut ini menggunakan `CommandId` untuk mendapatkan status eksekusi perintah untuk menonaktifkan pembaruan otomatis Windows.

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

## Kelola pembaruan Windows menggunakan Run Command
<a name="walkthough-powershell-windows-updates"></a>

Menggunakan Run Command dan `AWS-InstallWindowsUpdates` dokumen, Anda dapat mengelola pembaruan untuk node Windows Server terkelola. Perintah ini memindai atau menginstal pembaruan yang hilang pada node terkelola Anda dan secara opsional reboot setelah instalasi. Anda juga dapat menentukan klasifikasi dan tingkat kepelikan yang sesuai agar pembaruan diinstal di lingkungan Anda.

**catatan**  
Untuk informasi tentang me-reboot node terkelola saat menggunakan Run Command untuk memanggil skrip, lihat. [Menangani reboot saat menjalankan perintah](send-commands-reboot.md)

Contoh berikut ini mendemonstrasikan cara melakukan tugas manajemen Windows Update yang ditentukan.

### Cari semua pembaruan Windows yang hilang
<a name="walkthough-powershell-windows-updates-search"></a>

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

### Instal pembaruan Windows tertentu
<a name="walkthough-powershell-windows-updates-install-specific"></a>

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

### Instal pembaruan Windows penting yang hilang
<a name="walkthough-powershell-windows-updates-install-missing"></a>

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

### Instal pembaruan Windows yang hilang dengan pengecualian khusus
<a name="walkthough-powershell-windows-updates-install-exclusions"></a>

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

# Memecahkan masalah Run Command Systems Manager
<a name="troubleshooting-remote-commands"></a>

Run Command, alat di AWS Systems Manager, memberikan detail status dengan setiap eksekusi perintah. Untuk informasi lebih lanjut tentang detail status perintah, lihat [Memahami status perintah](monitor-commands.md). Anda juga dapat menggunakan informasi dalam topik ini untuk membantu memecahkan masalah. Run Command

**Topics**
+ [Beberapa node terkelola saya hilang](#where-are-instances)
+ [Sebuah langkah dalam skrip saya gagal, tetapi status keseluruhan adalah 'berhasil'](#ts-exit-codes)
+ [SSM Agenttidak berjalan dengan benar](#ts-ssmagent-linux)

## Beberapa node terkelola saya hilang
<a name="where-are-instances"></a>

Di halaman **Jalankan perintah**, setelah Anda memilih dokumen SSM untuk dijalankan dan pilih **Secara manual memilih instance** di bagian **Target**, daftar akan ditampilkan dari node terkelola yang dapat Anda pilih untuk menjalankan perintah.

Jika node terkelola yang Anda harapkan tidak terdaftar, lihat [Memecahkan masalah ketersediaan node terkelola](fleet-manager-troubleshooting-managed-nodes.md) untuk tips pemecahan masalah.

Setelah Anda membuat, mengaktifkan, me-reboot, atau memulai ulang node terkelola, menginstal Run Command pada node, atau melampirkan profil instance AWS Identity and Access Management (IAM) ke node, dibutuhkan beberapa menit agar node terkelola ditambahkan ke daftar.

## Sebuah langkah dalam skrip saya gagal, tetapi status keseluruhan adalah 'berhasil'
<a name="ts-exit-codes"></a>

Dengan menggunakanRun Command, Anda dapat menentukan bagaimana skrip Anda menangani kode keluar. Secara default, kode keluar dari perintah terakhir yang dijalankan dalam skrip dilaporkan sebagai kode keluar untuk seluruh skrip. Namun, Anda dapat menyertakan pernyataan bersyarat untuk keluar dari skrip jika perintah sebelum yang terakhir gagal. Untuk informasi dan contoh, lihat [Tentukan kode keluar dalam perintah](run-command-handle-exit-status.md#command-exit-codes). 

## SSM Agenttidak berjalan dengan benar
<a name="ts-ssmagent-linux"></a>

Jika Anda mengalami masalah saat menjalankan perintah menggunakanRun Command, mungkin ada masalah denganSSM Agent. Untuk informasi tentang menyelidiki masalah denganSSM Agent, lihat[Pemecahan Masalah SSM Agent](troubleshooting-ssm-agent.md). 