From 56c90706630065b2bcde9dda5614561c42824582 Mon Sep 17 00:00:00 2001 From: Daniel Scott-Raynsford Date: Thu, 2 Feb 2017 22:14:32 +1300 Subject: [PATCH 01/23] - Updated AppVeyor.yml to use AppVeyor.psm1 module in DSCResource.Tests. --- README.md | 1 + appveyor.yml | 49 +++++++++---------------------------------------- 2 files changed, 10 insertions(+), 40 deletions(-) diff --git a/README.md b/README.md index e0028faa..3a236d14 100644 --- a/README.md +++ b/README.md @@ -80,6 +80,7 @@ xPowerPlan resource has following properties: ## Versions ### Unreleased +* Updated AppVeyor.yml to use AppVeyor.psm1 module in DSCResource.Tests. ### 1.9.0.0 * Added resources diff --git a/appveyor.yml b/appveyor.yml index 9aef9786..ea7f0dc7 100644 --- a/appveyor.yml +++ b/appveyor.yml @@ -3,14 +3,12 @@ #---------------------------------# version: 1.9.{build}.0 install: - - git clone https://github.com/PowerShell/DscResource.Tests + - git clone https://github.com/PlagueHO/DscResource.Tests + - ps: | - Push-Location - cd DscResource.Tests - Import-Module .\TestHelper.psm1 -force - Pop-Location - Install-PackageProvider -Name NuGet -MinimumVersion 2.8.5.201 -Force - Install-Module -Name Pester -Repository PSGallery -Force + Import-Module "$env:APPVEYOR_BUILD_FOLDER\DscResource.Tests\AppVeyor.psm1" + Start-AppveyorInstallTask + #---------------------------------# # build configuration # #---------------------------------# @@ -23,12 +21,8 @@ build: false test_script: - ps: | - $testResultsFile = ".\TestsResults.xml" - $res = Invoke-Pester -OutputFormat NUnitXml -OutputFile $testResultsFile -PassThru - (New-Object 'System.Net.WebClient').UploadFile("https://ci.appveyor.com/api/testresults/nunit/$($env:APPVEYOR_JOB_ID)", (Resolve-Path $testResultsFile)) - if ($res.FailedCount -gt 0) { - throw "$($res.FailedCount) tests failed." - } + Start-AppveyorTestScriptTask ` + -ExcludeTag 'Examples','Markdown' #---------------------------------# # deployment configuration # @@ -36,30 +30,5 @@ test_script: # scripts to run before deployment deploy_script: - - ps: | - # Creating project artifact - $stagingDirectory = (Resolve-Path ..).Path - $manifest = Join-Path $pwd "xComputerManagement.psd1" - (Get-Content $manifest -Raw).Replace("1.9.0.0", $env:APPVEYOR_BUILD_VERSION) | Out-File $manifest - $zipFilePath = Join-Path $stagingDirectory "$(Split-Path $pwd -Leaf).zip" - Add-Type -assemblyname System.IO.Compression.FileSystem - [System.IO.Compression.ZipFile]::CreateFromDirectory($pwd, $zipFilePath) - - # Creating NuGet package artifact - New-Nuspec -packageName $env:APPVEYOR_PROJECT_NAME -version $env:APPVEYOR_BUILD_VERSION -author "Microsoft" -owners "Microsoft" -licenseUrl "https://github.com/PowerShell/DscResources/blob/master/LICENSE" -projectUrl "https://github.com/$($env:APPVEYOR_REPO_NAME)" -packageDescription $env:APPVEYOR_PROJECT_NAME -tags "DesiredStateConfiguration DSC DSCResourceKit" -destinationPath . - nuget pack ".\$($env:APPVEYOR_PROJECT_NAME).nuspec" -outputdirectory . - $nuGetPackageName = $env:APPVEYOR_PROJECT_NAME + "." + $env:APPVEYOR_BUILD_VERSION + ".nupkg" - $nuGetPackagePath = (Get-ChildItem $nuGetPackageName).FullName - - @( - # You can add other artifacts here - $zipFilePath, - $nuGetPackagePath - ) | % { - Write-Host "Pushing package $_ as Appveyor artifact" - Push-AppveyorArtifact $_ - } - - - - + - ps: | + Start-AppveyorAfterTestTask From ca00ae3eff8b9037590aa758cc3467f6d66f7e11 Mon Sep 17 00:00:00 2001 From: Daniel Scott-Raynsford Date: Mon, 6 Feb 2017 12:49:14 +1300 Subject: [PATCH 02/23] Convert to Start-Tasks to Invoke --- appveyor.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/appveyor.yml b/appveyor.yml index ea7f0dc7..72a912ce 100644 --- a/appveyor.yml +++ b/appveyor.yml @@ -7,7 +7,7 @@ install: - ps: | Import-Module "$env:APPVEYOR_BUILD_FOLDER\DscResource.Tests\AppVeyor.psm1" - Start-AppveyorInstallTask + Invoke-AppveyorInstallTask #---------------------------------# # build configuration # @@ -21,7 +21,7 @@ build: false test_script: - ps: | - Start-AppveyorTestScriptTask ` + Invoke-AppveyorTestScriptTask ` -ExcludeTag 'Examples','Markdown' #---------------------------------# @@ -31,4 +31,4 @@ test_script: # scripts to run before deployment deploy_script: - ps: | - Start-AppveyorAfterTestTask + Invoke-AppveyorAfterTestTask From 088eacbf57d837d1cdc6cb5988b00a0f9114aa4c Mon Sep 17 00:00:00 2001 From: Daniel Scott-Raynsford Date: Wed, 8 Feb 2017 22:19:08 +1300 Subject: [PATCH 03/23] Fixed up Markdown tests --- README.md | 108 +++++++++++++++++++++++++-------------------------- appveyor.yml | 2 +- 2 files changed, 53 insertions(+), 57 deletions(-) diff --git a/README.md b/README.md index 3a236d14..d8ae9ce2 100644 --- a/README.md +++ b/README.md @@ -1,45 +1,25 @@ -[![Build status](https://ci.appveyor.com/api/projects/status/cg28qxeco39wgo9l/branch/master?svg=true)](https://ci.appveyor.com/project/PowerShell/xcomputermanagement/branch/master) - # xComputerManagement -The xComputerManagement module is a part of the Windows PowerShell Desired State Configuration (DSC) Resource Kit, which is a collection of DSC Resources produced by the PowerShell Team. -This module contains the xComputer resource. -This DSC Resource allows you to rename a computer and add it to a domain or workgroup. +[![Build status](https://ci.appveyor.com/api/projects/status/cg28qxeco39wgo9l/branch/master?svg=true)](https://ci.appveyor.com/project/PowerShell/xcomputermanagement/branch/master) -All of the resources in the DSC Resource Kit are provided AS IS, and are not supported through any Microsoft standard support program or service. -The ""x" in xComputerManagement stands for experimental, which means that these resources will be fix forward and monitored by the module owner(s). +The **xComputerManagement** module contains the following resources: -Please leave comments, feature requests, and bug reports in the Issues tab for this module. +* xComputer - allows you to configure a computer by changing its name and modifying its domain or workgroup. +* xOfflineDomainJoin - allows you to join computers to an AD Domain using an [Offline Domain Join](https://technet.microsoft.com/en-us/library/offline-domain-join-djoin-step-by-step(v=ws.10).aspx) request file. +* xScheduledTask - used to define basic recurring scheduled tasks on the local computer. +* xPowerPlan - specifies a power plan to activate. This project has adopted the [Microsoft Open Source Code of Conduct](https://opensource.microsoft.com/codeofconduct/). -For more information see the [Code of Conduct FAQ](https://opensource.microsoft.com/codeofconduct/faq/) or contact [opencode@microsoft.com](mailto:opencode@microsoft.com) with any additional questions or comments. - -If you would like to modify xComputerManagement module, feel free. -When modifying, please update the module name, resource friendly name, and MOF class name (instructions below). -As specified in the license, you may copy or modify this resource as long as they are used on the Windows Platform. - -PowerShell Blog (this is a good starting point). -There are also great community resources, such as PowerShell.org, or PowerShell Magazine. -For more information on the DSC Resource Kit, check out this blog post. - -## Installation -To install xComputerManagement module - -Unzip the content under $env:ProgramFiles\WindowsPowerShell\Modules folder -To confirm installation: +For more information see the [Code of Conduct FAQ](https://opensource.microsoft.com/codeofconduct/faq/) +or contact [opencode@microsoft.com](mailto:opencode@microsoft.com) with any +additional questions or comments. -Run Get-DSCResource to see that xComputer is among the DSC Resources listed -Requirements -This module requires the latest version of PowerShell (v4.0, which ships in Windows 8.1 or Windows Server 2012R2). -To easily use PowerShell 4.0 on older operating systems, install WMF 4.0. -Please read the installation instructions that are present on both the download page and the release notes for WMF 4.0 +## Contributing -## Description -The xComputerManagement module contains the following resources: -* xComputer - allows you to configure a computer by changing its name and modifying its domain or workgroup. -* xOfflineDomainJoin - allows you to join computers to an AD Domain using an [Offline Domain Join](https://technet.microsoft.com/en-us/library/offline-domain-join-djoin-step-by-step(v=ws.10).aspx) request file. +Please check out common DSC Resources [contributing guidelines](https://github.com/PowerShell/DscResource.Kit/blob/master/CONTRIBUTING.md). ## xComputer + xComputer resource has following properties: * Name: The desired computer name @@ -50,89 +30,101 @@ xComputer resource has following properties: * CurrentOU: A read-only property that specifies the organizational unit that the computer account is currently in ## xOfflineDomainJoin + xOfflineDomainJoin resource is a [Single Instance](https://msdn.microsoft.com/en-us/powershell/dsc/singleinstance) resource that can only be used once in a configuration and has following properties: * IsSingleInstance: Must be set to 'Yes'. Required. * RequestFile: The full path to the Offline Domain Join request file. Required. ## xScheduledTask + xScheduledTask resource is used to define basic recurring scheduled tasks on the local computer. Tasks are created to run indefinitly based on the schedule defined. xScheduledTask has the following properties: - * TaskName: The name of the task - * TaskPath: The path to the task - optional, defaults to '\' - * ActionExecutable: The path to the .exe for this task - * ActionArguments: The arguments to pass the executable - optional - * ActionWorkingPath: The working path to specify for the executable - optional - * ScheduleType: How frequently should this task be executed? Minutes, Hourly or Daily - * RepeatInterval: How many units (minutes, hours, days) between each run of this task? - * StartTime: The time of day this task should start at - optional, defaults to '12:00 AM' - * Ensure: Present if the task should exist, false if it should be removed - optional, defaults to 'Ensure' - * ExecuteAsCredential: The credential this task should execute as - Optional, defaults to running as 'NT AUTHORITY\SYSTEM' +* TaskName: The name of the task +* TaskPath: The path to the task - optional, defaults to '\' +* ActionExecutable: The path to the .exe for this task +* ActionArguments: The arguments to pass the executable - optional +* ActionWorkingPath: The working path to specify for the executable - optional +* ScheduleType: How frequently should this task be executed? Minutes, Hourly or Daily +* RepeatInterval: How many units (minutes, hours, days) between each run of this task? +* StartTime: The time of day this task should start at - optional, defaults to '12:00 AM' +* Ensure: Present if the task should exist, false if it should be removed - optional, defaults to 'Ensure' +* ExecuteAsCredential: The credential this task should execute as - Optional, defaults to running as 'NT AUTHORITY\SYSTEM' ## xPowerPlan + xPowerPlan resource has following properties: - * IsSingleInstance: Specifies the resource is a single instance, the value must be 'Yes'. - * Name: The name of the power plan to activate. +* IsSingleInstance: Specifies the resource is a single instance, the value must be 'Yes'. +* Name: The name of the power plan to activate. ## Versions ### Unreleased + * Updated AppVeyor.yml to use AppVeyor.psm1 module in DSCResource.Tests. +* Removed Markdown.md errors. ### 1.9.0.0 + * Added resources - - xPowerPlan + * xPowerPlan ### 1.8.0.0 + * Converted AppVeyor.yml to pull Pester from PSGallery instead of Chocolatey. * Changed AppVeyor.yml to use default image * xScheduledTask: Fixed bug with different OS versions returning repeat interval differently ### 1.7.0.0 + * Added support for enabling or disabling scheduled tasks * The Name parameter resolves to $env:COMPUTERNAME when the value is localhost ### 1.6.0.0 + * Added the following resources: - * MSFT_xOfflineDomainJoin resource to join computers to an AD Domain using an Offline Domain Join request file. - * MSFT_xScheduledTask resource to control scheduled tasks on the local server + * MSFT_xOfflineDomainJoin resource to join computers to an AD Domain using an Offline Domain Join request file. + * MSFT_xScheduledTask resource to control scheduled tasks on the local server * MSFT_xOfflineDomainJoin: Corrected localizedData.DomainAlreadyJoinedhMessage name. * xComputer: Changed credential generation code in tests to avoid triggering PSSA rule PSAvoidUsingConvertToSecureStringWithPlainText. Renamed unit test file to match the name of Resource file. ### 1.5.0.0 + * Update Unit tests to use the standard folder structure and test templates. * Added .gitignore to prevent commit of DSCResource.Tests. ### 1.4.0.0 + * Added validation to the Name parameter * Added the JoinOU parameter which allows you to specify the organizational unit that the computer account will be created in * Added the CurrentOU read-only property that shows the organizational unit that the computer account is currently in ### 1.3.0 + * xComputer - * Fixed issue with Test-TargetResource when not specifying Domain or Workgroup name - * Added tests + * Fixed issue with Test-TargetResource when not specifying Domain or Workgroup name + * Added tests ### 1.2.2 -Added types to Get/Set/Test definitions to allow xResourceDesigner validation to succeed +* Added types to Get/Set/Test definitions to allow xResourceDesigner validation to succeed ### 1.2 -Added functionality to enable moving computer from one domain to another -Modified Test-DscConfiguration logics when testing domain join +* Added functionality to enable moving computer from one domain to another +* Modified Test-DscConfiguration logics when testing domain join ### 1.0.0.0 -Initial release with the following resources -* xComputer - +* Initial release with the following resources: + * xComputer ## Examples + ### Change the Name and the Workgroup Name This configuration will set a machine name and changes the workgroup it is in. @@ -166,6 +158,7 @@ configuration Sample_xComputer_ChangeNameAndWorkGroup ``` ### Switch from a Workgroup to a Domain + This configuration sets the machine name and joins a domain. Note: this requires a credential. @@ -272,6 +265,7 @@ Sample_xComputer_ChangeNameInDomain -ConfigurationData $ConfigData -MachineName ``` ### Change the Name while staying on the Workgroup + This example will change the machines name while remaining on the workgroup. ```powershell @@ -299,6 +293,7 @@ function Sample_xComputer_ChangeNameInWorkgroup ``` ### Switch from a Domain to a Workgroup + This example switches the computer from a domain to a workgroup. Note: this requires a credential. @@ -352,6 +347,7 @@ Sample_xComputer_DomainToWorkgroup -ConfigurationData $ConfigData -MachineName < ``` ### Join a Domain using an ODJ Request File + This example will join the computer to a domain using the ODJ request file C:\ODJ\ODJRequest.txt. ```powershell @@ -379,6 +375,7 @@ Start-DscConfiguration -Path Sample_xOfflineDomainJoin -Wait -Verbose -Force ``` ### Run a PowerShell script every 15 minutes on a server + This example will create a scheduled task that will call PowerShell.exe every 15 minutes to run a script saved locally. The script will be called as the local system account @@ -409,6 +406,5 @@ Sample_xScheduledTask Start-DscConfiguration -Path Sample_xScheduledTask -Wait -Verbose -Force ``` - ## Contributing Please check out common DSC Resources [contributing guidelines](https://github.com/PowerShell/DscResource.Kit/blob/master/CONTRIBUTING.md). diff --git a/appveyor.yml b/appveyor.yml index 72a912ce..dea2a6f7 100644 --- a/appveyor.yml +++ b/appveyor.yml @@ -22,7 +22,7 @@ build: false test_script: - ps: | Invoke-AppveyorTestScriptTask ` - -ExcludeTag 'Examples','Markdown' + -ExcludeTag 'Examples' #---------------------------------# # deployment configuration # From 61a72bd90f20bdf0b66b5cdeb564efbdfd1d59fd Mon Sep 17 00:00:00 2001 From: Daniel Scott-Raynsford Date: Thu, 9 Feb 2017 19:42:04 +1300 Subject: [PATCH 04/23] Suppress example tests --- .MetaTestOptIn.json | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 .MetaTestOptIn.json diff --git a/.MetaTestOptIn.json b/.MetaTestOptIn.json new file mode 100644 index 00000000..483cd942 --- /dev/null +++ b/.MetaTestOptIn.json @@ -0,0 +1,4 @@ +[ + "Common Tests - Validate Markdown Files", + "Common Tests - Validate Example Files" +] \ No newline at end of file From 8a50471a899de628077252bb495acf0f1d59c2c0 Mon Sep 17 00:00:00 2001 From: Daniel Scott-Raynsford Date: Thu, 9 Feb 2017 19:42:08 +1300 Subject: [PATCH 05/23] Suppress example tests --- .MetaTestOptIn.json | 1 - 1 file changed, 1 deletion(-) diff --git a/.MetaTestOptIn.json b/.MetaTestOptIn.json index 483cd942..2ee5a3dc 100644 --- a/.MetaTestOptIn.json +++ b/.MetaTestOptIn.json @@ -1,4 +1,3 @@ [ - "Common Tests - Validate Markdown Files", "Common Tests - Validate Example Files" ] \ No newline at end of file From 97dec7853ce496779bfcfe7dfc411d9705d7cc8b Mon Sep 17 00:00:00 2001 From: Daniel Scott-Raynsford Date: Thu, 9 Feb 2017 20:06:08 +1300 Subject: [PATCH 06/23] Added test opt-in file --- .MetaTestOptIn.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.MetaTestOptIn.json b/.MetaTestOptIn.json index 2ee5a3dc..68bdeacc 100644 --- a/.MetaTestOptIn.json +++ b/.MetaTestOptIn.json @@ -1,3 +1,3 @@ [ - "Common Tests - Validate Example Files" + "Common Tests - Validate Markdown Files" ] \ No newline at end of file From d0a2f6ac0a8ebb56ba037affe72dcc922dd3d4d4 Mon Sep 17 00:00:00 2001 From: Daniel Scott-Raynsford Date: Mon, 3 Jul 2017 20:41:30 +1200 Subject: [PATCH 07/23] Fix failing errors --- .MetaTestOptIn.json | 2 +- .markdownlint.json | 3 +++ README.md | 3 --- 3 files changed, 4 insertions(+), 4 deletions(-) create mode 100644 .markdownlint.json diff --git a/.MetaTestOptIn.json b/.MetaTestOptIn.json index 68bdeacc..a74f3590 100644 --- a/.MetaTestOptIn.json +++ b/.MetaTestOptIn.json @@ -1,3 +1,3 @@ [ "Common Tests - Validate Markdown Files" -] \ No newline at end of file +] diff --git a/.markdownlint.json b/.markdownlint.json new file mode 100644 index 00000000..3ea7e8c4 --- /dev/null +++ b/.markdownlint.json @@ -0,0 +1,3 @@ +{ + "MD013": true +} diff --git a/README.md b/README.md index f8e845c8..87ecb3a8 100644 --- a/README.md +++ b/README.md @@ -420,6 +420,3 @@ configuration Sample_xScheduledTask Sample_xScheduledTask Start-DscConfiguration -Path Sample_xScheduledTask -Wait -Verbose -Force ``` - -## Contributing -Please check out common DSC Resources [contributing guidelines](https://github.com/PowerShell/DscResource.Kit/blob/master/CONTRIBUTING.md). From c822dd1db2ea90ab8454a97e49fdea651ea8163f Mon Sep 17 00:00:00 2001 From: Daniel Scott-Raynsford Date: Mon, 3 Jul 2017 21:02:51 +1200 Subject: [PATCH 08/23] Switch of Markdown line length rule --- .markdownlint.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.markdownlint.json b/.markdownlint.json index 3ea7e8c4..1344b312 100644 --- a/.markdownlint.json +++ b/.markdownlint.json @@ -1,3 +1,3 @@ { - "MD013": true + "MD013": false } From 2b931752af7f1e3b6d0558e7382c5dd422c281f4 Mon Sep 17 00:00:00 2001 From: Daniel Scott-Raynsford Date: Wed, 5 Jul 2017 19:42:22 +1200 Subject: [PATCH 09/23] Fixed long line errors in Markdown --- .markdownlint.json | 3 +- README.md | 76 ++++++++++++++++++++++++++++++---------------- 2 files changed, 52 insertions(+), 27 deletions(-) diff --git a/.markdownlint.json b/.markdownlint.json index 1344b312..e950fd79 100644 --- a/.markdownlint.json +++ b/.markdownlint.json @@ -1,3 +1,4 @@ { - "MD013": false + "MD013": true, + "MD024": false } diff --git a/README.md b/README.md index 87ecb3a8..919a0db1 100644 --- a/README.md +++ b/README.md @@ -4,9 +4,12 @@ The **xComputerManagement** module contains the following resources: -* xComputer - allows you to configure a computer by changing its name and modifying its domain or workgroup. -* xOfflineDomainJoin - allows you to join computers to an AD Domain using an [Offline Domain Join](https://technet.microsoft.com/en-us/library/offline-domain-join-djoin-step-by-step(v=ws.10).aspx) request file. -* xScheduledTask - used to define basic recurring scheduled tasks on the local computer. +* xComputer - allows you to configure a computer by changing its name and + modifying its domain or workgroup. +* xOfflineDomainJoin - allows you to join computers to an AD Domain using + an [Offline Domain Join](https://technet.microsoft.com/en-us/library/offline-domain-join-djoin-step-by-step(v=ws.10).aspx) request file. +* xScheduledTask - used to define basic recurring scheduled tasks on the + local computer. * xPowerPlan - specifies a power plan to activate. This project has adopted the [Microsoft Open Source Code of Conduct](https://opensource.microsoft.com/codeofconduct/). @@ -24,22 +27,26 @@ xComputer resource has following properties: * Name: The desired computer name * DomainName: The name of the domain to join -* JoinOU: The distinguished name of the organizational unit that the computer account will be created in +* JoinOU: The distinguished name of the organizational unit that the computer + account will be created in * WorkGroupName: The name of the workgroup * Credential: Credential to be used to join or leave domain -* CurrentOU: A read-only property that specifies the organizational unit that the computer account is currently in +* CurrentOU: A read-only property that specifies the organizational unit that + the computer account is currently in ## xOfflineDomainJoin -xOfflineDomainJoin resource is a [Single Instance](https://msdn.microsoft.com/en-us/powershell/dsc/singleinstance) resource that can only be used once in a configuration and has following properties: +xOfflineDomainJoin resource is a [Single Instance](https://msdn.microsoft.com/en-us/powershell/dsc/singleinstance) +resource that can only be used once in a configuration and has following properties: * IsSingleInstance: Must be set to 'Yes'. Required. * RequestFile: The full path to the Offline Domain Join request file. Required. ## xScheduledTask -xScheduledTask resource is used to define basic recurring scheduled tasks on the local computer. -Tasks are created to run indefinitly based on the schedule defined. +xScheduledTask resource is used to define basic recurring scheduled tasks on the +local computer. +Tasks are created to run indefinitely based on the schedule defined. xScheduledTask has the following properties: * TaskName: The name of the task @@ -48,27 +55,35 @@ xScheduledTask has the following properties: * ActionArguments: The arguments to pass the executable - optional * ActionWorkingPath: The working path to specify for the executable - optional * ScheduleType: How frequently should this task be executed? Minutes, Hourly or Daily -* RepeatInterval: How many units (minutes, hours, days) between each run of this task? -* StartTime: The time of day this task should start at - optional, defaults to '12:00 AM' -* Ensure: Present if the task should exist, false if it should be removed - optional, defaults to 'Ensure' -* ExecuteAsCredential: The credential this task should execute as - Optional, defaults to running as 'NT AUTHORITY\SYSTEM' +* RepeatInterval: How many units (minutes, hours, days) between each run of this + task? +* StartTime: The time of day this task should start at - optional, defaults to + '12:00 AM' +* Ensure: Present if the task should exist, false if it should be removed - + optional, defaults to 'Ensure' +* ExecuteAsCredential: The credential this task should execute as - + optional, defaults to running as 'NT AUTHORITY\SYSTEM' ## xPowerPlan xPowerPlan resource has following properties: -* IsSingleInstance: Specifies the resource is a single instance, the value must be 'Yes'. +* IsSingleInstance: Specifies the resource is a single instance, the value must + be 'Yes'. * Name: The name of the power plan to activate. ## xVirtualMemory -xVirtualMemory resource is used to set the properties of the paging file on the local computer. +xVirtualMemory resource is used to set the properties of the paging file on the +local computer. xVirtualMemory has the following properties: * Type: The type of the paging settings, mandatory, out of "AutoManagePagingFile","CustomSize","SystemManagedSize","NoPagingFile" * Drive: The drive to enable paging on, mandatory. Ignored for "AutoManagePagingFile" -* InitialSize: The initial size in MB of the paging file. Ignored for Type "AutoManagePagingFile" and "SystemManagedSize" -* MaximumSize: The maximum size in MB of the paging file. Ignored for Type "AutoManagePagingFile" and "SystemManagedSize" +* InitialSize: The initial size in MB of the paging file. Ignored for Type + "AutoManagePagingFile" and "SystemManagedSize" +* MaximumSize: The maximum size in MB of the paging file. Ignored for Type + "AutoManagePagingFile" and "SystemManagedSize" ## Versions @@ -89,9 +104,11 @@ xVirtualMemory has the following properties: ### 1.8.0.0 -* Converted AppVeyor.yml to pull Pester from PSGallery instead of Chocolatey. +* Converted AppVeyor.yml to pull Pester from PSGallery instead of + Chocolatey. * Changed AppVeyor.yml to use default image -* xScheduledTask: Fixed bug with different OS versions returning repeat interval differently +* xScheduledTask: Fixed bug with different OS versions returning repeat interval + differently ### 1.7.0.0 @@ -101,11 +118,13 @@ xVirtualMemory has the following properties: ### 1.6.0.0 * Added the following resources: - * MSFT_xOfflineDomainJoin resource to join computers to an AD Domain using an Offline Domain Join request file. + * MSFT_xOfflineDomainJoin resource to join computers to an AD Domain using an + Offline Domain Join request file. * MSFT_xScheduledTask resource to control scheduled tasks on the local server * MSFT_xOfflineDomainJoin: Corrected localizedData.DomainAlreadyJoinedhMessage name. -* xComputer: Changed credential generation code in tests to avoid triggering PSSA rule PSAvoidUsingConvertToSecureStringWithPlainText. - Renamed unit test file to match the name of Resource file. +* xComputer: Changed credential generation code in tests to avoid triggering + PSSA rule PSAvoidUsingConvertToSecureStringWithPlainText. + Renamed unit test file to match the name of Resource file. ### 1.5.0.0 @@ -115,18 +134,22 @@ xVirtualMemory has the following properties: ### 1.4.0.0 * Added validation to the Name parameter -* Added the JoinOU parameter which allows you to specify the organizational unit that the computer account will be created in -* Added the CurrentOU read-only property that shows the organizational unit that the computer account is currently in +* Added the JoinOU parameter which allows you to specify the organizational unit + that the computer account will be created in +* Added the CurrentOU read-only property that shows the organizational unit that + the computer account is currently in ### 1.3.0 * xComputer - * Fixed issue with Test-TargetResource when not specifying Domain or Workgroup name + * Fixed issue with Test-TargetResource when not specifying Domain or + Workgroup name * Added tests ### 1.2.2 -* Added types to Get/Set/Test definitions to allow xResourceDesigner validation to succeed +* Added types to Get/Set/Test definitions to allow xResourceDesigner validation + to succeed ### 1.2 @@ -391,7 +414,8 @@ Start-DscConfiguration -Path Sample_xOfflineDomainJoin -Wait -Verbose -Force ### Run a PowerShell script every 15 minutes on a server -This example will create a scheduled task that will call PowerShell.exe every 15 minutes to run a script saved locally. +This example will create a scheduled task that will call PowerShell.exe every 15 +minutes to run a script saved locally. The script will be called as the local system account ```powershell From 0737477edafbeca2e26d9b1fbaac847df804fba0 Mon Sep 17 00:00:00 2001 From: Daniel Scott-Raynsford Date: Wed, 5 Jul 2017 19:54:40 +1200 Subject: [PATCH 10/23] More fixes to README.MD --- README.md | 79 +++++++++++++++++++++++++++++++------------------------ 1 file changed, 45 insertions(+), 34 deletions(-) diff --git a/README.md b/README.md index 919a0db1..1b977830 100644 --- a/README.md +++ b/README.md @@ -7,7 +7,8 @@ The **xComputerManagement** module contains the following resources: * xComputer - allows you to configure a computer by changing its name and modifying its domain or workgroup. * xOfflineDomainJoin - allows you to join computers to an AD Domain using - an [Offline Domain Join](https://technet.microsoft.com/en-us/library/offline-domain-join-djoin-step-by-step(v=ws.10).aspx) request file. + an [Offline Domain Join](https://technet.microsoft.com/en-us/library/offline-domain-join-djoin-step-by-step(v=ws.10).aspx) + request file. * xScheduledTask - used to define basic recurring scheduled tasks on the local computer. * xPowerPlan - specifies a power plan to activate. @@ -233,20 +234,24 @@ configuration Sample_xComputer_WorkgroupToDomain <#**************************** -To save the credential in plain-text in the mof file, use the following configuration data +To save the credential in plain-text in the mof file, use the following +configuration data $ConfigData = @{ - AllNodes = @( - @{ - NodeName = "localhost" - # Allows credential to be saved in plain-text in the the *.mof instance document. - - PSDscAllowPlainTextPassword = $true - } - ) - } + AllNodes = @( + @{ + NodeName = "localhost" + + # Allows credential to be saved in plain-text in the the *.mof + # instance document. + + PSDscAllowPlainTextPassword = $true + } + ) +} -Sample_xComputer_WorkgroupToDomain -ConfigurationData $ConfigData -MachineName -credential (Get-Credential) -Domain +Sample_xComputer_WorkgroupToDomain -ConfigurationData $ConfigData ` + -MachineName -credential (Get-Credential) -Domain ****************************#> ``` @@ -283,22 +288,24 @@ function Sample_xComputer_ChangeNameInDomain } <#**************************** -To save the credential in plain-text in the mof file, use the following configuration data +To save the credential in plain-text in the mof file, use the following +configuration data $ConfigData = @{ - AllNodes = @( - @{ - NodeName = "localhost"; - - # Allows credential to be saved in plain-text in the the *.mof instance document. + AllNodes = @( + @{ + NodeName = "localhost"; - PSDscAllowPlainTextPassword = $true; - } - ) - } + # Allows credential to be saved in plain-text + # in the the *.mof instance document. -Sample_xComputer_ChangeNameInDomain -ConfigurationData $ConfigData -MachineName -Credential (Get-Credential) + PSDscAllowPlainTextPassword = $true; + } + ) +} +Sample_xComputer_ChangeNameInDomain -ConfigurationData $ConfigData ` + -MachineName -Credential (Get-Credential) *****************************#> ``` @@ -367,20 +374,24 @@ function Sample_xComputer_DomainToWorkgroup } <#**************************** -To save the credential in plain-text in the mof file, use the following configuration data +To save the credential in plain-text in the mof file, use the following +configuration data $ConfigData = @{ - AllNodes = @( - @{ - NodeName = "localhost"; - # Allows credential to be saved in plain-text in the the *.mof instance document. - - PSDscAllowPlainTextPassword = $true; - } - ) - } + AllNodes = @( + @{ + NodeName = "localhost"; + + # Allows credential to be saved in plain-text in the the *.mof + # instance document. + + PSDscAllowPlainTextPassword = $true; + } + ) +} -Sample_xComputer_DomainToWorkgroup -ConfigurationData $ConfigData -MachineName -credential (Get-Credential) -WorkGroup +Sample_xComputer_DomainToWorkgroup -ConfigurationData $ConfigData ` + -MachineName -credential (Get-Credential) -WorkGroup ****************************#> ``` From 987784ac6e3f9790d8df351697fd48892a1d583e Mon Sep 17 00:00:00 2001 From: Daniel Scott-Raynsford Date: Wed, 5 Jul 2017 20:03:06 +1200 Subject: [PATCH 11/23] Final fixup to README.MD --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 1b977830..c0f8e914 100644 --- a/README.md +++ b/README.md @@ -241,7 +241,7 @@ $ConfigData = @{ AllNodes = @( @{ NodeName = "localhost" - + # Allows credential to be saved in plain-text in the the *.mof # instance document. @@ -381,7 +381,7 @@ $ConfigData = @{ AllNodes = @( @{ NodeName = "localhost"; - + # Allows credential to be saved in plain-text in the the *.mof # instance document. From b29e8138ba643f878f44ecadaa1d711462328fd2 Mon Sep 17 00:00:00 2001 From: Daniel Scott-Raynsford Date: Wed, 5 Jul 2017 20:12:45 +1200 Subject: [PATCH 12/23] Convert AppVeyor to use PowerShell default DSCREsource.tests --- appveyor.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/appveyor.yml b/appveyor.yml index dea2a6f7..1ca72a72 100644 --- a/appveyor.yml +++ b/appveyor.yml @@ -3,7 +3,7 @@ #---------------------------------# version: 1.9.{build}.0 install: - - git clone https://github.com/PlagueHO/DscResource.Tests + - git clone https://github.com/PowerShell/DscResource.Tests - ps: | Import-Module "$env:APPVEYOR_BUILD_FOLDER\DscResource.Tests\AppVeyor.psm1" From 884053e8077a65f73e4ab379e416d3948d18f1e6 Mon Sep 17 00:00:00 2001 From: Daniel Scott-Raynsford Date: Wed, 5 Jul 2017 20:21:19 +1200 Subject: [PATCH 13/23] Fix up AppVeyor --- .codecov.yml | 26 ++++++++++++++++++++++++++ appveyor.yml | 6 +++--- 2 files changed, 29 insertions(+), 3 deletions(-) create mode 100644 .codecov.yml diff --git a/.codecov.yml b/.codecov.yml new file mode 100644 index 00000000..411198f0 --- /dev/null +++ b/.codecov.yml @@ -0,0 +1,26 @@ +codecov: + notify: + require_ci_to_pass: no + # dev should be the baseline for reporting + branch: dev + +comment: + layout: "reach, diff" + behavior: default + +coverage: + range: 50..80 + round: down + precision: 0 + + status: + project: + default: + # Set the overall project code coverage requirement to 70% + target: 70 + patch: + default: + # Set the pull request requirement to not regress overall coverage by more than 5% + # and let codecov.io set the goal for the code changed in the patch. + target: auto + threshold: 5 diff --git a/appveyor.yml b/appveyor.yml index 1ca72a72..d0e5c9f8 100644 --- a/appveyor.yml +++ b/appveyor.yml @@ -3,9 +3,9 @@ #---------------------------------# version: 1.9.{build}.0 install: - - git clone https://github.com/PowerShell/DscResource.Tests + - git clone https://github.com/PowerShell/DscResource.Tests - - ps: | + - ps: | Import-Module "$env:APPVEYOR_BUILD_FOLDER\DscResource.Tests\AppVeyor.psm1" Invoke-AppveyorInstallTask @@ -22,7 +22,7 @@ build: false test_script: - ps: | Invoke-AppveyorTestScriptTask ` - -ExcludeTag 'Examples' + -CodeCoverage #---------------------------------# # deployment configuration # From 2629d6a7286eba85b583a54c1ebd9ab32c3f964c Mon Sep 17 00:00:00 2001 From: Daniel Scott-Raynsford Date: Wed, 5 Jul 2017 20:37:58 +1200 Subject: [PATCH 14/23] Fix failing tests --- Tests/Unit/MSFT_xVirtualMemory.Tests.ps1 | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/Tests/Unit/MSFT_xVirtualMemory.Tests.ps1 b/Tests/Unit/MSFT_xVirtualMemory.Tests.ps1 index d4e55081..1804ed90 100644 --- a/Tests/Unit/MSFT_xVirtualMemory.Tests.ps1 +++ b/Tests/Unit/MSFT_xVirtualMemory.Tests.ps1 @@ -43,7 +43,10 @@ try { Context 'When the system is in the desired present state' { BeforeEach { Mock -CommandName Get-CimInstance -MockWith { - [PSObject] @{ AutomaticManagedPageFile = $false; Name = 'D:\pagefile.sys' } + [PSObject] @{ + AutomaticManagedPageFile = $false + Name = 'D:\pagefile.sys' + } } -ModuleName $script:DSCResourceName -Verifiable } @@ -58,9 +61,10 @@ try { BeforeEach { Mock -CommandName Get-CimInstance -MockWith { [PSObject] @{ - InitialSize = 0 - MaximumSize = 0 - Name = "C:\pagefile.sys" + InitialSize = 0 + MaximumSize = 0 + AutomaticManagedPageFile = $false + Name = "C:\pagefile.sys" } } -ModuleName $script:DSCResourceName -Verifiable } From c96ad009dfb1353726bb97aa1975c489d27ec3c8 Mon Sep 17 00:00:00 2001 From: Daniel Scott-Raynsford Date: Wed, 5 Jul 2017 20:43:49 +1200 Subject: [PATCH 15/23] Minor clean up to README.MD --- README.md | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/README.md b/README.md index c0f8e914..9631ca61 100644 --- a/README.md +++ b/README.md @@ -218,7 +218,7 @@ configuration Sample_xComputer_WorkgroupToDomain [pscredential]$Credential ) - #Import the required DSC Resources + # Import the required DSC Resources Import-DscResource -Module xComputerManagement Node $NodeName @@ -233,7 +233,7 @@ configuration Sample_xComputer_WorkgroupToDomain } -<#**************************** +<# To save the credential in plain-text in the mof file, use the following configuration data @@ -252,7 +252,7 @@ $ConfigData = @{ Sample_xComputer_WorkgroupToDomain -ConfigurationData $ConfigData ` -MachineName -credential (Get-Credential) -Domain -****************************#> +#> ``` ### Change the Name while staying on the Domain @@ -274,7 +274,7 @@ function Sample_xComputer_ChangeNameInDomain [pscredential]$Credential ) - #Import the required DSC Resources + # Import the required DSC Resources Import-DscResource -Module xComputerManagement Node $NodeName @@ -287,7 +287,7 @@ function Sample_xComputer_ChangeNameInDomain } } -<#**************************** +<# To save the credential in plain-text in the mof file, use the following configuration data @@ -306,7 +306,7 @@ $ConfigData = @{ Sample_xComputer_ChangeNameInDomain -ConfigurationData $ConfigData ` -MachineName -Credential (Get-Credential) -*****************************#> +#> ``` ### Change the Name while staying on the Workgroup @@ -359,7 +359,7 @@ function Sample_xComputer_DomainToWorkgroup [pscredential]$Credential ) - #Import the required DSC Resources + # Import the required DSC Resources Import-DscResource -Module xComputerManagement Node $NodeName @@ -373,7 +373,7 @@ function Sample_xComputer_DomainToWorkgroup } } -<#**************************** +<# To save the credential in plain-text in the mof file, use the following configuration data @@ -392,7 +392,7 @@ $ConfigData = @{ Sample_xComputer_DomainToWorkgroup -ConfigurationData $ConfigData ` -MachineName -credential (Get-Credential) -WorkGroup -****************************#> +#> ``` ### Join a Domain using an ODJ Request File From 1b185c0630eec8f4fcae45f506b01c504bfb8029 Mon Sep 17 00:00:00 2001 From: Daniel Scott-Raynsford Date: Wed, 5 Jul 2017 20:49:28 +1200 Subject: [PATCH 16/23] Added missing READMD.MD entries --- README.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/README.md b/README.md index 9631ca61..845c1d37 100644 --- a/README.md +++ b/README.md @@ -92,6 +92,9 @@ xVirtualMemory has the following properties: * Updated AppVeyor.yml to use AppVeyor.psm1 module in DSCResource.Tests. * Removed Markdown.md errors. +* Added CodeCov.io support. +* xVirtualMemory: + * Fixed failing tests. ### 1.10.0.0 From 6441f3156065860a29f19069a770796b125e1957 Mon Sep 17 00:00:00 2001 From: Daniel Scott-Raynsford Date: Wed, 12 Jul 2017 11:57:24 +1200 Subject: [PATCH 17/23] Added CodeCov.io badges --- README.md | 6 +++++- appveyor.yml | 3 ++- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 50ae9c10..dacc1c10 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,10 @@ # xComputerManagement -[![Build status](https://ci.appveyor.com/api/projects/status/cg28qxeco39wgo9l/branch/master?svg=true)](https://ci.appveyor.com/project/PowerShell/xcomputermanagement/branch/master) +master: [![Build status](https://ci.appveyor.com/api/projects/status/cg28qxeco39wgo9l/branch/master?svg=true)](https://ci.appveyor.com/project/PowerShell/xCertificate/branch/master) +[![codecov](https://codecov.io/gh/PowerShell/xCertificate/branch/master/graph/badge.svg)](https://codecov.io/gh/PowerShell/xCertificate) + +dev: [![Build status](https://ci.appveyor.com/api/projects/status/cg28qxeco39wgo9l/branch/dev?svg=true)](https://ci.appveyor.com/project/PowerShell/xcomputermanagement/branch/dev) +[![codecov](https://codecov.io/gh/PowerShell/xcomputermanagement/branch/dev/graph/badge.svg)](https://codecov.io/gh/PowerShell/xCertificate) The **xComputerManagement** module contains the following resources: diff --git a/appveyor.yml b/appveyor.yml index d0e5c9f8..6f6760e7 100644 --- a/appveyor.yml +++ b/appveyor.yml @@ -22,7 +22,8 @@ build: false test_script: - ps: | Invoke-AppveyorTestScriptTask ` - -CodeCoverage + -CodeCoverage ` + -CodeCovIo #---------------------------------# # deployment configuration # From 6a3382c21cd6a72517d6a560489120e4d2a39e4f Mon Sep 17 00:00:00 2001 From: Daniel Scott-Raynsford Date: Thu, 13 Jul 2017 07:35:10 +1200 Subject: [PATCH 18/23] Changes as per PR comments --- appveyor.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/appveyor.yml b/appveyor.yml index 6f6760e7..9c42f29d 100644 --- a/appveyor.yml +++ b/appveyor.yml @@ -22,6 +22,7 @@ build: false test_script: - ps: | Invoke-AppveyorTestScriptTask ` + -ExcludeTag @() ` -CodeCoverage ` -CodeCovIo From a11b744028697934f8ddf6ee5cfead897676fc50 Mon Sep 17 00:00:00 2001 From: Daniel Scott-Raynsford Date: Thu, 13 Jul 2017 07:58:06 +1200 Subject: [PATCH 19/23] Fixed README.MD after fixing merge conflict --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 25901e2d..09ce3228 100644 --- a/README.md +++ b/README.md @@ -166,6 +166,7 @@ xVirtualMemory has the following properties: * Added CodeCov.io support. ### 2.0.0.0 + * Updated resources * BREAKING CHANGE: xScheduledTask: Added nearly all available parameters for tasks * xVirtualMemory: From afd39174f0a060ec120023db480db2932bdbb0cc Mon Sep 17 00:00:00 2001 From: Daniel Scott-Raynsford Date: Mon, 17 Jul 2017 09:35:51 +1200 Subject: [PATCH 20/23] Corrected README.MD after previous change --- README.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index f0961e20..a1d4a0c0 100644 --- a/README.md +++ b/README.md @@ -160,8 +160,9 @@ xVirtualMemory has the following properties: ## Versions ### Unreleased -* xComputer: Changed comparision that validates if we are in the correct AD Domain to work correctly if FQDN wasn't used +* xComputer: Changed comparision that validates if we are in the correct AD + Domain to work correctly if FQDN wasn't used * Updated AppVeyor.yml to use AppVeyor.psm1 module in DSCResource.Tests. * Removed Markdown.md errors. * Added CodeCov.io support. From e65f65c5970dd93d9d6cd8eedcda75654f12da76 Mon Sep 17 00:00:00 2001 From: Daniel Scott-Raynsford Date: Mon, 17 Jul 2017 12:06:29 +1200 Subject: [PATCH 21/23] Clean up and correct badge --- .markdownlint.json | 2 +- README.md | 9 ++++----- 2 files changed, 5 insertions(+), 6 deletions(-) diff --git a/.markdownlint.json b/.markdownlint.json index 20f1ff3e..12dafc2a 100644 --- a/.markdownlint.json +++ b/.markdownlint.json @@ -3,7 +3,7 @@ "MD029": { "style": "ordered" }, - "MD013": true, + "MD013": false, "MD024": true, "MD034": true, "no-hard-tabs": true diff --git a/README.md b/README.md index a1d4a0c0..69c8081f 100644 --- a/README.md +++ b/README.md @@ -1,10 +1,9 @@ # xComputerManagement -master: [![Build status](https://ci.appveyor.com/api/projects/status/cg28qxeco39wgo9l/branch/master?svg=true)](https://ci.appveyor.com/project/PowerShell/xCertificate/branch/master) -[![codecov](https://codecov.io/gh/PowerShell/xCertificate/branch/master/graph/badge.svg)](https://codecov.io/gh/PowerShell/xCertificate) - -dev: [![Build status](https://ci.appveyor.com/api/projects/status/cg28qxeco39wgo9l/branch/dev?svg=true)](https://ci.appveyor.com/project/PowerShell/xcomputermanagement/branch/dev) -[![codecov](https://codecov.io/gh/PowerShell/xcomputermanagement/branch/dev/graph/badge.svg)](https://codecov.io/gh/PowerShell/xCertificate) +| Branch | Build Status | Code Coverage | +| --- | --- | --- | +| master | [![Build status](https://ci.appveyor.com/api/projects/status/cg28qxeco39wgo9l/branch/master?svg=true)](https://ci.appveyor.com/project/PowerShell/xComputerManagement/branch/master) | [![codecov](https://codecov.io/gh/PowerShell/xComputerManagement/branch/master/graph/badge.svg)](https://codecov.io/gh/PowerShell/xComputerManagement/branch/master) | +| dev | [![Build status](https://ci.appveyor.com/api/projects/status/cg28qxeco39wgo9l/branch/dev?svg=true)](https://ci.appveyor.com/project/PowerShell/xComputerManagement/branch/dev) | [![codecov](https://codecov.io/gh/PowerShell/xComputerManagement/branch/dev/graph/badge.svg)](https://codecov.io/gh/PowerShell/xComputerManagement/branch/dev) | The **xComputerManagement** module contains the following resources: From 0f06065880c325cfa42e48c4daa8114b2fc110c4 Mon Sep 17 00:00:00 2001 From: Daniel Scott-Raynsford Date: Tue, 18 Jul 2017 12:21:23 +1200 Subject: [PATCH 22/23] Try new PSSA Custom rules --- appveyor.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/appveyor.yml b/appveyor.yml index 9c42f29d..3542bdd7 100644 --- a/appveyor.yml +++ b/appveyor.yml @@ -3,7 +3,8 @@ #---------------------------------# version: 1.9.{build}.0 install: - - git clone https://github.com/PowerShell/DscResource.Tests + - git clone -b Issue-86 https://github.com/PlagueHO/DscResource.Tests + #- git clone https://github.com/PowerShell/DscResource.Tests - ps: | Import-Module "$env:APPVEYOR_BUILD_FOLDER\DscResource.Tests\AppVeyor.psm1" From 1861413027611ea40f9f2c65a125ee0d17c7d433 Mon Sep 17 00:00:00 2001 From: Daniel Scott-Raynsford Date: Tue, 18 Jul 2017 21:53:02 +1200 Subject: [PATCH 23/23] Revert to using standard DSCResource.tests --- appveyor.yml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/appveyor.yml b/appveyor.yml index 3542bdd7..9c42f29d 100644 --- a/appveyor.yml +++ b/appveyor.yml @@ -3,8 +3,7 @@ #---------------------------------# version: 1.9.{build}.0 install: - - git clone -b Issue-86 https://github.com/PlagueHO/DscResource.Tests - #- git clone https://github.com/PowerShell/DscResource.Tests + - git clone https://github.com/PowerShell/DscResource.Tests - ps: | Import-Module "$env:APPVEYOR_BUILD_FOLDER\DscResource.Tests\AppVeyor.psm1"