Carbon 2.4.0

There is a newer version of this package available.
See the version list below for details.
dotnet add package Carbon --version 2.4.0
NuGet\Install-Package Carbon -Version 2.4.0
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="Carbon" Version="2.4.0" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add Carbon --version 2.4.0
#r "nuget: Carbon, 2.4.0"
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
// Install Carbon as a Cake Addin
#addin nuget:?package=Carbon&version=2.4.0

// Install Carbon as a Cake Tool
#tool nuget:?package=Carbon&version=2.4.0

Carbon is a PowerShell module for automating the configuration Windows 7, 8, 2008, and 2012 and automation the installation and configuration of Windows applications, websites, and services. It can configure and manage:

* Local users and groups
* IIS websites, virtual directories, and applications
* File system, registry, and certificate permissions
* Certificates
* Privileges
* Services
* Encryption
* Junctions
* Hosts file
* INI files
* Performance counters
* Shares
* .NET connection strings and app settings
* And much more!

All functions are idempotent: when run multiple times with the same arguments, your system will be in the same state without failing or producing errors.

There are no supported framework assets in this package.

Learn more about Target Frameworks and .NET Standard.

This package has no dependencies.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last updated
2.11.0 5,630 11/3/2021
2.8.1 4,176 3/26/2019
2.8.0 705 3/25/2019
2.7.0 1,700 12/11/2018
2.6.0 3,304 7/8/2018
2.5.4 1,817 6/2/2018
2.5.3 1,010 6/1/2018
2.5.2 1,076 6/1/2018
2.5.1 1,074 6/1/2018
2.5.0 18,279 6/18/2017
2.4.1 9,053 2/21/2017
2.4.0 2,623 11/9/2016
2.3.0 1,371 9/29/2016
2.2.0 94,550 5/12/2016
2.1.1 1,495 2/25/2016
2.1.0 1,196 2/9/2016
2.0.1 1,406 10/20/2015
2.0.0 1,322 10/11/2015
1.8.0 2,708 9/22/2014
1.7.0 1,834 5/3/2014

## Enhancements

* `Protect-String` can now encrypt a `SecureString`. The `String` parameter's type was changed to `[object]`. When you pass in a `SecureString`, it is converted to an array of bytes, encrypted, and the array of bytes are cleared from memory.
* Renamed `Protect-Acl` to `Disable-AclInheritance` to make it clearer what the function does. Created a `Protect-Acl` alias in place to preserve backwards-compatability.
* `Disable-AclInheritance` only disables inheritance if it is currently enabled.
* Created `Enable-AclInheritance` to re-enable access rule inheritance on file system and registry ACLs. This function is paired with `Disable-AclInheritance`.

## Bug Fixes

* Fixed: `Get-ProgramInstallInfo` fails when a program's `Version` registry key value can't be converted into a `Version` object.
* Fixed: `Test-Service` failed to detect if a device driver service is installed.
* Fixed: `Install-Service` fails if a service depends on a device driver. (Note: in our testing, we can't get a device driver set as a dependency. If you know what the secret sauce is to get this to work with sc.exe (or another means), please let us know.)
* Fixed: `Disable-AclInheritance` (ne `Protect-Acl`) fails when piped a registry key.
* Fixed: `Get-PathProvider` fails when passed a fully-qualified registry key PowerShell path, e.g. `Microsoft.PowerShell.Core\Registry::HKEY_CURRENT_USER\Software`.