> pshdo

Carbon 2.4.0 Released

Carbon 2.4.0 is out. You can download Carbon as a .ZIP archive, NuGet package, Chocolatey package, or from the PowerShell Gallery. It may take a week or two for the package to show up at chocolatey.org.


  • Protect-String can now encrypt a SecureString. The String parameter’s type was changed to [object]. When you pass in a SecureString, it is converted to an array of bytes, encrypted, and the array of bytes are cleared from memory.
  • Renamed Protect-Acl to Disable-AclInheritance to make it clearer what the function does. Created a Protect-Acl alias in place to preserve backwards-compatability.
  • Disable-AclInheritance only disables inheritance if it is currently enabled.
  • Created Enable-AclInheritance to re-enable access rule inheritance on file system and registry ACLs. This function is paired with Disable-AclInheritance.

Bug Fixes

  • Fixed: Get-ProgramInstallInfo fails when a program’s Version registry key value can’t be converted into a Version object.
  • Fixed: Test-Service failed to detect if a device driver service is installed.
  • Fixed: Install-Service fails if a service depends on a device driver. (Note: in our testing, we can’t get a device driver set as a dependency. If you know what the secret sauce is to get this to work with sc.exe (or another means), please let us know.)
  • Fixed: Disable-AclInheritance (ne Protect-Acl) fails when piped a registry key.
  • Fixed: Get-PathProvider fails when passed a fully-qualified registry key PowerShell path, e.g. Microsoft.PowerShell.Core\Registry::HKEY_CURRENT_USER\Software.