Carbon 2.1.0
See the version list below for details.
dotnet add package Carbon --version 2.1.0
NuGet\Install-Package Carbon -Version 2.1.0
<PackageReference Include="Carbon" Version="2.1.0" />
paket add Carbon --version 2.1.0
#r "nuget: Carbon, 2.1.0"
// Install Carbon as a Cake Addin #addin nuget:?package=Carbon&version=2.1.0 // Install Carbon as a Cake Tool #tool nuget:?package=Carbon&version=2.1.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.
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 | 8,574 | 11/3/2021 |
2.8.1 | 4,245 | 3/26/2019 |
2.8.0 | 747 | 3/25/2019 |
2.7.0 | 1,820 | 12/11/2018 |
2.6.0 | 3,416 | 7/8/2018 |
2.5.4 | 1,867 | 6/2/2018 |
2.5.3 | 1,060 | 6/1/2018 |
2.5.2 | 1,129 | 6/1/2018 |
2.5.1 | 1,127 | 6/1/2018 |
2.5.0 | 18,329 | 6/18/2017 |
2.4.1 | 9,135 | 2/21/2017 |
2.4.0 | 2,709 | 11/9/2016 |
2.3.0 | 1,420 | 9/29/2016 |
2.2.0 | 98,534 | 5/12/2016 |
2.1.1 | 1,546 | 2/25/2016 |
2.1.0 | 1,232 | 2/9/2016 |
2.0.1 | 1,455 | 10/20/2015 |
2.0.0 | 1,368 | 10/11/2015 |
1.8.0 | 2,804 | 9/22/2014 |
1.7.0 | 1,877 | 5/3/2014 |
## New Functions
* `Get-HttpUrlAcl`: uses Windows API to return HTTP URL ACLs; replaces the `netsh http show urlacl` command.
* `Grant-HttpUrlPermission`: uses Windows API to grant listen/delegate permissions on HTTP URLs; replaces the `netsh http add urlacl` command.
* `Revoke-HttpUrlPermission`: uses Windows API to revoke all a user or group's permissions on HTTP URLs; replaces the `netsh http delete urlacl` command.
* `Install-Directory`: creates a directory (and any missing parents), if it doesn't exist already. Finally!
* `Uninstall-Directory`: removes a directory, if it exists. Finally!
* `Uninstall-Group`: uses the `DirectoryServices.AccountManagement` .NET API to remove a group, if it exists.
* `Test-GroupMember`: uses the `DirectoryServices.AccountManagemetn` .NET API to test if a principal is a member of a group.
## New DSC Resource
* `Carbon_Group`: resource for configuring local groups.
## Bug Fixes
* Fixed: `Install-FileShare` always re-configures existing shares; it doesn't properly detect permissions that need to be removed.
* Fixed: `Set-IniEntry` fails to preserve unicode characters with diacritics in INI entry names and values.
* Fixed: `Remove-IniEntry` fails to preserve unicode characters with diacritics in INI entry names and values.
* Fixed: `Set-HostsEntry` leaves trailing tabs and whitespace after all but the last line.
* Fixed: `Get-PowerShellModuleInstallPath` returns wrong path for PowerShell 4.
* Fixed: `Protect-String` fails when Carbon is installed in a module path that contains spaces ([fixes issue #174](https://bitbucket.org/splatteredbits/carbon/issues/174/protect-string-throws-when-module-path)).
* Fixed: `New-RsaKeyPair` generates a key pair that isn't supported for encrypting/decrypting DSC credentials or supported by the CMS message cmdlets.
* Fixed: `Get-ScheduledTask` returns invalid task commands when those commands contain quotes (works around an issue where `schtasks.exe` CSV output can't be parsed correctly by `ConvertFrom-Csv`).
* Fixed: `Add-GroupMember` and `Remove-GroupMember` fail when adding `Everyone` or `NT Service\*` accounts to a group ([fixes issue #177](https://bitbucket.org/splatteredbits/carbon/issues/177/add-groupmembers-201-doesnt-like-vsa-names)).
* Fixed: `Get-SheduledTask` writes an error if a scheduled task's XML definition is for an executable and doesn't contain an arguments element.
## Other Improvements
* Obsolete function parameters will no longer show in Intellisense (added the `DontShow` parameter property).
* `Test-AdminPrivilege`: changed its verbose message to a debug message.
* `Set-HostsEntry`:
* only updates hosts file if it needs to change
* added an improved verbose message when setting a hosts entry
* improved error handling when hosts file can't be opened for reading
* `Install-Certificate` can now install a certificate on a remote computer.
* `Initialize-Lcm` now uses `Install-Certificate` to install the decryption certificate on the remote computer.
* `Uninstall-Certificate` can now uninstall a certificate on a remote computer.
* The following functions now write warning if you pass them a plain-text password. You should pass a `SecureString` instead.
* `Install-Certificate`
* `Initialize-Lcm`
* `New-RsaKeyPair`:
* Refactored to use `certreq.exe` instead of `makecert.exe` and `pvk2pfx.exe`.
* Can now run non-interactively: added a `-Password` parameter used to protect the private key (it used to prompt you).
* Fixed: generates a key pair that isn't supported for encrypting/decrypting DSC credentials or supported by the CMS message cmdlets.
* Made the `-ValidFrom` and `-Authority` parameters obsolete.
* Added some verbose messages to `Install-Group` and `Add-MemberToGroup` when they create/modify their objects.
* `Install-Group` only saves changes to a group if changes were made.