> pshdo

Carbon v1.3 Released

Carbon v1.3 is out, is backwards compatible with v1.0 through v1.2. This release improves PowerShell 3 compatibility, updates Invoke-PowerShell so it can run scripts, and adds ConvertTo-Base64 and ConvertFrom-Base64 functions.

Thanks to Jason Stangroome for the feedback that contributed to the work done in this release.

Get the bits at BitBucket.

Enhancements

PowerShell

  • Invoke-PowerShell now supports running an external script.
  • Added OutputFormat argument to Invoke-PowerShell so your scripts/script blocks can return XML results instead of plain text.
  • Renamed Invoke-PowerShell’s Args parameter to ArgumentList (with backwards compatibile Args alias).
  • Renamed Invoke-PowerShell’s Command parameter to ScriptBlock (with backwards-compatible Command alias).
  • Invoke-PowerShell now runs 64-bit PowerShell from 32-bit PowerShell.
  • Get-PowerShellPath now returns path for 64-bit PowerShell when running 32-bit PowerShell.

Text

Bug Fixes

.NET

Carbon v1.2 Released

Carbon v1.2 is out, is backwards compatible with v1.0 and v1.1 and supports PowerShell 3. (Future releases of Carbon will most likely only support PowerShell 3.) This release features mostly new functionality, including new functions for managing NTFS compression and performing XDT transformations. Thanks to Mark Sargent and Philip Teilmeier for contributing enhancements.

Get the bits at BitBucket.

Enhancements

General

  • Carbon now works under PowerShell v3.0!

Certificates

.NET

File System

IIS

INI

  • Created Remove-IniEntry function for removing entries/settings from an INI file.

Performance Counters

PowerShell

  • Invoke-PowerShell now defaults to running under the current CLR, instead of defaulting to a v2.0 CLR. This makes upgrading to PowerShell v3.0 easier.
  • Invoke-PowerShell now writes an error and returns if running PowerShell v3.0 and you want to run under a v2.0 CLR. Unfortunately, PowerShell v3.0 requires .NET 4.0, so you can’t run anything on an earlier CLR.

Privileges

  • Revoke-Privilege now supports case-insensitive privilege names.
  • Updated Grant-Privilege to better handle when passing a privilege name with the wrong case.
  • Updated Grant-Privilege documentation to make it clear privilege names are case-sensitive.

XML

  • New Convert-XmlFile, for transforming an XML file with Microsoft’s XDT (XML Data Transformation) technology. Thanks to Mark Sargent for the contribution.

Bug Fixes

General

  • Deleted the obsolete variable $CarbonImported. Carbon no longer exports any of its variables.

Certificates

Performance Counters

  • Install-PerformanceCounter couldn’t be used to create counters that used/required a base counter. Thanks to Philip Teilmeier for the contribution.

Desired State Configuration With PowerShell

I recommend finding time to watch Jeffrey Snover and Kenneth Hansen’s Desired State Configuration in Windows Server 2012 R2 PowerShell talk from TechEd 2013. Desired State Configuration is a way of specifying, via new PowerShell language features, how you want a server to get setup and configured. PowerShell then takes that configuration data, and applies it on the server or servers of your choice. It looks like a great piece of technology.

Remember, keep your configuration and your scripts separate.

Serilog

I like the idea behind the new Serilog .NET logging framework: instead of logging strings, you actually log objects. Cool idea. The code is hosted on Github.