

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

# Menjalankan PowerShell Skrip Windows
<a name="cookbooks-101-opsworks-opsworks-powershell"></a>

**penting**  
 AWS OpsWorks Stacks Layanan ini mencapai akhir masa pakai pada 26 Mei 2024 dan telah dinonaktifkan untuk pelanggan baru dan yang sudah ada. Kami sangat menyarankan pelanggan untuk memindahkan beban kerja mereka ke solusi lain sesegera mungkin. Jika Anda memiliki pertanyaan tentang migrasi, hubungi AWS Dukungan Tim di [AWS re:Post](https://repost.aws/) atau melalui [AWS Dukungan](https://aws.amazon.com/support) Premium.

**catatan**  
Contoh-contoh ini mengasumsikan bahwa Anda telah melakukan [Menjalankan Resep pada Instance Windows](cookbooks-101-opsworks-opsworks-windows.md) contoh. Jika tidak, Anda harus melakukan contoh itu terlebih dahulu. Secara khusus, ini menjelaskan cara [mengaktifkan akses RDP ke instance](cookbooks-101-opsworks-opsworks-windows.md#cookbooks-101-opsworks-opsworks-windows-rdp) Anda.

Salah satu cara agar resep melakukan tugas pada instance Windows — terutama tugas yang tidak memiliki sumber daya Chef yang sesuai — adalah dengan meminta resep menjalankan skrip Windows. PowerShell Bagian ini memperkenalkan Anda pada dasar-dasar dengan menjelaskan cara menggunakan PowerShell skrip Windows untuk menginstal fitur Windows.

Sumber [https://docs.chef.io/chef/resources.html#powershell-script](https://docs.chef.io/chef/resources.html#powershell-script)daya menjalankan PowerShell cmdlet Windows pada sebuah instance. Contoh berikut menggunakan [Install- WindowsFeature cmdlet](https://technet.microsoft.com/en-us/library/hh849795.aspx) untuk menginstal penampil XPS pada instance. 

Berikut ini secara singkat merangkum cara membuat tumpukan untuk contoh ini. Untuk informasi selengkapnya, lihat [Buat Stack Baru](workingstacks-creating.md).

**Buat tumpukan**

1. Buka [konsol OpsWorks Stacks](https://console.aws.amazon.com/opsworks/) dan pilih **Add Stack**. **Tentukan pengaturan berikut, terima default untuk pengaturan lainnya, dan klik Tambahkan Tumpukan.**
   + **Nama** - PowerShellTest
   + **Wilayah** - AS Barat (Oregon)

     Contoh ini akan bekerja di wilayah mana pun, tetapi kami sarankan menggunakan US West (Oregon) untuk tutorial.
   + **Sistem operasi default** - Microsoft Windows Server 2012 R2

1. Pilih **Tambahkan lapisan** dan [tambahkan lapisan khusus](workinglayers-custom.md) ke tumpukan dengan pengaturan berikut.
   + **Nama** - PowerShell
   + **Nama pendek** - PowerShell

1. [Tambahkan instance 24/7](workinginstances-add.md) dengan pengaturan default ke PowerShell layer dan [mulailah](workinginstances-starting.md).

1. **Pilih **Izin** dan kemudian **Edit**, dan pilih **SSH/RDP dan sudo/admin**.** Anda memerlukan otorisasi ini selain grup `AWS-OpsWorks-RDP-Server` keamanan untuk masuk ke instance sebagai pengguna biasa.

Saat instance dimulai — biasanya membutuhkan waktu beberapa menit — Anda dapat membuat buku masak. Resep untuk contoh ini membuat direktori data, dan pada dasarnya resep dari[Contoh 3: Membuat Direktori](cookbooks-101-basics-directories.md), dimodifikasi untuk Windows.

**Untuk mengatur buku masak**

1. Buat direktori bernama `powershell` dan navigasikan ke sana.

1. Buat `metadata.rb` file dengan konten berikut dan simpan ke`windowstest`.

   ```
   name "powershell"
   version "0.1.0"
   ```

1. Buat `recipes` direktori di dalam `powershell` direktori.

1. Buat `default.rb` file dengan resep berikut dan simpan ke `recipes` direktori.

   ```
   Chef::Log.info("******Installing XPS.******")
   
   powershell_script "Install XPS Viewer" do
     code <<-EOH
       Install-WindowsFeature XPS-Viewer
     EOH
     guard_interpreter :powershell_script
     not_if "(Get-WindowsFeature -Name XPS-Viewer).installed"
   end
   ```
   + Sumber `powershell_script` daya menjalankan cmdlet untuk menginstal penampil XPS.

     Contoh ini hanya menjalankan satu cmdlet, tetapi `code` blok dapat berisi sejumlah baris perintah.
   + `guard_interpreter`Atribut mengarahkan Chef untuk menggunakan Windows PowerShell versi 64-bit.
   + Atribut `not_if` guard memastikan bahwa Chef tidak menginstal fitur jika sudah diinstal.

1. Buat `.zip` arsip `powershell` direktori.

1. [Unggah arsip ke bucket Amazon S3](https://docs.aws.amazon.com/AmazonS3/latest/UG/UploadingObjectsintoAmazonS3.html), [buat arsip publik](https://docs.aws.amazon.com/AmazonS3/latest/UG/EditingPermissionsonanObject.html), dan rekam URL arsip. Anda juga dapat menggunakan arsip pribadi, tetapi arsip publik sudah cukup untuk contoh ini, dan agak lebih mudah untuk dikerjakan.

   Konten yang dikirimkan ke bucket Amazon S3 mungkin berisi konten pelanggan. Untuk informasi selengkapnya tentang menghapus data sensitif, lihat [Bagaimana Cara Mengosongkan Bucket S3?](https://docs.aws.amazon.com/AmazonS3/latest/userguide/empty-bucket.html) atau [Bagaimana Saya Menghapus Bucket S3?](https://docs.aws.amazon.com/AmazonS3/latest/userguide/delete-bucket.html) .

Anda sekarang dapat menginstal buku masak dan menjalankan resepnya.

**Untuk menjalankan resep**

1. [Edit tumpukan untuk mengaktifkan buku masak khusus](workingcookbook-installingcustom-enable.md) dan tentukan pengaturan berikut.
   + **Jenis repositori** **- Arsip S3**
   + URL **Repositori — URL** arsip buku masak yang Anda rekam sebelumnya

   Terima nilai default untuk pengaturan lain dan pilih **Simpan** untuk memperbarui konfigurasi tumpukan.

1. [Jalankan perintah tumpukan **Update Custom Cookbooks**](workingstacks-commands.md) untuk menginstal versi buku masak kustom Anda saat ini pada instance. 

1. Setelah **Update Custom Cookbooks** selesai, jalankan resep dengan menjalankan [perintah stack **Execute Recipes**](workingstacks-commands.md) dengan **Recipes untuk mengeksekusi** set ke**powershell::default**. 

**catatan**  
Contoh ini menggunakan **Execute Recipes** untuk kenyamanan, tetapi Anda biasanya memiliki OpsWorks Stacks [menjalankan resep Anda secara otomatis](workingcookbook-assigningcustom.md) dengan menetapkannya ke acara siklus hidup yang sesuai. Anda dapat menjalankan resep tersebut dengan memicu acara secara manual. Anda dapat menggunakan perintah stack untuk memicu peristiwa Setup dan Configure, dan [perintah deploy](workingapps-deploying.md) untuk memicu peristiwa Deploy dan Undeploy.

Setelah resep berjalan dengan sukses, Anda dapat memverifikasinya.

**Untuk memverifikasi resep PowerShell**

1. Periksa [log Chef](troubleshoot-debug-log.md). Klik **tampilkan** di kolom Log instans PowerShell1 untuk menampilkan **log**. Gulir ke bawah dan Anda akan melihat pesan log Anda di dekat bagian bawah.

   ```
   ...
   [2015-04-27T18:12:09+00:00] INFO: Storing updated cookbooks/powershell/metadata.rb in the cache.
   [2015-04-27T18:12:09+00:00] INFO: ******Installing XPS.******
   [2015-04-27T18:12:09+00:00] INFO: Processing powershell_script[Install XPS Viewer] action run (powershell::default line 3)
   [2015-04-27T18:12:09+00:00] INFO: Processing powershell_script[Guard resource] action run (dynamically defined)
   [2015-04-27T18:12:42+00:00] INFO: powershell_script[Install XPS Viewer] ran successfully 
   ...
   ```

1. [Gunakan RDP untuk masuk ke instance](workinginstances-rdp.md) dan buka menu **Start**. XPS Viewer harus terdaftar dengan **Windows Accessories**.