From c2b2df5b081ff4a88ef0f25f91b99d73823e4241 Mon Sep 17 00:00:00 2001 From: Adeel Date: Mon, 15 Oct 2018 23:34:44 +0300 Subject: [PATCH 1/2] Allow specifying multiple $Files using string array --- DSCResources/MSFT_xRobocopy/MSFT_xRobocopy.psm1 | 8 ++++---- DSCResources/MSFT_xRobocopy/MSFT_xRobocopy.schema.mof | 3 +-- 2 files changed, 5 insertions(+), 6 deletions(-) diff --git a/DSCResources/MSFT_xRobocopy/MSFT_xRobocopy.psm1 b/DSCResources/MSFT_xRobocopy/MSFT_xRobocopy.psm1 index 2b4df64..7e4e8a2 100644 --- a/DSCResources/MSFT_xRobocopy/MSFT_xRobocopy.psm1 +++ b/DSCResources/MSFT_xRobocopy/MSFT_xRobocopy.psm1 @@ -12,7 +12,7 @@ function Get-TargetResource [System.String] $Destination, - [System.String] + [System.String[]] $Files, [System.UInt32] @@ -82,7 +82,7 @@ function Set-TargetResource [System.String] $Destination, - [System.String] + [System.String[]] $Files, [System.UInt32] @@ -137,7 +137,7 @@ function Test-TargetResource [System.String] $Destination, - [System.String] + [System.String[]] $Files, [System.UInt32] @@ -218,7 +218,7 @@ function Get-RobocopyArguments [System.String] $Destination, - [System.String] + [System.String[]] $Files, [System.UInt32] diff --git a/DSCResources/MSFT_xRobocopy/MSFT_xRobocopy.schema.mof b/DSCResources/MSFT_xRobocopy/MSFT_xRobocopy.schema.mof index e1e278e..07d84e0 100644 --- a/DSCResources/MSFT_xRobocopy/MSFT_xRobocopy.schema.mof +++ b/DSCResources/MSFT_xRobocopy/MSFT_xRobocopy.schema.mof @@ -3,7 +3,7 @@ class MSFT_xRobocopy : OMI_BaseResource { [Key, Description("Source Directory, Drive or UNC path.")] String Source; [Key, Description("Destination Dir, Drive or UNC path.")] String Destination; - [Write, Description("File(s) to copy (names/wildcards: default is all files).")] String Files; + [Write, Description("File(s) to copy (names/wildcards: default is all files).")] String Files[]; [Write, Description("Number of Retries on failed copies: default 1 million.")] UInt32 Retry; [Write, Description("Wait time between retries: default is 30 seconds.")] UInt32 Wait; [Write, Description("Copy subdirectories, including Empty ones.")] Boolean SubdirectoriesIncludingEmpty; @@ -15,4 +15,3 @@ class MSFT_xRobocopy : OMI_BaseResource [Write, Description("Robocopy has MANY configuration options. Too many to present them all as DSC parameters effectively. Use this option to set additional parameters. Each parameter should be a separate array member. This array will be combined with main argument array. For a list of options run Robocopy /??? in a shell window.")] String AdditionalArgs[]; [Read, ValueMap{"Present", "Absent"}, Values{"Present", "Absent"}, Description("Will indicate whether Destination is in sync with Source")] String Ensure; }; - From 57bf69a86079fed02576949ad1b8792db873f493 Mon Sep 17 00:00:00 2001 From: "adeelbm@outlook.com" Date: Tue, 16 Oct 2018 00:22:46 +0300 Subject: [PATCH 2/2] Add an example for array of files --- Examples/xRobocopy.SimpleCopyOptions.ps1 | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/Examples/xRobocopy.SimpleCopyOptions.ps1 b/Examples/xRobocopy.SimpleCopyOptions.ps1 index e498bae..c59098b 100644 --- a/Examples/xRobocopy.SimpleCopyOptions.ps1 +++ b/Examples/xRobocopy.SimpleCopyOptions.ps1 @@ -30,6 +30,14 @@ configuration RobocopyExample Files = '*.sql' } + #this will copy only specified files in source directory + xRobocopy CopyByUsingFilesFilter + { + Source = 'C:\temp\source' + Destination = 'C:\temp\destination' + Files = @('test1.txt', 'test2.txt') + } + #this is equivalent of using /e option xRobocopy CopyFilesAndSubfolders {