Carbon 2.2.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 is a newer version of this package available.
See the version list below for details.
Install-Package Carbon -Version 2.2.0
dotnet add package Carbon --version 2.2.0
<PackageReference Include="Carbon" Version="2.2.0" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add Carbon --version 2.2.0
The NuGet Team does not provide support for this client. Please contact its maintainers for support.

Release Notes

## Enhancements

* Aded a `LiteralPath` parameter to `Test-PathIsJunction` for testing paths that contain wildcard characters (e.g. `[`, `]`, etc.).
* `Remove-Junction` now supports removing multiple junctions with wildcards.
* Added a `LiteralPath` parameter to `Remove-Junction` for deleting junctions whose paths contain wildcard characters (e.g. `[`, `]`, etc.).
* Added a `LiteralPath` parameter to `Uninstall-Junction` for deleting junctions whose paths contain wildcard characters (e.g. `[`, `]`, etc.).
* Created `Remove-DotNetAppSetting` function for removing app settings from .NET framework machine.config files.
* Created `Read-File` function for reading text files and retrying if the read fails. Good for reading files that get intermittently locked, like the Windows hosts file.
* Created `Write-File` function for writing text files and retrying if the write fails. Good for writing files that get intermittently locked, like the Windows hosts file.
* Made the following functions obsolete:
  * `Get-WindowsFeature`
  * `Install-Msmq`
  * `Install-WindowsFeature`
  * `Resolve-WindowsFeatureName`
  * `Uninstall-WindowsFeature`

## Bug Fixes

* Fixed: `Add-GroupMember`, over PowerShell remoting, fails to add a member to groups that have non-local users/groups (fixes [issue #187: Add-GroupMember fails when using PowerShell Remoting](https://bitbucket.org/splatteredbits/carbon/issues/187/add-groupmember-fails-when-using))
* Fixed: `Remove-GroupMember`, over PowerShell remoting, fails to remove a member from groups that have non-local users/groups.
* Fixed: `Test-PathIsJunction` returns multiple results if the `Path` parameter contains wildcards and matches multiple items.
* Fixed: `Install-Junction` can't install a junction whose path contains wildcard characters (fixes [issue #190](https://bitbucket.org/splatteredbits/carbon/issues/190/install-junction-fails-when-the-path)).
* Fixed: `New-Junction` writes wrong error when creating an existing junction whose path contains wildcard characters.
* Fixed: `Install-Service` doesn't update/change an existing service's account when using the `Credential` parameter (fixes [issue #185](https://bitbucket.org/splatteredbits/carbon/issues/185/install-service-never-updates-logon-as-if)).
* Fixed: `Uninstall-FileShare` fails if a share's physical path doesn't exist.
* Fixed (hopefully): `Get-FileSharePermission` writes an error if a share's security information is corrupted (fixes [issue #188](https://bitbucket.org/splatteredbits/carbon/issues/188/get-filesharepermission-crashes-when-a)). I was unable to reproduce the error, and the error was reported anonyously, so I did my best.
* Fixed: `Get-PowerShellModuleInstallPath` returns multiple paths if the standard PowerShell module path is listed twice in the `PSModulePath` environment variable.
* Fixed: Chocolatey package fails if the standard PowerShell module path is listed twice in the`PSModulePath` environment (fixes [issue #192](https://bitbucket.org/splatteredbits/carbon/issues/192/installation-of-carbon-via-chocolatey)).
* Fixed: `Get-PowerShellModuleInstallPath` doesn't return the module install path if it doesn't exist. Sometimes it doesn't yet.
* Fixed: `Carbon_ScheduledTask` and `Carbon_IniFile` DSC resources' `Get-TargetResource` functions don't return correct resource properties and causes `Get-DscConfiguration` to fail (fixes [issue #193](https://bitbucket.org/splatteredbits/carbon/issues/193/get-targetresource-returns-taskname-in-its)).
* Fixed: `Carbon_FirewallRule` DSC resource always re-installs a firewall rule if `Profile` property contains multiple values (i.e. it doesn't properly parse netsh output).
* Fixed: `about_Carbon_Installation` help topic had a typo.
* Fixed: `Set-HostsEntry` fails to stop when the hosts file is in use and can't be read.

Dependencies

This package has no dependencies.

Version History

Version Downloads Last updated
2.8.1 374 3/26/2019
2.8.0 74 3/25/2019
2.7.0 457 12/11/2018
2.6.0 1,563 7/8/2018
2.5.4 866 6/2/2018
2.5.3 172 6/1/2018
2.5.2 167 6/1/2018
2.5.1 169 6/1/2018
2.5.0 17,281 6/18/2017
2.4.1 7,859 2/21/2017
2.4.0 1,459 11/9/2016
2.3.0 452 9/29/2016
2.2.0 39,032 5/12/2016
2.1.1 442 2/25/2016
2.1.0 333 2/9/2016
2.0.1 518 10/20/2015
2.0.0 393 10/11/2015
1.8.0 1,296 9/22/2014
1.7.0 696 5/3/2014
Show less