Carbon

2.3.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
* Certif
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.

Minimum PowerShell version

4.0

Installation Options

Copy and Paste the following command to install this package using PowerShellGet More Info

Install-Module -Name Carbon -RequiredVersion 2.3.0

You can deploy this package directly to Azure Automation. Note that deploying packages with dependencies will deloy all the dependencies to Azure Automation. Learn More

Manually download the .nupkg file to your system's default download location. Note that the file won't be unpacked, and won't include any dependencies. Learn More

Author(s)

Aaron Jensen

Copyright

Copyright 2011 - 2016 Aaron Jensen.

Owners

Tags

.net acl active-directory certificates com compression computer credential cryptography directory dsc dsc-resources encryption environment file-system firewall groups hosts-file http identity iis ini installers internet-explorer ip junctions msi msmq netsh 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 wcf windows windows-features xml zip DscResources setup automation admin

Functions

Add-GroupMember Add-IisDefaultDocument Add-TrustedHost Assert-AdminPrivilege Assert-FirewallConfigurable Assert-Service Clear-DscLocalResourceCache Clear-MofAuthoringMetadata Clear-TrustedHost Complete-Job Compress-Item ConvertFrom-Base64 Convert-SecureStringToString ConvertTo-Base64 ConvertTo-ContainerInheritanceFlags ConvertTo-InheritanceFlag ConvertTo-PropagationFlag ConvertTo-SecurityIdentifier Convert-XmlFile Copy-DscResource Disable-FirewallStatefulFtp Disable-IEEnhancedSecurityConfiguration Disable-IisSecurityAuthentication Disable-NtfsCompression Enable-FirewallStatefulFtp Enable-IEActivationPermission Enable-IisDirectoryBrowsing Enable-IisSecurityAuthentication Enable-IisSsl Enable-NtfsCompression Expand-Item Find-ADUser Format-ADSearchFilterValue Get-ADDomainController Get-Certificate Get-CertificateStore Get-ComPermission Get-ComSecurityDescriptor Get-DscError Get-DscWinEvent Get-FileShare Get-FileSharePermission Get-FirewallRule Get-Group Get-HttpUrlAcl Get-IisApplication Get-IisAppPool Get-IisConfigurationSection Get-IisHttpHeader Get-IisHttpRedirect Get-IisMimeMap Get-IisSecurityAuthentication Get-IisVersion Get-IisWebsite Get-IPAddress Get-Msi Get-MsmqMessageQueue Get-MsmqMessageQueuePath Get-PathProvider Get-PathToHostsFile Get-PerformanceCounter Get-Permission Get-PowerShellModuleInstallPath Get-PowershellPath Get-Privilege Get-ProgramInstallInfo Get-RegistryKeyValue Get-ScheduledTask Get-ServiceAcl Get-ServiceConfiguration Get-ServicePermission Get-ServiceSecurityDescriptor Get-SslCertificateBinding Get-TrustedHost Get-User Get-WindowsFeature Get-WmiLocalUserAccount Grant-ComPermission Grant-HttpUrlPermission Grant-MsmqMessageQueuePermission Grant-Permission Grant-Privilege Grant-ServiceControlPermission Grant-ServicePermission Initialize-Lcm Install-Certificate Install-Directory Install-FileShare Install-Group Install-IisApplication Install-IisAppPool Install-IisVirtualDirectory Install-IisWebsite Install-Junction Install-Msi Install-Msmq Install-MsmqMessageQueue Install-PerformanceCounter Install-RegistryKey Install-ScheduledTask Install-Service Install-User Install-WindowsFeature Invoke-AppCmd Invoke-PowerShell Join-IisVirtualPath Lock-IisConfigurationSection New-Credential New-Junction New-RsaKeyPair New-TempDirectory Protect-Acl Protect-String Read-File Remove-DotNetAppSetting Remove-EnvironmentVariable Remove-GroupMember Remove-HostsEntry Remove-IisMimeMap Remove-IniEntry Remove-Junction Remove-RegistryKeyValue Remove-SslCertificateBinding Reset-HostsFile Reset-MsmqQueueManagerID Resolve-FullPath Resolve-Identity Resolve-IdentityName Resolve-NetPath Resolve-PathCase Resolve-RelativePath Restart-RemoteService Revoke-ComPermission Revoke-HttpUrlPermission Revoke-Permission Revoke-Privilege Revoke-ServicePermission Set-DotNetAppSetting Set-DotNetConnectionString Set-EnvironmentVariable Set-HostsEntry Set-IisHttpHeader Set-IisHttpRedirect Set-IisMimeMap Set-IisWebsiteID Set-IisWebsiteSslCertificate Set-IisWindowsAuthentication Set-IniEntry Set-RegistryKeyValue Set-ServiceAcl Set-SslCertificateBinding Set-TrustedHost Split-Ini Start-DscPullConfiguration Test-AdminPrivilege Test-DotNet Test-DscTargetResource Test-FileShare Test-FirewallStatefulFtp Test-Group Test-GroupMember Test-Identity Test-IisAppPool Test-IisConfigurationSection Test-IisSecurityAuthentication Test-IisWebsite Test-IPAddress Test-MsmqMessageQueue Test-NtfsCompression Test-OSIs32Bit Test-OSIs64Bit Test-PathIsJunction Test-PerformanceCounter Test-PerformanceCounterCategory Test-Permission Test-PowerShellIs32Bit Test-PowerShellIs64Bit Test-Privilege Test-RegistryKeyValue Test-ScheduledTask Test-Service Test-SslCertificateBinding Test-TypeDataMember Test-UncPath Test-User Test-WindowsFeature Test-ZipFile Uninstall-Certificate Uninstall-Directory Uninstall-FileShare Uninstall-Group Uninstall-IisAppPool Uninstall-IisWebsite Uninstall-Junction Uninstall-MsmqMessageQueue Uninstall-PerformanceCounterCategory Uninstall-ScheduledTask Uninstall-Service Uninstall-User Uninstall-WindowsFeature Unlock-IisConfigurationSection Unprotect-String Write-DscError Write-File

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

