Carbon is a DevOps PowerShell module for automating the configuration of Windows 2008, Windows 2008 R2, 7, 2012, and 2012 R2 computers. Carbon can configure and manage:

And much more!

System Requirements

Carbon's automated test suite runs in the following environment:

But it should support PowerShell 2 and 3 running under .NET 3.5/4/4.5 on Windows Server 2008/2008 R2/2012/2012 R2 and Windows 7/8/8.1


  1. Download the latest release.

  2. Unblock the .zip file (right-click it, choose "Properties", click "Unblock", then click "OK").

  3. Unzip the Carbon module anywhere on your file system. Import the module by running the script:

    > & 'Path\To\Carbon\Directory\Import-Carbon.ps1' 

    Replace Path\To\Carbon\Directory with the actual path where you unzipped Carbon.

    If you don't want to worry about remembering/finding the path to Carbon, put the Carbon directory into one of the following directories:

    Join-Path -Path $PSHOME -ChildPath Modules
    Join-Path -Path $env:USERPROFILE -ChildPath Documents\WindowsPowerShell\Modules

    Then, you can simply

    > Import-Module Carbon 


If importing Carbon in a script, we recommend always using relative paths to create a full path to Import-Carbon.ps1. This makes your scripts portable. You can get the directory in which the current script is executing, and use that to get the path to Carbon, like this:

# You only need this line for PowerShell 2:
$PSScriptRoot = Split-Path -Parent $MyInvocation.MyCommand.Definition
& (Join-Path -Path $PSScriptRoot -ChildPath ..\Tools\Carbon\Import-Carbon.ps1 -Resolve) 

To get a list of all commands imported by Carbon:

> Get-Command -Module 'Carbon'

Help and Support

Remember, Carbon is open-source software. The Carbon users and developers are volunteering to help you. Please respect their time and assistance.


Carbon has a mailing list: You don't need to subscribe to ask questions, but you do need to subscribe to be part of the community and answer questions. Subscribe to the list.


Carbon has a Gitter chat room you can use to ask questions and get help. The project owner/maintainer usually hangs out there during business hours, Monday through Friday. He's in the Pacific time zone. You'll need a GitHub account to login and ask questions.


If you've found a bug or want to request an enhancement, create an issue on the project's Bitbucket site.