Bagikan melalui


Meneliti sintaks dan output alat baris perintah

Artikel sebelumnya menyediakan kriteria untuk memilih alat baris perintah yang ingin Anda perkuat dengan Crescendo. Dalam artikel ini kami menjelaskan cara untuk mengumpulkan informasi tentang alat yang membantu Anda merancang cmdlet menggunakan Crescendo.

Untuk contoh dalam artikel ini, kami menggunakan alat agen Azure Connected Machine (azcmagent). Kami memilih alat ini karena:

  • Sangat mudah untuk menginstal dan menghapus
  • Ini tidak memerlukan langganan Azure aktif untuk penggunaan dasar
  • Ini memiliki bantuan dalam konsol yang berguna dan dokumentasi online
  • Ini menghasilkan output yang mudah dikonsumsi

Tip

Jika Anda tidak memiliki alat ini, Anda tidak perlu menginstalnya kecuali Anda ingin mencoba contohnya.

Untuk informasi selengkapnya, lihat bagian Menginstal alat azcmagent di artikel ini.

Mulai dengan bantuan dan dokumentasi baris perintah

Banyak alat baris perintah menyertakan sakelar atau parameter untuk menampilkan konten bantuan. Sebagian besar alat baris perintah modern menyediakan beberapa tingkat bantuan untuk berbagai skenario penggunaan yang disediakan alat. Misalnya, berjalan azcmagent tanpa parameter apa pun menampilkan bantuan tingkat atas, yang berisi daftar sub-perintah.

...
Usage:
  azcmagent [command]

Available Commands:
  check       Runs connectivity checks
  config      Change configuration settings for this machine
  connect     Connects this machine to Azure
  disconnect  Disconnects this machine from Azure
  help        Help about any command
  license     Display the End-user license agreement file
  logs        Creates a .zip file containing relevant logs. This is primarily useful for troubleshooting.
  show        Gets machine metadata and Agent status. This is primarily useful for troubleshooting.
  version     Display the Hybrid Management Agent version
...

Masing-masing sub perintah dapat memiliki sub perintah dan parameternya sendiri. Misalnya, config sub perintah memiliki lima sub perintah.

PS> azcmagent config --help
Change configuration settings for this machine

Usage:
  azcmagent config [command]

Available Commands:
  clear       Clear a configuration property's value
  get         Get a configuration property's value
  info        Describes the config properties users can set
  list        List all configuration properties and values
  set         Set a value for a configuration property

Flags:
  -h, --help      help for config
      --version   version for config

Global Flags:
      --config string   config file (default is $HOME/.azcmagent.yaml)
  -j, --json            Output in JSON format
      --log-stderr      Redirect error and verbose messages to stderr
  -v, --verbose         Increase logging verbosity to show all logs

Use "azcmagent config [command] --help" for more information about a command.

Gunakan bantuan baris perintah untuk menemukan kemungkinan kasus penggunaan. Anda dapat mengalihkan output dari setiap perintah bantuan ke file yang dapat Anda gunakan untuk referensi nanti saat membuat cmdlet Crescendo Anda.

Tip

Jika konten bantuan disusun secara konsisten, mungkin untuk membuat kode yang membangun cmdlet dengan mengurai output bantuan ini. Crescendo dilengkapi dengan beberapa pengurai bantuan eksperimental untuk menggambarkan bagaimana hal ini dapat dicapai. Experimental Lihat folder di folder akar modul Microsoft.PowerShell.Crescendo.

Perhatikan format output yang ditawarkan alat baris perintah. Banyak alat baris perintah dapat menghasilkan informasi dalam format seperti CSV atau JSON. Format terstruktur ini mudah dikonversi ke objek PowerShell.

Mengambil contoh output untuk penguraian

Setelah Anda memutuskan perintah alat mana yang akan dikuatkan dengan Crescendo, kumpulkan output sampel dari perintah tersebut. Alihkan output ke file untuk setiap perintah. Gunakan contoh data ini untuk membantu Anda merancang handler output (parser) untuk cmdlet Crescendo Anda.

Saat Anda memeriksa output sampel, pikirkan tentang jenis data yang dikembalikan. Saat membuat objek, Anda harus mengonversi output string oleh alat baris perintah ke jenis .NET. Misalnya, informasi tanda waktu dapat dikonversi ke jenis .NET [DateTime] . Selain itu, lihat pemformatan output untuk penanda yang memisahkan bidang data. Penanda tersebut dapat digunakan untuk mengurai informasi saat Anda membuat objek untuk output.

Alat ini azcmagent memiliki opsi untuk menghasilkan informasi dalam format JSON. Ini membuat konversi ke objek PowerShell sangat sederhana. Contohnya:

PS> $agentStatus = azcmagent show --json | ConvertFrom-Json
PS> $agentStatus.services

displayName       serviceName      status
-----------       -----------      ------
GC Service        gcarcservice     running
Extension Service extensionservice running
Agent Service     himds            running

Untuk contoh output penguraian yang lebih kompleks, lihat posting blog ini dari blog Komunitas PowerShell.

Catatan

Alat ini azcmagent harus dijalankan dengan hak istimewa Administratif. Ini juga berarti bahwa modul yang Anda buat harus dijalankan dengan hak istimewa Administratif.

Menginstal alat azcmagent

Anda dapat mengunduh paket agen Azure Connected Machine untuk Windows dan Linux dari lokasi yang tercantum di bawah ini.

  • Unduh paket Penginstal Windows untuk agen Windows dari Pusat Unduhan Microsoft.
  • Agen Linux didistribusikan dari repositori paket Microsoft. Pilih format paket pilihan untuk distribusi (RPM atau DEB).

Untuk informasi selengkapnya tentang agen Azure Connected Machine, lihat Mengelola dan memelihara agen Connected Machine.

Langkah selanjutnya