## Enhancements

* `Protect-String` can now encrypt with a key, password, or passphrase (i.e. it can now encrypt with symmetric encryption).
* `Unprotect-String` can now decrypt with a key, password, or passphrase (i.e. it can now decrypt using symmetric encryption).
* `Set-HostsEntry` now supports IPv6 addresses ([fixes issue](https://bitbucket.org/splatteredbits/carbon/issues/181/community-set-hostsentry-add-support-for)).
* `Grant-Permission` now supports creating `Deny` access rules. Use the new `Type` parameter. [Fixes issue #152.](https://bitbucket.org/splatteredbits/carbon/issues/152)
* `Set-EnvironmentVariable`:
  * Added `-Force` switch to make all variable modifications immediately visible in the current PowerShell process's `env:` drive. Restarts are no longer required.
  * You can now set an environment variable for other users. Use the `Credential` parameter to specify the user's credentials. [Fixes issue #151.](https://bitbucket.org/splatteredbits/carbon/issues/151)
* `Remove-EnvironmentVariable`:
  * Added `-Force` switch to make all variable removals immediately visible in the current PowerShell process's `env:` drive. Restarts are no longer required.
  * You can now remove variables from multiple targets/scopes at once.
  * You can now remove an environment variable for other users. Use the `Credential` parameter to specify the user's credentials.
* `Invoke-PowerShell`:
  * It now runs PowerShell commands. Pass a string of PowerShell code with the `Command` parameter.
  * It now runs encoded PowerShell commands. Pass the string of PowerShell code with the `Command` parameter and use the `-Encode` switch.
  * It now runs scripts and commands as another user. Use the `Credential` parameter to pass the user's credentials along with the `FilePath` and `Command` parameters to run scripts and commands, respectively.
  
## Bug Fixes

* Fixed: `Set-RegistryKeyValue` fails when `-String` parameter's value is `$null` or empty ([fixes issue #211](https://bitbucket.org/splatteredbits/carbon/issues/211/set-registrykeyvalue-null-string-invalid)).
* Fixed: Can't import Carbon in a 32-bit PowerShell 4 session on a 64-bit operating system ([fixes issue #199](https://bitbucket.org/splatteredbits/carbon/issues/199/community-issue-importing-carbon-on-x64)).
* Fixed: Documentation for the `Install-ScheduledTask` function's `HighestAvailableRunLevel` is lying ([fixes issue #205](https://bitbucket.org/splatteredbits/carbon/issues/205/documentation-install-scheduledtask-typo)).
* Fixed: `Carbon_FirewallRule` fails when `Profile` property set to multiple values ([fixes issue #209](https://bitbucket.org/splatteredbits/carbon/issues/209/dsc-carbon_firewallrule-does-not-accept)).
* Fixed: `Install-IisAppPool` can't set .NET framework version to `No Managed Code` ([fixes issue #210](https://bitbucket.org/splatteredbits/carbon/issues/210/install-iisapppool-need-to-be-able-to-set)).
* Fixed: `Get-SslCertificateBinding` fails if the operating system's culture is not `en-US` ([fixes issue #171](https://bitbucket.org/splatteredbits/carbon/issues/171/get-sslcertificatebinding-fails-when-os)).
* Fixed: `Install-ScheduledTask` fails when creating a task that runs during a specific week of the month on Sundays. (You're going to love this: the underlying int value for `[DayOfWeek]::Sunday` is `0`, so when testing if a `DayOfWeek` typed variable set to `Sunday` has a value, it returns `$false`. This made `Install-ScheduledTask` add the `/D` parameter without a value.

Version History

Version Downloads Last updated
2.6.0 5,343,264 7/8/2018
2.5.4 206,473 6/2/2018
2.5.3 1,279 6/1/2018
2.5.2 164 6/1/2018
2.5.1 184 6/1/2018
2.5.0 822,367 6/18/2017
2.4.1 236,866 2/21/2017
2.4.0 121,894 11/9/2016
2.3.0 (current version) 39,198 9/29/2016
2.2.0 22,111 5/12/2016
2.1.1 1,142 2/25/2016
2.1.0 454 2/9/2016
2.0.1 951 10/20/2015
2.0.0 81 10/11/2015
1.9.0 259 5/7/2015
Show less