Bagikan melalui


Mengonfigurasi komputer virtual pada boot-up awal dengan menggunakan DSC

Penting

Berlaku Untuk: Windows PowerShell 5.0

Persyaratan

Catatan

Kunci registri DSCAutomationHostEnabled yang dijelaskan dalam topik ini tidak tersedia di PowerShell 4.0. Untuk informasi tentang cara mengonfigurasi komputer virtual baru pada boot-up awal di PowerShell 4.0, lihat Ingin Mengonfigurasi Komputer Anda Secara Otomatis Menggunakan DSC di Boot-up Awal?

Untuk menjalankan contoh-contoh ini, Anda memerlukan:

  • VHD yang dapat di-boot untuk digunakan. Anda dapat mengunduh ISO dengan salinan evaluasi Windows Server 2016 di Pusat Evaluasi. Anda dapat menemukan instruksi tentang cara membuat VHD dari gambar ISO di Membuat Hard Disk Virtual yang Dapat Di-boot.

  • Komputer host yang mengaktifkan Hyper-V. Untuk informasi, lihat Gambaran umum Hyper-V.

    Dengan menggunakan DSC, Anda dapat mengotomatiskan penginstalan dan konfigurasi perangkat lunak untuk komputer pada boot-up awal. Anda melakukan ini dengan menyuntikkan dokumen MOF konfigurasi atau metakonfigurasi ke media yang dapat di-boot (seperti VHD) sehingga dijalankan selama proses boot-up awal. Perilaku ini ditentukan oleh kunci registri kunci registri DSCAutomationHostEnabled di bawah HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System. Secara default, nilai kunci ini adalah 2, yang memungkinkan DSC berjalan pada waktu boot.

    Jika Anda tidak ingin DSC berjalan pada waktu boot, atur nilai kunci registri registri DSCAutomationHostEnabled ke 0.

  • Menyuntikkan dokumen MOF konfigurasi ke dalam VHD

  • Menyuntikkan metakonfigurasi DSC ke dalam VHD

  • Menonaktifkan DSC pada waktu boot

Catatan

Anda dapat menyuntikkan dan Pending.mofMetaConfig.mof ke komputer secara bersamaan. Jika kedua file ada, pengaturan yang ditentukan diutamakan MetaConfig.mof .

Menyuntikkan dokumen MOF konfigurasi ke dalam VHD

Untuk memberlakukan konfigurasi pada boot-up awal, Anda dapat menyuntikkan dokumen MOF konfigurasi yang dikompilasi ke dalam VHD sebagai filenya Pending.mof . Jika kunci registri DSCAutomationHostEnabled diatur ke 2 (nilai default), DSC akan menerapkan konfigurasi yang ditentukan oleh Pending.mof ketika komputer melakukan boot untuk pertama kalinya.

Untuk contoh ini, kita akan menggunakan konfigurasi berikut, yang akan menginstal IIS di komputer baru:

Configuration SampleIISInstall
{
    Import-DscResource -ModuleName 'PSDesiredStateConfiguration'

    node ('localhost')
    {
        WindowsFeature IIS
        {
            Ensure = 'Present'
            Name   = 'Web-Server'
        }
    }
}

