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
Pilih ruang kerja Automation .
Di bagian atas jendela, klik Aset.
Di bagian bawah jendela, klik Tambahkan Pengaturan.
Klik Tambahkan Kredensial.
Di menu dropdown Jenis Kredensial , pilih Kredensial PowerShell.
Ketik nama untuk kredensial dalam kotak Nama .
Klik panah kanan.
Ketik nilai untuk setiap properti.
Klik tanda centang untuk menyimpan kredensial.
Membuat sertifikat di
Portal Manajemen
Pilih ruang kerja Automation .
Di bagian atas jendela, klik Aset.
Di bagian bawah jendela, klik Tambahkan Pengaturan.
Klik Tambahkan Kredensial.
Di menu drop-down Jenis Kredensial , pilih Sertifikat.
Ketik nama untuk sertifikat dalam kotak Nama .
Klik panah kanan.
Klik Telusuri File dan navigasi ke file .cer atau .pfx.
Jika Anda memilih file .pfx, berikan kata sandinya.
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
Pilih ruang kerja Automation .
Di bagian atas jendela, klik Aset.
Di bagian bawah jendela, klik Tambahkan Pengaturan.
Klik Tambahkan Koneksi.
Di menu dropdown Jenis Koneksi , pilih jenis koneksi.
Ketik nama untuk koneksi dalam kotak Nama .
Klik panah kanan.
Ketik nilai untuk setiap properti.
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
Pilih ruang kerja Automation .
Di bagian atas jendela, klik Aset.
Di bagian bawah jendela, klik Tambahkan Pengaturan.
Klik Tambahkan Variabel.
Di menu dropdown Jenis , pilih jenis data.
Ketik nama untuk variabel dalam kotak Nama .
Klik panah kanan.
Ketik nilai untuk variabel dan tentukan apakah akan mengenkripsinya.
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.