Carbon v1.4 is out and is backwards compatible with v1.0 through v1.3. This release adds a few new features and some bug fixes introduced in v1.3.
This will most likely be the last version of Carbon tested and supported on PowerShell 2. We’ll be moving the build server to PowerShell 3 sometime around August 15th, which means that’s the version of PowerShell the automated tests will use. We encourage everyone to upgrade to PowerShell 3 as soon as possible.
Enhancements
File System
- Created Install-Junction function for creating new and/or updating existing junctions. This is a more idempotent way of creating junctions, as opposed to New-Junction and Remove-Junction which report errors if a junction already exists or doesn’t exist, respectively.
IIS
- Objects returned by Get-IisWebsite now have a dynamic
PhysicalPath
script property, so you don’t have to traverse down into the default application’s default virtual directory object to get it. - Install-IisApplication, Install-IisWebsite, and Install-IisVirtualDirectory now canonicalize physical paths, i.e. they convert any path with a relative part (e.g. ‘..’) to a full path. It turns out IIS doesn’t like paths with relative parts.
- Created Get-IisApplication function to get
Microsoft.Web.Administration.Application
objects for all or specific applications under a website. - Install-IisApplication now uses the
Microsoft.Web.Administration
API instead ofappcmd.exe
.
PowerShell
- Added
ExecutionPolicy
parameter to Invoke-PowerShell to allow setting a custom exeuction policy when using Invoke-PowerShell to run a script.
Bug Fixes
IIS
- Install-IisApplication not updating/changing physical path on existing application.
.NET
- Set-DotNetAppSetting and Set-DotNetConnectionString failed if setting .NET configuration under an architecture where the PowerShell execution policy doesn’t allow running scripts.