Menyederhanakan penulisan runbook Service Management Automation dengan aset global

Penting

Versi Service Management Automation (SMA) ini telah mencapai akhir dukungan, kami sarankan Anda untuk meningkatkan ke SMA 2022.

Aset Global tersedia untuk semua runbook di lingkungan Automation. Anda membuat dan mengonfigurasinya menggunakan ruang kerja Automation di portal manajemen atau dengan cmdlet yang sesuai di Windows PowerShell. Dari runbook, Anda dapat mengambil dan mengatur nilai untuk aset global dengan aktivitas dalam modul RunbookConstructs . Cmdlet Windows PowerShell tersedia untuk digunakan dalam runbook di Service Management Automation, tetapi aktivitas direkomendasikan karena lebih efisien karena tidak harus bekerja melalui layanan web Automation.

Mendapatkan atau mengatur kredensial

Kredensial Automation adalah nama pengguna dan kata sandi yang dapat digunakan dengan perintah Windows PowerShell atau sertifikat yang diunggah ke server. Properti untuk kredensial disimpan dengan aman dalam database Automation dan dapat diakses di runbook dengan aktivitas Get-AutomationPSCredential atau Get-AutomationCertificate .

PowerShell untuk mengelola kredensial

Anda bisa menggunakan cmdlet dalam tabel berikut untuk membuat dan mengelola kredensial dengan Windows PowerShell di Otomatisasi Manajemen Layanan.

Cmdlet Deskripsi
Get-SmaCertificate Mengambil sertifikat Automation.
Get-SmaCredential Mengambil kredensial Automation PowerShell.
Remove-SmaCertificate Menghapus sertifikat Automation.
Remove-Smacredential Menghapus kredensial Automation PowerShell.
Set-SmaCertificate Membuat sertifikat baru atau mengatur properti untuk sertifikat yang sudah ada termasuk mengunggah file sertifikat dan mengatur kata sandi untuk .pfx.
Set-SmaCredential Membuat kredensial Automation PowerShell baru atau mengatur properti untuk kredensial yang sudah ada.

PowerShell untuk bekerja dengan kredensial

Anda dapat menggunakan aktivitas dalam tabel berikut untuk mengakses kredensial dalam runbook.

Aktivitas Deskripsi
Get-AutomationCertificate Mendapatkan sertifikat untuk digunakan dalam runbook.
Get-AutomationPSCredential Mendapatkan nama pengguna/kata sandi untuk digunakan dalam runbook.

Catatan

Anda harus menghindari penggunaan variabel dalam "Parameter nama Get-AutomationPSCredential dan Get-AutomationCertificate karena ini dapat mempersulit penemuan dependensi antara runbook dan variabel Automation.

Membuat kredensial PowerShell di Portal Manajemen

  1. Pilih ruang kerja Automation .

  2. Di bagian atas jendela, klik Aset.

  3. Di bagian bawah jendela, klik Tambahkan Pengaturan.

  4. Klik Tambahkan Kredensial.

  5. Di menu dropdown Jenis Kredensial , pilih Kredensial PowerShell.

  6. Ketik nama untuk kredensial dalam kotak Nama .

  7. Klik panah kanan.

  8. Ketik nilai untuk setiap properti.

  9. Klik tanda centang untuk menyimpan kredensial.

Membuat sertifikat di

Portal Manajemen

  1. Pilih ruang kerja Automation .

  2. Di bagian atas jendela, klik Aset.

  3. Di bagian bawah jendela, klik Tambahkan Pengaturan.

  4. Klik Tambahkan Kredensial.

  5. Di menu drop-down Jenis Kredensial , pilih Sertifikat.

  6. Ketik nama untuk sertifikat dalam kotak Nama .

  7. Klik panah kanan.

  8. Klik Telusuri File dan navigasi ke file .cer atau .pfx.

  9. Jika Anda memilih file .pfx, berikan kata sandinya.

  10. Klik tanda centang untuk menyimpan sertifikat.

Membuat kredensial dengan PowerShell

Contoh perintah berikut menunjukkan cara membuat kredensial baru.

$webServer = 'https://MyWebServer'
$port = 9090
$credName = 'MyCredential'
$user = 'contoso\MyUser'
$pwd = ConvertTo-SecureString -String 'P@$$w0rd' -AsPlainText -Force
$cred = New-Object -TypeName System.Management.Automation.PSCredential -ArgumentList $user,$pwd

Set-SmaCredential -WebServiceEndpoint $webServer -port $port -Name $credName -Value $cred

Untuk membuat sertifikat PowerShell baru dengan Windows PowerShell di Otomatisasi Manajemen Layanan

Contoh perintah berikut menunjukkan cara membuat sertifikat baru dengan mengimpor file sertifikat.

