次の方法で共有


DSC ファイル リソース

適用対象: Windows PowerShell 4.0、Windows PowerShell 5.x

Windows PowerShell Desired State Configuration (DSC) の File リソースには、ターゲット ノード上のファイルとフォルダーを管理するメカニズムが用意されています。 DestinationPath と SourcePath は、両方ともターゲット ノードからアクセスできる必要があります。

手記

この DSC リソースのこのドキュメントでは、バージョン 7.2 より前の PowerShell に含まれているバージョンについて説明します。 PSDscResources モジュールには、Microsoft によって正式にサポートされている新規および更新された DSC リソースが含まれています。 PSDscResources モジュールは、PowerShell ギャラリーから入手できます。

詳細および更新されたドキュメントについては、PSDscResources リファレンス ドキュメントを参照してください。

構文

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] ]
}

プロパティ

財産 形容
DestinationPath ターゲット ノード上の場所は、[ の表示] または [存在しない 確実にします。
属性 対象となるファイルまたはディレクトリの属性の目的の状態。 有効な値は、アーカイブ、非表示ReadOnly、およびシステムです。
チェックサム 2 つのファイルが同じかどうかを判断するときに使用するチェックサムの種類。 有効な値は、SHA-1SHA-256SHA-512createdDatemodifiedDateです。
内容 タイプファイルで使用する場合にのみ有効です。 対象のファイルから が または 存在しない であることを確認 内容を示します。
資格 情報 ソース ファイルなどのリソースにアクセスするために必要な資格情報。
エラーが発生するアクセス操作 (ファイルの上書きや空ではないディレクトリの削除など) をオーバーライドします。 既定値は $falseです。
再帰 TypeDirectoryで使用した場合にのみ有効です。 すべてのディレクトリ コンテンツ、サブディレクトリ、およびサブディレクトリ コンテンツに対して、状態操作を再帰的に実行します。 既定値は $falseです。
SourcePath ファイルまたはフォルダー リソースのコピー元のパス。
種類 構成されているリソースの種類。 有効な値は、ディレクトリ と ファイルです。 既定値は ファイルです。
MatchSource リソースが、最初のコピー後にソース ディレクトリに追加された新しいファイルを監視する必要があるかどうかを判断します。 $true の値は、初期コピーの後に、新しいソース ファイルをコピー先にコピーする必要があることを示します。 $falseに設定すると、リソースはソース ディレクトリの内容をキャッシュし、最初のコピー後に追加されたファイルは無視します。 既定値は $falseです。

警告

資格情報 または PSRunAsCredential値を指定しない場合、リソースはターゲット ノードのコンピューター アカウントを使用して、SourcePathにアクセスします。 SourcePath が UNC 共有である場合、"アクセス拒否" エラーが発生する可能性があります。 アクセス許可が適切に設定されていることを確認するか、資格情報 または PSRunAsCredential プロパティ 使用して、使用するアカウントを指定してください。

共通プロパティ

財産 形容
DependsOn このリソースを構成する前に、別のリソースの構成を実行する必要があることを示します。 たとえば、最初に実行するリソース構成スクリプト ブロックの ID が ResourceName で、その種類が ResourceType の場合、このプロパティを使用するための構文は DependsOn = "[ResourceType]ResourceName"
確保 Destination にあるファイルと コンテンツ が存在するかどうかを決定します。 ファイルが存在することを確認するには、このプロパティを Present に設定します。 存在しないことを確認するには、[存在しない] に設定します。 既定値は Presentです。
PsDscRunAsCredential リソース全体を実行するための資格情報を次のように設定します。

手記

PsDscRunAsCredential 共通プロパティが WMF 5.0 に追加され、他の資格情報のコンテキストで DSC リソースを実行できるようになります。 詳細については、「DSC リソースで資格情報を使用する」を参照してください。

追加情報

  • DestinationPathのみを指定した場合、リソースは 、存在する 場合はパスが存在するか、存在しない場合 存在しないことを確認
  • SourcePath と、Type 値が DirectoryDestinationPath を指定すると、リソースはソース ディレクトリをコピー先パスにコピーします。 Recurse、Force、および MatchSource のプロパティ 、実行されるコピー操作の種類を変更Credential はソース ディレクトリへのアクセスに使用するアカウントを決定します。
  • ディレクトリのコピー時に Recurse プロパティを $true に設定しない場合、既存のディレクトリの内容はコピーされません。 指定されたディレクトリのみがコピーされます。
  • DestinationPathと共に Attributes プロパティに ReadOnly の値を指定した場合は、指定したパスPresent が作成されることを確認 Contents はファイルの内容を設定します。 [存在しない]設定では、属性 プロパティが完全に無視され、指定したパスにあるファイルが削除されます。

次の例では、ファイル リソースを使用して、プル サーバーからターゲット ノードにディレクトリとそのサブディレクトリをコピーします。 操作が成功すると、ログ リソースによって確認メッセージがイベント ログに書き込まれます。

ソース ディレクトリは、プル サーバーから共有される UNC パス (\\PullServer\DemoSource) です。 Recurse プロパティを使用すると、すべてのサブディレクトリも確実にコピーされます。

大事な

ターゲット ノードの LCM は、既定でローカル システム アカウントのコンテキストで実行されます。 SourcePathへのアクセスを許可するには、ターゲット ノードのコンピューター アカウントに適切なアクセス許可を付与します。 資格情報PSDSCRunAsCredential は、LCM が SourcePathにアクセスするために使用するコンテキストを変更します。 引き続き、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.
        }
    }
}

DSC で 資格情報 を使用する方法の詳細については、「実行ユーザー または構成データ資格情報を する」を参照してください。