Sumber Daya File DSC

Berlaku Untuk: Windows PowerShell 4.0, Windows PowerShell 5.x

Sumber daya File di Windows PowerShell Desired State Configuration (DSC) menyediakan mekanisme untuk mengelola file dan folder pada simpul target. DestinationPath dan SourcePath keduanya harus dapat diakses oleh Node target.

Catatan

Dokumentasi sumber daya DSC ini mencakup versi yang disertakan dengan PowerShell sebelum versi 7.2. Modul PSDscResources berisi Sumber Daya DSC baru dan yang diperbarui yang secara resmi didukung oleh Microsoft. Modul PSDscResources tersedia dari Galeri PowerShell.

Untuk informasi selengkapnya dan dokumentasi yang diperbarui, lihat dokumentasi referensi PSDscResources.

Sintaks

File [string] #ResourceName
{
    DestinationPath = [string]
    [ Attributes = [string[]] { Archive | Hidden | ReadOnly | System }]
    [ Checksum = [string] { CreatedDate | ModifiedDate | SHA-1 | SHA-256 | SHA-512 } ]
    [ Contents = [string] ]
    [ Credential = [PSCredential] ]
    [ Force = [bool] ]
    [ Recurse = [bool] ]
    [ SourcePath = [string] ]
    [ Type = [string] { Directory | File } ]
    [ MatchSource = [bool] ]
    [ DependsOn = [string[]] ]
    [ Ensure = [string] { Absent | Present } ]
    [ PsDscRunAsCredential = [PSCredential] ]
}

Properti

Properti Deskripsi
DestinationPath Lokasi, pada simpul target, Anda ingin memastikan ada atauTidak ada dengan Pastikan.
Atribut Status atribut yang diinginkan untuk file atau direktori yang ditargetkan. Nilai yang valid adalah Arsip, Tersembunyi, ReadOnly, dan Sistem.
Checksum Jenis checksum yang digunakan saat menentukan apakah dua file sama. Nilai yang valid meliputi: SHA-1, SHA-256, SHA-512, createdDate, modifiedDate.
Konten Hanya valid saat digunakan dengan TipeFile. Menunjukkan konten untuk MemastikanAda atauTidak ada dari file yang ditargetkan.
Kredensial Kredensial yang diperlukan untuk mengakses sumber daya, seperti file sumber.
Force Mengambil alih operasi akses yang akan mengakibatkan kesalahan (seperti menimpa file atau menghapus direktori yang tidak kosong). Nilai defaultnya adalah $false.
Berulang Hanya valid saat digunakan dengan TypeDirectory. Melakukan operasi status secara rekursif ke semua konten direktori, subdirektori, dan konten subdirektori. Nilai defaultnya adalah $false.
SourcePath Jalur tempat menyalin sumber daya file atau folder.
Jenis Jenis sumber daya yang sedang dikonfigurasi. Nilai yang valid adalah Direktori dan File. Nilai defaultnya adalah File.
MatchSource Menentukan apakah sumber daya harus memantau file baru yang ditambahkan ke direktori sumber setelah salinan awal. Nilai $true menunjukkan bahwa, setelah salinan awal, file sumber baru harus disalin ke tujuan. Jika diatur ke $false, sumber daya menyimpan konten direktori sumber dan mengabaikan file apa pun yang ditambahkan setelah salinan awal. Nilai defaultnya adalah $false.

Peringatan

Jika Anda tidak menentukan nilai untuk Kredensial atau PSRunAsCredential, sumber daya akan menggunakan akun komputer simpul target untuk mengakses SourcePath. Ketika SourcePath adalah berbagi UNC, ini dapat mengakibatkan kesalahan "Akses Ditolak". Pastikan izin Anda diatur dengan sesuai, atau gunakan properti Kredensial atau PSRunAsCredential untuk menentukan akun yang harus digunakan.

Properti umum