$webServer = 'https://MyWebServer'
$port = 9090
$certName = 'MyCertificate'
$path = 'c:\certs\MyCertificate.pfx'
$certPwd = ConvertTo-SecureString -String 'P@$$w0rd' -AsPlainText -Force

Set-SmaCertificate -WebServiceEndpoint $webServer -port $port -Name $certName -Path $certPath -Password $certPwd

Menggunakan kredensial PowerShell dalam runbook

Anda mengambil Kredensial PowerShell dalam runbook dengan aktivitas Get-AutomationPSCredential . Ini mengembalikan objek PSCredential yang bisa Anda gunakan dalam alur kerja.

  • Contoh perintah berikut menunjukkan cara menggunakan kredensial PowerShell dalam runbook. Dalam contoh ini, kredensial digunakan dengan aktivitas InlineScript untuk menjalankan serangkaian perintah menggunakan kredensial alternatif.

    $myCredential = Get-AutomationPSCredential -Name 'MyCredential'
    InlineScript {
       <Commands>
    } -PSComputerName $ServerName -PSCredential $myCredential
    

Mengelola koneksi SMA

Koneksi Automation berisi informasi yang diperlukan untuk menyambungkan ke layanan atau aplikasi dari runbook. Informasi ini didefinisikan dalam modul untuk aplikasi dan biasanya mencakup informasi seperti nama pengguna dan kata sandi dan komputer yang akan disambungkan. Informasi lain mungkin juga diperlukan seperti sertifikat atau ID langganan. Properti untuk koneksi disimpan dengan aman di database Automation dan dapat diakses di runbook dengan aktivitas Get-AutomationConnection .

Cmdlet Windows PowerShell

Anda bisa membuat dan mengelola kredensial dengan cmdlet Windows PowerShell dalam tabel berikut.

Cmdlet Deskripsi
Get-SmaConnection Mengambil nilai untuk setiap bidang dalam koneksi tertentu.
Get-SmaConnectionField Mengambil definisi bidang untuk jenis koneksi tertentu.
Get-SmaConnectionType Mengambil jenis koneksi yang tersedia.
New-SmaConnection Membuat sambungan baru.
Remove-SmaConnection Hapus koneksi yang ada.
Set-SmaConnectionFieldValue Mengatur nilai bidang tertentu untuk koneksi yang sudah ada.

Aktivitas runbook

Anda dapat mengakses koneksi dalam runbook dengan aktivitas dalam tabel berikut.

Aktivitas Deskripsi
Get-AutomationConnection Mendapatkan koneksi untuk digunakan dalam runbook.

Membuat koneksi di portal manajemen

  1. Pilih ruang kerja Automation .

  2. Di bagian atas jendela, klik Aset.

  3. Di bagian bawah jendela, klik Tambahkan Pengaturan.

  4. Klik Tambahkan Koneksi.

  5. Di menu dropdown Jenis Koneksi , pilih jenis koneksi.

  6. Ketik nama untuk koneksi dalam kotak Nama .

  7. Klik panah kanan.

  8. Ketik nilai untuk setiap properti.

  9. Klik tanda centang untuk menyimpan koneksi.

Membuat koneksi dengan Windows PowerShell

Contoh perintah berikut membuat koneksi Manajer Komputer Virtual baru dengan nama MyVMMConnection. Perhatikan bahwa kita menggunakan hashtable untuk menentukan properti koneksi. Ini karena berbagai jenis koneksi memerlukan set properti yang berbeda. Koneksi jenis lain akan menggunakan sekumpulan nilai bidang yang berbeda.

Untuk informasi selengkapnya tentang tabel hash, lihat about_Hash_Tables.

$webServer = 'https://MyWebServer'
$port = 9090
$connectionName = 'MyConnection'
$fieldValues = @{"Username"="MyUser";"Password"="password";"ComputerName"="MyComputer"}
New-SmaConnection -WebServiceEndpoint $webServer -port $port -Name $connectionName -ConnectionTypeName "VirtualMachineManager" -ConnectionFieldValues $fieldValues

Menggunakan koneksi dalam runbook

Gunakan aktivitas Get-AutomationConnection untuk menggunakan koneksi dalam runbook. Aktivitas ini mengambil nilai bidang yang berbeda dalam koneksi dan mengembalikannya sebagai hashtable yang kemudian dapat digunakan dengan perintah yang sesuai dalam runbook.

Untuk informasi selengkapnya tentang tabel hash, lihat about_Hash_Tables.

Kode sampel berikut menunjukkan cara menggunakan koneksi untuk memberikan nama komputer dan kredensial untuk blok InlineScript yang menjalankan perintah di komputer lain.

$con = Get-AutomationConnection -Name 'MyConnection'
$securepassword = ConvertTo-SecureString -AsPlainText -String $con.Password -Force
$cred = New-Object -TypeName System.Management.Automation.PSCredential -ArgumentList $con.Username, $securepassword
InlineScript {
   <Commands>
} -PSComputerName $con.ComputerName -PSCredential $cred

