<commit_before>[![Build status](https://ci.appveyor.com/api/projects/status/s35s7sxuyym8yu6c/branch/master?svg=true)](https://ci.appveyor.com/project/PowerShell/xpsdesiredstateconfiguration/branch/master)

# xPSDesiredStateConfiguration

The **xPSDesiredStateConfiguration** module is a more recent, experimental version of the PSDesiredStateConfiguration module that ships in Windows as part of PowerShell 4.0.
The module contains the **xDscWebService**, **xWindowsProcess**, **xService**, **xPackage**, **xRemoteFile**, **xWindowsOptionalFeature** and **xGroup** DSC resources, as well as the **xFileUpload** composite DSC resource. 

## Contributing
Please check out common DSC Resources [contributing guidelines](https://github.com/PowerShell/DscResource.Kit/blob/master/CONTRIBUTING.md).


## Resources

* **xArchive** creates or expands (extracts) ZIP archives.
* **xDscWebService** configures an OData endpoint for DSC service to make a node a DSC pull server.
* **xWindowsProcess** configures and manages Windows processes.
* **xService** configures and manages Windows services.
* **xRemoteFile** ensures the presence of remote files on a local machine.
* **xPackage** manages the installation of .msi and .exe packages.
* **xGroup** configures and manages local Windows groups
* **xFileUpload** is a composite resource which ensures that local files exist on an SMB share.
* **xWindowsOptionalFeature** configures optional Windows features.
* **xRegistry** is a copy of the built-in Registry resource, with some small bug fixes. 

### xArchive

The xArchive DSC Resource enables the creation or extraction of ZIP archives from / onto the local filesystem. The DSC Resource has two modes: **extraction** or **compression**. The **DestinationType** property controls the behavior of the DSC Resource.

If the **DestinationType** is set to `Directory` (default), then the ZIP file specified in the **Path** property will be extracted to the path in **Destination**. If the **DestinationType** is set to `File`, then the directory specified in the **Path** property will be compressed into a new ZIP file at the path specified in the **Destination** property.

* **Path**: The path of the ZIP archive, if extracting, or the source directory to compress, if compressing.
* **Destination**: The destination of the extracted files *or* the new ZIP archive.
* **DestinationType**: The destination can be either `File` or `Directory`.
* **CompressionLevel**: The amount of compression that should be applied to the new ZIP archive. The value can be one of the following: `Optimal`, `Fastest`, `NoCompression`

### xDscWebService

* **EndpointName**: The desired web service name. 
* **CertificateThumbPrint**: Certificate thumbprint for creating an HTTPS endpoint. Use "AllowUnencryptedTraffic" for setting up a non SSL based endpoint.
* **Port**: Port for web service.
* **PhysicalPath**: Folder location where the content of the web service resides.
* **State**: State of the web service: { Started | Stopped }
* **ModulePath**: Folder location where DSC resources are stored. 
* **ConfigurationPath**: Folder location where DSC configurations are stored. 
* **Ensure**: Ensures that the web service is **Present** or **Absent**

### xWindowsProcess

For a complete list of properties, please use Get-DscResource

* **Path**: The full path or the process executable 
* **Arguments**: This is a mandatory parameter for passing arguments to the process executable. 
Specify an empty string if you don't want to pass any arguments.
* **Credential**: The credentials of the user under whose context you want to run the process. 
* **Ensure**: Ensures that the process is running or stopped: { Present | Absent }

### xService

For a complete list of properties, please use Get-DscResource

* **Name**: The name for the service.
* **Ensure**: An enumeration which stating whether the service needs to be created (when set to 'Present') or deleted (when set to 'Absent') 
* **Path**: The path to the service executable file. This is a requied parameter if Ensure is set to true 

### xRemoteFile

* **DestinationPath**: Path where the remote file should be downloaded. Required.
* **Uri**: URI of the file which should be downloaded. Required.
* **UserAgent**: User agent for the web request. Optional.
* **Headers**: Headers of the web request. Optional.
* **Credential**: Specifies credential of a user which has permissions to send the request. Optional.
* **MatchSource**: Determines whether the remote file should be re-downloaded if file in the DestinationPath was modified locally. Optional.
* **TimeoutSec**: Specifies how long the request can be pending before it times out. Optional.
* **ProxyUri**: Uses a proxy server for the request, rather than connecting directly to the Internet resource. Optional.
* **ProxyCredential**: Specifies a user account that has permission to use the proxy server that is specified by the Proxy parameter. Optional.
* **Ensure**: Says whether DestinationPath exists on the machine. It's a read only property.
<commit_msg>Additional information added to xRemoteFile documentation<commit_after>[![Build status](https://ci.appveyor.com/api/projects/status/s35s7sxuyym8yu6c/branch/master?svg=true)](https://ci.appveyor.com/project/PowerShell/xpsdesiredstateconfiguration/branch/master)

# xPSDesiredStateConfiguration

The **xPSDesiredStateConfiguration** module is a more recent, experimental version of the PSDesiredStateConfiguration module that ships in Windows as part of PowerShell 4.0.
The module contains the **xDscWebService**, **xWindowsProcess**, **xService**, **xPackage**, **xRemoteFile**, **xWindowsOptionalFeature** and **xGroup** DSC resources, as well as the **xFileUpload** composite DSC resource. 

## Contributing
Please check out common DSC Resources [contributing guidelines](https://github.com/PowerShell/DscResource.Kit/blob/master/CONTRIBUTING.md).


## Resources

* **xArchive** creates or expands (extracts) ZIP archives.
* **xDscWebService** configures an OData endpoint for DSC service to make a node a DSC pull server.
* **xWindowsProcess** configures and manages Windows processes.
* **xService** configures and manages Windows services.
* **xRemoteFile** ensures the presence of remote files on a local machine.
* **xPackage** manages the installation of .msi and .exe packages.
* **xGroup** configures and manages local Windows groups
* **xFileUpload** is a composite resource which ensures that local files exist on an SMB share.
* **xWindowsOptionalFeature** configures optional Windows features.
* **xRegistry** is a copy of the built-in Registry resource, with some small bug fixes. 

### xArchive

The xArchive DSC Resource enables the creation or extraction of ZIP archives from / onto the local filesystem. The DSC Resource has two modes: **extraction** or **compression**. The **DestinationType** property controls the behavior of the DSC Resource.

If the **DestinationType** is set to `Directory` (default), then the ZIP file specified in the **Path** property will be extracted to the path in **Destination**. If the **DestinationType** is set to `File`, then the directory specified in the **Path** property will be compressed into a new ZIP file at the path specified in the **Destination** property.

* **Path**: The path of the ZIP archive, if extracting, or the source directory to compress, if compressing.
* **Destination**: The destination of the extracted files *or* the new ZIP archive.
* **DestinationType**: The destination can be either `File` or `Directory`.
* **CompressionLevel**: The amount of compression that should be applied to the new ZIP archive. The value can be one of the following: `Optimal`, `Fastest`, `NoCompression`

### xDscWebService

* **EndpointName**: The desired web service name. 
* **CertificateThumbPrint**: Certificate thumbprint for creating an HTTPS endpoint. Use "AllowUnencryptedTraffic" for setting up a non SSL based endpoint.
* **Port**: Port for web service.
* **PhysicalPath**: Folder location where the content of the web service resides.
* **State**: State of the web service: { Started | Stopped }
* **ModulePath**: Folder location where DSC resources are stored. 
* **ConfigurationPath**: Folder location where DSC configurations are stored. 
* **Ensure**: Ensures that the web service is **Present** or **Absent**

### xWindowsProcess

For a complete list of properties, please use Get-DscResource

* **Path**: The full path or the process executable 
* **Arguments**: This is a mandatory parameter for passing arguments to the process executable. 
Specify an empty string if you don't want to pass any arguments.
* **Credential**: The credentials of the user under whose context you want to run the process. 
* **Ensure**: Ensures that the process is running or stopped: { Present | Absent }

### xService

For a complete list of properties, please use Get-DscResource

* **Name**: The name for the service.
* **Ensure**: An enumeration which stating whether the service needs to be created (when set to 'Present') or deleted (when set to 'Absent') 
* **Path**: The path to the service executable file. This is a requied parameter if Ensure is set to true 

### xRemoteFile

* **DestinationPath**: Path where the remote file should be downloaded. Required.
* **Uri**: URI of the file which should be downloaded. It must be a HTTP, HTTPS or FILE resource. Required.
* **UserAgent**: User agent for the web request. Optional.
* **Headers**: Headers of the web request. Optional.
* **Credential**: Specifies credential of a user which has permissions to send the request. Optional.
* **MatchSource**: Determines whether the remote file should be re-downloaded if file in the DestinationPath was modified locally. Optional.
* **TimeoutSec**: Specifies how long the request can be pending before it times out. Optional.
* **ProxyUri**: Uses a proxy server for the request, rather than connecting directly to the Internet resource. Optional.
* **ProxyCredential**: Specifies a user account that has permission to use the proxy server that is specified by the Proxy parameter. Optional.
* **Ensure**: Says whether DestinationPath exists on the machine. It's a read only property.

{'fraction_non_alphanumeric': 0.09716916446272897, 'fraction_numerical': 0.0013713390145949653, 'mean_word_length': 5.1878787878787875, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 6, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 6, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '582852', 'n_tokens_mistral': 2619, 'n_tokens_neox': 2557, 'n_words': 1300}