Properti Deskripsi
DependsOn Menunjukkan bahwa konfigurasi sumber daya lain harus berjalan sebelum sumber daya ini dikonfigurasi. Misalnya, jika ID blok skrip konfigurasi sumber daya yang ingin Anda jalankan terlebih dahulu adalah ResourceName dan jenisnya adalah ResourceType, sintaks untuk menggunakan properti ini adalah DependsOn = "[ResourceType]ResourceName".
Pastikan Menentukan apakah file dan Konten di Tujuan harus ada atau tidak. Atur properti ini ke Sajikan untuk memastikan file ada. Atur ke Absen untuk memastikan tidak ada. Nilai defaultnya adalah Ada.
PsDscRunAsCredential Mengatur kredensial untuk menjalankan seluruh sumber daya sebagai.

Catatan

Properti umum PsDscRunAsCredential ditambahkan dalam WMF 5.0 untuk memungkinkan menjalankan sumber daya DSC apa pun dalam konteks info masuk lainnya. Untuk informasi selengkapnya, lihat Menggunakan Kredensial dengan Sumber Daya DSC.

Informasi Tambahan

  • Saat Anda hanya menentukan DestinationPath, sumber daya memastikan bahwa jalur ada jika Ada atau tidak ada jika Tidak ada.
  • Saat Anda menentukan SourcePath dan DestinationPath dengan nilai JenisDirektori, sumber daya menyalin direktori sumber ke jalur tujuan. Properti Recurse, Force, dan MatchSource mengubah jenis operasi salin yang dilakukan, sementara Kredensial menentukan akun mana yang akan digunakan untuk mengakses direktori sumber.
  • Jika Anda tidak mengatur properti Berulang ke $true saat menyalin direktori, tidak ada konten direktori yang ada yang akan disalin. Hanya direktori yang ditentukan yang akan disalin.
  • Jika Anda menentukan nilai ReadOnly untuk properti Atribut bersama DestinationPath, PastikanAda akan membuat jalur yang ditentukan, sementara Konten akan mengatur konten file. Pengaturan PastikanTidak Ada akan mengabaikan properti Atribut sepenuhnya, dan menghapus file apa pun di jalur yang ditentukan.

Contoh

Contoh berikut menyalin direktori dan subdirektorinya dari server penarikan ke simpul target menggunakan Sumber Daya File. Jika operasi berhasil, sumber daya Log akan menulis pesan konfirmasi ke log peristiwa.

Direktori sumber adalah jalur UNC (\\PullServer\DemoSource) yang dibagikan dari Pull Server. Properti Recurse memastikan bahwa semua subdirektori juga disalin.

Penting

LCM pada Simpul target dijalankan dalam konteks akun sistem lokal secara default. Untuk memberikan akses ke SourcePath, berikan izin yang sesuai pada akun komputer Simpul target. Kredensial dan PSDSCRunAsCredential mengubah konteks yang digunakan LCM untuk mengakses SourcePath. Anda masih perlu memberikan akses ke akun yang akan digunakan untuk mengakses SourcePath.

Configuration FileResourceDemo
{
    Import-DscResource -ModuleName 'PSDesiredStateConfiguration'

    Node "localhost"
    {
        File DirectoryCopy
        {
            Ensure = "Present" # Ensure the directory is Present on the target node.
            Type = "Directory" # The default is File.
            Recurse = $true # Recursively copy all subdirectories.
            SourcePath = "\\PullServer\DemoSource"
            DestinationPath = "C:\Users\Public\Documents\DSCDemo\DemoDestination"
        }

        Log AfterDirectoryCopy
        {
            # The message below gets written to the Microsoft-Windows-Desired State Configuration/Analytic log
            Message = "Finished running the file resource with ID DirectoryCopy"
            DependsOn = "[File]DirectoryCopy" # Depends on successful execution of the File resource.
        }
    }
}

Untuk informasi selengkapnya tentang menggunakan Kredensial di DSC lihat Jalankan SebagaiKredensial Data Pengguna atau Konfigurasi.