Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/nyanhp/xdschelper
A DSC resource module that contains helper resources not fitting elsewhere
https://github.com/nyanhp/xdschelper
dsc-resources powershell
Last synced: 4 months ago
JSON representation
A DSC resource module that contains helper resources not fitting elsewhere
- Host: GitHub
- URL: https://github.com/nyanhp/xdschelper
- Owner: nyanhp
- License: mit
- Created: 2017-03-15T11:54:01.000Z (almost 8 years ago)
- Default Branch: mimir
- Last Pushed: 2020-07-02T08:56:05.000Z (over 4 years ago)
- Last Synced: 2024-10-11T21:01:39.469Z (4 months ago)
- Topics: dsc-resources, powershell
- Language: PowerShell
- Size: 35.2 KB
- Stars: 4
- Watchers: 4
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
[![Build status](https://ci.appveyor.com/api/projects/status/9dr2dqkats65yb8u/branch/master?svg=true)](https://ci.appveyor.com/project/nyanhp/xdschelper/branch/master)
# xDscHelper
A DSC resource module that contains helper resources not fitting elsewhere. All of the resources in this repository are provided AS IS.## Installation
To install xDscHelper module either* Unzip the content under $env:ProgramFiles\WindowsPowerShell\Modules folder
* Or `Install-Module xDscHelper` in an elevated PowerShell sessionRun `Get-DSCResource` to see that xDscHelper is among the DSC Resources listed
Requirements
This module requires at least PowerShell v4.0, which ships in Windows 8.1 or Windows Server 2012R2.## Description
The module xDscHelper contains the following resources:* xWaitForItem - Allows you to wait for files to reach a specific length or content or for folders reach a specified amount of child items
* xMaintenanceWindow - Allows you to specify a maintenance window as a dependency for your resources
* **Warning**: This will screw up your reporting unless you can exclude the xMaintenanceWindow resources. xMaintenanceWindow throws an error in the Set-TargetResource operation in order to stop dependecy processing. This means: Your configuration cannot be applied.## Examples
This example for xWaitForItem waits for a hypothetic configuration file created by another system, process or product which a local service depends on:```powershell
configuration conf
{
Import-DscResource -ModuleName xDscHelpernode localhost
{
# Wait for a third party product or another system to create a file you need
xWaitForItem configFile
{
Path = 'C:\ConfigFileFromOtherSystem.ini'
Type = 'File'
MinimumLength = 1
}# Use it as a dependency
Service myService
{
Name = 'IniNeedingService'
Path = 'C:\Svc\My.exe'
DependsOn = '[xWaitForItem]configFile'
}
}
}
```This example for xWaitForItem waits for a folder to fully replicate it's contents:
```powershell
configuration conf
{
Import-DscResource -ModuleName xDscHelpernode localhost
{
# Wait for e.g folder replication
xWaitForItem folderContents
{
Path = 'C:\SomeReplicatedFolder'
Type = 'Directory'
ChildItemCount = 25
}# Use it as a dependency
Service myService
{
Name = 'FileNeedingService'
Path = 'C:\Svc\My.exe'
DependsOn = '[xWaitForItem]folderContents'
}
}
}
```This example for xMaintenanceWindow defines a maintenance window for the second tuesday of each month from 10 pm to 6 am and uses it as a dependency for other resources:
```powershell
configuration conf
{
Import-DscResource -ModuleName xDscHelpernode localhost
{
xMaintenanceWindow patchday
{
ScheduleStart = (Get-Date).Date.AddHours(22)
ScheduleEnd = (Get-Date).Date.AddHours(6)
ScheduleType = 'Monthly'
DayOfWeek = 'Tuesday'
DayOfMonth = 2
}Package 1
{
DependsOn = '[xMaintenanceWindow]patchday'
...
}Package 2
{
DependsOn = '[xMaintenanceWindow]patchday'
...
}Package 3
{
DependsOn = '[xMaintenanceWindow]patchday'
...
}
}
}
```