Carbon
2.1.0
* Local users and groups
* IIS websites, virtual directories, and applications
* File system, registry, and certificate permissions
* Certif
* 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.
Minimum PowerShell version
4.0
See the version list below for details.
Installation Options
Owners
Copyright
Copyright 2011 - 2015 Aaron Jensen.
Package Details
Author(s)
- Aaron Jensen
Tags
.net acl active-directory certificates com compression computer credential cryptography directory dsc dsc-resources encryption environment file-system firewall groups hosts-file identity iis ini installers internet-explorer ip junctions msi msmq networking ntfs operating-system os path performance-counters powershell principal privileges programs registry rsa scheduled-tasks security service shares sid smb ssl text trusted-host users windows windows-features xml zip DscResources setup automation admin
DSCResources
Carbon_EnvironmentVariable Carbon_FirewallRule Carbon_Group Carbon_IniFile Carbon_Permission Carbon_Privilege Carbon_ScheduledTask Carbon_Service
Dependencies
This module has no dependencies.
Release Notes
# 2.1.0 (8 February 2016)
## 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.
FileList
- Carbon.nuspec
- Carbon.format.ps1xml
- Carbon.psd1
- Carbon.psm1
- Carbon.types.ps1xml
- Import-Carbon.ps1
- bin\Carbon.dll
- bin\Carbon.Iis.dll
- bin\Carbon.Xdt.dll
- bin\Ionic.Zip.dll
- bin\Microsoft.Web.XmlTransform.dll
- bin\Protect-String.ps1
- bin\Set-DotNetAppSetting.ps1
- bin\Set-DotNetConnectionString.ps1
- DscResources\Initialize-CarbonDscResource.ps1
- DscResources\Carbon_EnvironmentVariable\Carbon_EnvironmentVariable.psm1
- DscResources\Carbon_EnvironmentVariable\Carbon_EnvironmentVariable.schema.mof
- DscResources\Carbon_FirewallRule\Carbon_FirewallRule.psm1
- DscResources\Carbon_FirewallRule\Carbon_FirewallRule.schema.mof
- DscResources\Carbon_Group\Carbon_Group.psm1
- DscResources\Carbon_Group\Carbon_Group.schema.mof
- DscResources\Carbon_IniFile\Carbon_IniFile.psm1
- DscResources\Carbon_IniFile\Carbon_IniFile.schema.mof
- DscResources\Carbon_Permission\Carbon_Permission.psm1
- DscResources\Carbon_Permission\Carbon_Permission.schema.mof
- DscResources\Carbon_Privilege\Carbon_Privilege.psm1
- DscResources\Carbon_Privilege\Carbon_Privilege.schema.mof
- DscResources\Carbon_ScheduledTask\Carbon_ScheduledTask.psm1
- DscResources\Carbon_ScheduledTask\Carbon_ScheduledTask.schema.mof
- DscResources\Carbon_Service\Carbon_Service.psm1
- DscResources\Carbon_Service\Carbon_Service.schema.mof
- en-US\about_Carbon.help.txt
- en-US\about_Carbon_2.0.help.txt
- en-US\about_Carbon_Contributing.help.txt
- en-US\about_Carbon_Extended_Type_Data.help.txt
- en-US\about_Carbon_Installation.help.txt
- en-US\about_Carbon_Support.help.txt
- Formats\Carbon.Security.HttpUrlAcl.format.ps1xml
- Functions\Add-GroupMember.ps1
- Functions\Add-IisDefaultDocument.ps1
- Functions\Add-IisServerManagerMember.ps1
- Functions\Add-TrustedHost.ps1
- Functions\Assert-AdminPrivilege.ps1
- Functions\Assert-FirewallConfigurable.ps1
- Functions\Assert-Service.ps1
- Functions\Assert-WindowsFeatureFunctionsSupported.ps1
- Functions\Clear-DscLocalResourceCache.ps1
- Functions\Clear-MofAuthoringMetadata.ps1
- Functions\Clear-TrustedHost.ps1
- Functions\Complete-Job.ps1
- Functions\Compress-Item.ps1
- Functions\Convert-SecureStringToString.ps1
- Functions\Convert-XmlFile.ps1
- Functions\ConvertFrom-Base64.ps1
- Functions\ConvertTo-Base64.ps1
- Functions\ConvertTo-ContainerInheritanceFlags.ps1
- Functions\ConvertTo-InheritanceFlag.ps1
- Functions\ConvertTo-PropagationFlag.ps1
- Functions\ConvertTo-ProviderAccessControlRights.ps1
- Functions\ConvertTo-SecurityIdentifier.ps1
- Functions\Copy-DscResource.ps1
- Functions\Disable-FirewallStatefulFtp.ps1
- Functions\Disable-IEEnhancedSecurityConfiguration.ps1
- Functions\Disable-IisSecurityAuthentication.ps1
- Functions\Disable-NtfsCompression.ps1
- Functions\Enable-FirewallStatefulFtp.ps1
- Functions\Enable-IEActivationPermission.ps1
- Functions\Enable-IisDirectoryBrowsing.ps1
- Functions\Enable-IisSecurityAuthentication.ps1
- Functions\Enable-IisSsl.ps1
- Functions\Enable-NtfsCompression.ps1
- Functions\Expand-Item.ps1
- Functions\Find-ADUser.ps1
- Functions\Format-ADSearchFilterValue.ps1
- Functions\Get-ADDomainController.ps1
- Functions\Get-Certificate.ps1
- Functions\Get-CertificateStore.ps1
- Functions\Get-ComPermission.ps1
- Functions\Get-ComSecurityDescriptor.ps1
- Functions\Get-DscError.ps1
- Functions\Get-DscWinEvent.ps1
- Functions\Get-FileShare.ps1
- Functions\Get-FileSharePermission.ps1
- Functions\Get-FirewallRule.ps1
- Functions\Get-Group.ps1
- Functions\Get-HttpUrlAcl.ps1
- Functions\Get-IdentityPrincipalContext.ps1
- Functions\Get-IisApplication.ps1
- Functions\Get-IisAppPool.ps1
- Functions\Get-IisConfigurationSection.ps1
- Functions\Get-IisHttpHeader.ps1
- Functions\Get-IisHttpRedirect.ps1
- Functions\Get-IisMimeMap.ps1
- Functions\Get-IisSecurityAuthentication.ps1
- Functions\Get-IisVersion.ps1
- Functions\Get-IisWebsite.ps1
- Functions\Get-IPAddress.ps1
- Functions\Get-Msi.ps1
- Functions\Get-MsmqMessageQueue.ps1
- Functions\Get-MsmqMessageQueuePath.ps1
- Functions\Get-PathProvider.ps1
- Functions\Get-PathToHostsFile.ps1
- Functions\Get-PerformanceCounter.ps1
- Functions\Get-Permission.ps1
- Functions\Get-PowerShellModuleInstallPath.ps1
- Functions\Get-PowershellPath.ps1
- Functions\Get-Privilege.ps1
- Functions\Get-ProgramInstallInfo.ps1
- Functions\Get-RegistryKeyValue.ps1
- Functions\Get-ScheduledTask.ps1
- Functions\Get-ServiceAcl.ps1
- Functions\Get-ServiceConfiguration.ps1
- Functions\Get-ServicePermission.ps1
- Functions\Get-ServiceSecurityDescriptor.ps1
- Functions\Get-SslCertificateBinding.ps1
- Functions\Get-TrustedHost.ps1
- Functions\Get-User.ps1
- Functions\Get-WindowsFeature.ps1
- Functions\Get-WmiLocalUserAccount.ps1
- Functions\Grant-ComPermission.ps1
- Functions\Grant-HttpUrlPermission.ps1
- Functions\Grant-MsmqMessageQueuePermission.ps1
- Functions\Grant-Permission.ps1
- Functions\Grant-Privilege.ps1
- Functions\Grant-ServiceControlPermission.ps1
- Functions\Grant-ServicePermission.ps1
- Functions\Initialize-Lcm.ps1
- Functions\Install-Certificate.ps1
- Functions\Install-Directory.ps1
- Functions\Install-FileShare.ps1
- Functions\Install-Group.ps1
- Functions\Install-IisApplication.ps1
- Functions\Install-IisAppPool.ps1
- Functions\Install-IisVirtualDirectory.ps1
- Functions\Install-IisWebsite.ps1
- Functions\Install-Junction.ps1
- Functions\Install-Msi.ps1
- Functions\Install-Msmq.ps1
- Functions\Install-MsmqMessageQueue.ps1
- Functions\Install-PerformanceCounter.ps1
- Functions\Install-RegistryKey.ps1
- Functions\Install-ScheduledTask.ps1
- Functions\Install-Service.ps1
- Functions\Install-User.ps1
- Functions\Install-WindowsFeature.ps1
- Functions\Invoke-AppCmd.ps1
- Functions\Invoke-ConsoleCommand.ps1
- Functions\Invoke-PowerShell.ps1
- Functions\Join-IisVirtualPath.ps1
- Functions\Lock-IisConfigurationSection.ps1
- Functions\New-Credential.ps1
- Functions\New-Junction.ps1
- Functions\New-RsaKeyPair.ps1
- Functions\New-TempDirectory.ps1
- Functions\Protect-Acl.ps1
- Functions\Protect-String.ps1
- Functions\Remove-EnvironmentVariable.ps1
- Functions\Remove-GroupMember.ps1
- Functions\Remove-HostsEntry.ps1
- Functions\Remove-IisMimeMap.ps1
- Functions\Remove-IniEntry.ps1
- Functions\Remove-Junction.ps1
- Functions\Remove-RegistryKeyValue.ps1
- Functions\Remove-SslCertificateBinding.ps1
- Functions\Reset-HostsFile.ps1
- Functions\Reset-MsmqQueueManagerID.ps1
- Functions\Resolve-FullPath.ps1
- Functions\Resolve-Identity.ps1
- Functions\Resolve-IdentityName.ps1
- Functions\Resolve-NetPath.ps1
- Functions\Resolve-PathCase.ps1
- Functions\Resolve-RelativePath.ps1
- Functions\Resolve-WindowsFeatureName.ps1
- Functions\Restart-RemoteService.ps1
- Functions\Revoke-ComPermission.ps1
- Functions\Revoke-HttpUrlPermission.ps1
- Functions\Revoke-Permission.ps1
- Functions\Revoke-Privilege.ps1
- Functions\Revoke-ServicePermission.ps1
- Functions\Set-CryptoKeySecurity.ps1
- Functions\Set-DotNetAppSetting.ps1
- Functions\Set-DotNetConnectionString.ps1
- Functions\Set-EnvironmentVariable.ps1
- Functions\Set-HostsEntry.ps1
- Functions\Set-IisHttpHeader.ps1
- Functions\Set-IisHttpRedirect.ps1
- Functions\Set-IisMimeMap.ps1
- Functions\Set-IisWebsiteID.ps1
- Functions\Set-IisWebsiteSslCertificate.ps1
- Functions\Set-IisWindowsAuthentication.ps1
- Functions\Set-IniEntry.ps1
- Functions\Set-RegistryKeyValue.ps1
- Functions\Set-ServiceAcl.ps1
- Functions\Set-SslCertificateBinding.ps1
- Functions\Set-TrustedHost.ps1
- Functions\Split-Ini.ps1
- Functions\Start-DscPullConfiguration.ps1
- Functions\Test-AdminPrivilege.ps1
- Functions\Test-DotNet.ps1
- Functions\Test-DscTargetResource.ps1
- Functions\Test-FileShare.ps1
- Functions\Test-FirewallStatefulFtp.ps1
- Functions\Test-Group.ps1
- Functions\Test-GroupMember.ps1
- Functions\Test-Identity.ps1
- Functions\Test-IisAppPool.ps1
- Functions\Test-IisConfigurationSection.ps1
- Functions\Test-IisSecurityAuthentication.ps1
- Functions\Test-IisWebsite.ps1
- Functions\Test-IPAddress.ps1
- Functions\Test-MsmqMessageQueue.ps1
- Functions\Test-NtfsCompression.ps1
- Functions\Test-OSIs32Bit.ps1
- Functions\Test-OSIs64Bit.ps1
- Functions\Test-PathIsJunction.ps1
- Functions\Test-PerformanceCounter.ps1
- Functions\Test-PerformanceCounterCategory.ps1
- Functions\Test-Permission.ps1
- Functions\Test-PowerShellIs32Bit.ps1
- Functions\Test-PowerShellIs64Bit.ps1
- Functions\Test-Privilege.ps1
- Functions\Test-RegistryKeyValue.ps1
- Functions\Test-ScheduledTask.ps1
- Functions\Test-Service.ps1
- Functions\Test-SslCertificateBinding.ps1
- Functions\Test-TypeDataMember.ps1
- Functions\Test-UncPath.ps1
- Functions\Test-User.ps1
- Functions\Test-WindowsFeature.ps1
- Functions\Test-ZipFile.ps1
- Functions\Uninstall-Certificate.ps1
- Functions\Uninstall-Directory.ps1
- Functions\Uninstall-FileShare.ps1
- Functions\Uninstall-Group.ps1
- Functions\Uninstall-IisAppPool.ps1
- Functions\Uninstall-IisWebsite.ps1
- Functions\Uninstall-Junction.ps1
- Functions\Uninstall-MsmqMessageQueue.ps1
- Functions\Uninstall-PerformanceCounterCategory.ps1
- Functions\Uninstall-ScheduledTask.ps1
- Functions\Uninstall-Service.ps1
- Functions\Uninstall-User.ps1
- Functions\Uninstall-WindowsFeature.ps1
- Functions\Unlock-IisConfigurationSection.ps1
- Functions\Unprotect-String.ps1
- Functions\Use-CallerPreference.ps1
- Functions\Write-DscError.ps1
- Functions\Write-IisVerbose.ps1
Version History
Version | Downloads | Last updated |
---|---|---|
2.16.0-rc1 | 413 | 3/19/2024 |
2.15.1 | 11,584,727 | 8/18/2023 |
2.15.0 | 37,711 | 8/17/2023 |
2.14.1 | 1,428,767 | 7/5/2023 |
2.14.1-rc1 | 18 | 7/3/2023 |
2.14.0 | 75,154 | 7/3/2023 |
2.14.0-rc1 | 107 | 5/10/2023 |
2.13.0 | 4,695,564 | 2/16/2023 |
2.13.0-rc2 | 97 | 1/20/2023 |
2.13.0-rc1 | 8 | 1/20/2023 |
2.12.0 | 6,366,661 | 8/10/2022 |
2.11.3 | 1,366,607 | 6/30/2022 |
2.11.2 | 3,080,967 | 3/28/2022 |
2.11.1 | 944,003 | 2/28/2022 |
2.11.1-alpha732 | 574 | 2/28/2022 |
2.11.0 | 3,800,776 | 11/3/2021 |
2.11.0-rc710 | 610 | 10/19/2021 |
2.11.0-rc707 | 570 | 10/19/2021 |
2.10.2 | 7,141,206 | 3/17/2021 |
2.10.1 | 26,460 | 3/16/2021 |
2.10.1-rc660 | 613 | 3/8/2021 |
2.10.0 | 22,968 | 3/15/2021 |
2.10.0-rc651 | 729 | 2/3/2021 |
2.9.4 | 3,003,794 | 12/8/2020 |
2.9.3 | 607,197 | 11/18/2020 |
2.9.3-rc623 | 631 | 10/9/2020 |
2.9.2 | 14,020,821 | 1/17/2020 |
2.9.1 | 1,546,634 | 11/1/2019 |
2.9.0 | 995,245 | 9/19/2019 |
2.9.0-rc587 | 589 | 9/16/2019 |
2.8.1 | 4,228,550 | 3/26/2019 |
2.8.0 | 31,752 | 3/25/2019 |
2.7.0 | 3,922,478 | 12/11/2018 |
2.6.0 | 5,441,500 | 7/8/2018 |
2.5.4 | 206,551 | 6/2/2018 |
2.5.3 | 1,343 | 6/1/2018 |
2.5.2 | 239 | 6/1/2018 |
2.5.1 | 253 | 6/1/2018 |
2.5.0 | 828,545 | 6/18/2017 |
2.4.1 | 243,031 | 2/21/2017 |
2.4.0 | 124,363 | 11/9/2016 |
2.3.0 | 39,277 | 9/29/2016 |
2.2.0 | 22,408 | 5/12/2016 |
2.1.1 | 1,224 | 2/25/2016 |
2.1.0 (current version) | 560 | 2/9/2016 |
2.0.1 | 1,072 | 10/20/2015 |
2.0.0 | 2,346 | 10/11/2015 |
1.9.0 | 1,472 | 5/7/2015 |