Carbon 1.6 is out and is backwards compatible with 1.0 through 1.5.1. It supports PowerShell 2. It contains a few bug fixes and many enhancements.
Bug Fixes
File System
- Remove-Junction doesn’t delete a junction when given a relative path to the junction.
Services
- Install-Service doesn’t properly resolve a service’s path.
Shares
- Fixed Install-SmbShare example to use correct syntax. #111.
Enhancements
Hosts File
- Created Remove-HostsEntry function for removing hostnames from a hosts file.
IIS
- Created Join-IisVirtualPath for joining paths used by the IIS APIs.
- Renamed all IIS
Path
parameters which represented virtual paths toVirtualPath
(with backwards-compatible aliases):- Disable-IisSecurityAuthentication
- Enable-IisDirectoryBrowsing
- Enable-IisSecurityAuthentication
- Enable-IisSsl
- Get-IisApplication
- Get-IisConfigurationSection
- Get-IisHttpHeader
- Get-IisHttpRedirect
- Get-IisMimeMap
- Get-IisSecurityAuthentication
- Set-IisHttpHeader
- Set-IisHttpRedirect
- Set-IisWindowsAuthentication
- Test-IisConfigurationSection
- Test-IisSecurityAuthentication
- Renamed Get-IisWebsite’s
SiteName
parameter toName
(with a backwards-compatible alias). - Renamed all IIS
Name
parameters which represented virtual paths toVirtualPath
(with backwards-compatible aliases): - Renamed all IIS
Path
parameters which represented physical paths toPhysicalPath
(with backwards-compatible aliases):
.NET
- Created Test-DotNet for testing if v2 or v4 of the .NET framework is installed.
Path
- Created Get-PathProvider function for getting a path’s PowerShell provider.
PowerShell
- Updated Invoke-PowerShell to test if the appropriate .NET framework is installed if the user chooses an explicit runtime to use.
Security
- Created Test-Permission function for checking if a user/group has a set of permissions and, optionally, a set of inheritance and propagation flags on a file, directory, or registry key.
- Test-Permission now automatically includes the
Synchronize
permission when checking for exact permissions, since this permission is always on and can never be removed from a file/directory.
Services
- Install-Service no longer requires a password, in order to support managed service accounts and virtual accounts. We have no idea if this works, since we can’t test locally. Please let us know if this fix works for you. #114
Users and Groups
- Updated Install-User to support passwords longer than 14 characters. Thanks to James Crowley for the fix.
Windows Features
- Marked Assert-WindowsFeatureFunctionsSupported as an internal function. Please don’t use. It will be removed from future versions of PowerShell.
- Updated Test-WindowsFeature to work on Windows 8/2012.
- Created new
Carbon.Identity
class for representing identities. It also contains a staticFindByName
method which uses The WindowsLookupAccountName
function to find full account names, domains, and sids. - Updated Test-Identity to use
[Carbon.Identity]::FindByName
to find identities so it no longer throws exceptions when an identity can’t be found. - Updated Resolve-IdentityName to use
[Carbon.Identity]::FindByName
to find identities so it no longer throws exceptions when an identity can’t be found.