Menyederhanakan pengembangan runbook dengan variabel global

Variabel automasi adalah nilai yang tersedia untuk semua runbook. Anda dapat membuat, memodifikasi, dan mengambilnya dari portal manajemen, Windows PowerShell, atau dari dalam runbook. Variabel Automation berguna untuk skenario berikut:

  • Bagikan nilai antara beberapa runbook.

  • Bagikan nilai antara beberapa pekerjaan dari runbook yang sama.

  • Kelola nilai dari portal manajemen atau dari baris perintah Windows PowerShell yang digunakan oleh runbook.

Variabel Automation dipertahankan sehingga tetap tersedia bahkan jika runbook gagal. Ini juga memungkinkan nilai diatur oleh satu runbook yang kemudian digunakan oleh runbook lain, atau digunakan oleh runbook yang sama saat dijalankan berikutnya.

Saat variabel dibuat, Anda harus menentukan jenis datanya dari daftar berikut. Hal ini agar portal manajemen dapat menampilkan kontrol yang sesuai untuk nilai variabel. Anda hanya dapat menetapkan nilai jenis yang benar ke variabel.

  • Untai (karakter)

  • Bilangan bulat

  • Boolean

  • Tanggalwaktu

Saat variabel dibuat, Anda dapat menentukan bahwa variabel tersebut disimpan dienkripsi. Ketika variabel dienkripsi, variabel disimpan dengan aman dalam database SMA, dan nilainya tidak dapat diambil dari cmdlet Get-SmaVariable . Satu-satunya cara agar nilai terenkripsi dapat diambil adalah dari aktivitas Get-AutomationVariable dalam runbook. Anda dapat menyimpan beberapa nilai dari jenis yang ditentukan ke satu variabel dengan membuat hashtable.

Cmdlet Windows PowerShell

Anda dapat membuat dan mengelola variabel dengan cmdlet Windows PowerShell dalam tabel berikut.

Cmdlet Deskripsi
Get-SmaVariable Mengambil nilai variabel yang ada.
Set-SmaVariable Membuat variabel baru atau mengatur nilai untuk variabel yang ada.

Aktivitas runbook

Anda dapat mengakses variabel dalam runbook dengan aktivitas dalam tabel berikut.

Aktivitas Deskripsi
Get-AutomationVariable Mengambil nilai variabel yang ada.
Set-AutomationVariable Mengatur nilai untuk variabel yang sudah ada.

Catatan

Anda harus menghindari penggunaan variabel dalam "Parameter nama Get-AutomationVariable karena ini dapat mempersulit penemuan dependensi antara runbook dan variabel Automation.

Membuat variabel baru di portal manajemen

  1. Pilih ruang kerja Automation .

  2. Di bagian atas jendela, klik Aset.

  3. Di bagian bawah jendela, klik Tambahkan Pengaturan.

  4. Klik Tambahkan Variabel.

  5. Di menu dropdown Jenis , pilih jenis data.

  6. Ketik nama untuk variabel dalam kotak Nama .

  7. Klik panah kanan.

  8. Ketik nilai untuk variabel dan tentukan apakah akan mengenkripsinya.

  9. Klik tanda centang untuk menyimpan variabel baru.

Untuk membuat variabel baru dengan Windows PowerShell

Cmdlet Set-SmaVariable membuat variabel baru dan mengatur nilai untuk variabel yang ada. Contoh perintah berikut menunjukkan cara membuat variabel string jenis.

$web = 'https://MySMAServer'
$port = 9090

Set-SMAVariable -WebServiceEndpoint $web -Port $port -Name 'MyVariable' -Value 'My String'

Menggunakan variabel dalam runbook

  • Kode sampel berikut menunjukkan cara mengatur dan mengambil variabel dalam runbook. Dalam sampel ini, diasumsikan bahwa variabel bilangan bulat jenis bernama NumberOfIterations dan NumberOfRunnings dan variabel jenis string bernama SampleMessage telah dibuat.

    $NumberOfIterations = Get-AutomationVariable -Name 'NumberOfIterations'
    $NumberOfRunnings = Get-AutomationVariable -Name 'NumberOfRunnings'
    $SampleMessage = Get-AutomationVariable -Name 'SampleMessage'
    Write-Output "Runbook has been run $NumberOfRunnings times."
    for ($i = 1; $i -le $NumberOfIterations; $i++) {
       Write-Output "$i`: $SampleMessage"
    }
    Set-AutomationVariable -Name NumberOfRunnings -Value (NumberOfRunnings += 1)
    

Langkah berikutnya

Baca tentang membangun modul integrasi. Baca tentang penulisan runbook otomatisasi.