Untuk menyuntikkan dokumen MOF konfigurasi pada VHD

  1. Pasang VHD tempat Anda ingin menyuntikkan konfigurasi dengan memanggil cmdlet Mount-VHD . Contohnya:

    Mount-VHD -Path C:\users\public\documents\vhd\Srv16.vhd
    
  2. Di komputer yang menjalankan PowerShell 5.0 atau yang lebih baru, simpan konfigurasi di atas (SampleIISInstall) sebagai file skrip PowerShell (.ps1).

  3. Di konsol PowerShell, navigasikan ke folder tempat Anda menyimpan file .ps1.

  4. Jalankan perintah PowerShell berikut untuk mengompilasi dokumen MOF (untuk informasi tentang cara mengompilasi konfigurasi DSC, lihat Konfigurasi DSC:

    . .\SampleIISInstall.ps1
    SampleIISInstall
    
  5. Ini akan membuat localhost.mof file di folder baru bernama SampleIISInstall. Ganti nama dan pindahkan file tersebut ke lokasi yang tepat pada VHD seperti Pending.mof dengan menggunakan cmdlet Move-Item . Contohnya:

    Move-Item -Path C:\DSCTest\SampleIISInstall\localhost.mof -Destination E:\Windows\System32\Configuration\Pending.mof
    
  6. Lepaskan VHD dengan memanggil cmdlet Dismount-VHD . Contohnya:

    Dismount-VHD -Path C:\users\public\documents\vhd\Srv16.vhd
    
  7. Buat VM dengan menggunakan VHD tempat Anda menginstal dokumen MOF DSC.

Setelah boot-up awal dan penginstalan sistem operasi, IIS akan diinstal. Anda dapat memverifikasi ini dengan memanggil cmdlet Get-WindowsFeature .

Menyuntikkan metakonfigurasi DSC ke dalam VHD

Anda juga dapat mengonfigurasi komputer untuk menarik konfigurasi pada boot-up awal dengan menyuntikkan metakonfigurasi (lihat Mengonfigurasi Configuration Manager Lokal (LCM)) ke VHD sebagai filenyaMetaConfig.mof. Jika kunci registri DSCAutomationHostEnabled diatur ke 2 (nilai default), DSC akan menerapkan metakonfigurasi yang ditentukan oleh MetaConfig.mof ke LCM saat komputer melakukan boot untuk pertama kalinya. Jika metakonfigurasi menentukan bahwa LCM harus menarik konfigurasi dari server penarikan, komputer akan mencoba menarik konfigurasi dari server penarikan tersebut pada boot-up awal. Untuk informasi tentang menyiapkan server penarikan DSC, lihat Menyiapkan server penarikan web DSC.

Untuk contoh ini, kita akan menggunakan konfigurasi yang dijelaskan di bagian sebelumnya (SampleIISInstall), dan metakonfigurasi berikut:

[DSCLocalConfigurationManager()]
configuration PullClientBootstrap
{
    Node localhost
    {
        Settings
        {
            RefreshMode = 'Pull'
            RefreshFrequencyMins = 30
            RebootNodeIfNeeded = $true
        }
        ConfigurationRepositoryWeb CONTOSO-PullSrv
        {
            ServerURL = 'https://CONTOSO-PullSrv:8080/PSDSCPullServer.svc'
            RegistrationKey = '140a952b-b9d6-406b-b416-e0f759c9c0e4'
            ConfigurationNames = @('SampleIISInstall')
        }
    }
}

Untuk menyuntikkan dokumen MOF metakonfigurasi pada VHD

  1. Pasang VHD tempat Anda ingin menyuntikkan metakonfigurasi dengan memanggil cmdlet Mount-VHD . Contohnya:

    Mount-VHD -Path C:\users\public\documents\vhd\Srv16.vhd
    
  2. Siapkan server penarikan web DSC, dan simpan konfigurasi SampleIISInstall ke folder yang sesuai.

  3. Di komputer yang menjalankan PowerShell 5.0 atau yang lebih baru, simpan metaconfiguration di atas (PullClientBootstrap) sebagai file skrip PowerShell (.ps1).

  4. Di konsol PowerShell, navigasikan ke folder tempat Anda menyimpan file .ps1.

  5. Jalankan perintah PowerShell berikut untuk mengkompilasi dokumen MOF metakonfigurasi (untuk informasi tentang mengkompilasi konfigurasi DSC, lihat Konfigurasi DSC:

    . .\PullClientBootstrap.ps1
    PullClientBootstrap
    
  6. Ini akan membuat localhost.meta.mof file di folder baru bernama PullClientBootstrap. Ganti nama dan pindahkan file tersebut ke lokasi yang tepat pada VHD seperti MetaConfig.mof dengan menggunakan cmdlet Move-Item .

    Move-Item -Path C:\DSCTest\PullClientBootstrap\localhost.meta.mof -Destination E:\Windows\System32\Configuration\MetaConfig.mof
    
  7. Lepaskan VHD dengan memanggil cmdlet Dismount-VHD . Contohnya:

    Dismount-VHD -Path C:\users\public\documents\vhd\Srv16.vhd
    
  8. Buat VM dengan menggunakan VHD tempat Anda menginstal dokumen MOF DSC.

Setelah boot-up awal dan penginstalan sistem operasi, DSC akan menarik konfigurasi dari server penarikan, dan IIS akan diinstal. Anda dapat memverifikasi ini dengan memanggil cmdlet Get-WindowsFeature .

Menonaktifkan DSC pada waktu boot

Secara default, nilai HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System\DSCAutomationHostEnabled kunci diatur ke 2, yang memungkinkan konfigurasi DSC berjalan jika komputer dalam status tertunda atau saat ini. Jika Anda tidak ingin konfigurasi berjalan pada boot-up awal, Anda perlu mengatur nilai kunci ini ke 0:

  1. Pasang VHD dengan memanggil cmdlet Mount-VHD . Contohnya:

    Mount-VHD -Path C:\users\public\documents\vhd\Srv16.vhd
    
  2. Muat subkunci registri HKLM\Software dari VHD dengan memanggil reg load.

    reg load HKLM\Vhd E:\Windows\System32\Config\Software
    
  3. Ubah nilai menjadi DSCAutomationHostEnabled 0 di hive yang dimuat.

    reg add "HKLM\Vhd\Software\Microsoft\Windows\CurrentVersion\Policies\System" /v DSCAutomationHostEnabled /t REG_DWORD /d 0 /f
    
  4. Bongkar registri dengan menjalankan perintah berikut:

    reg unload HKLM\Vhd
    

Lihat juga

Konfigurasi DSC

Kunci registri DSCAutomationHostEnabled

Mengonfigurasi Configuration Manager Lokal (LCM)

Menyiapkan server penarikan web DSC