KeyStorageFlags
parameter to Get-Certificate when loading a certificate from a file for better control when storing the certificate.Import-Carbon
fails when -WhatIf
switch is used.PATH
environment variable contains a path to a non-existent drive (issue #134).hkcr:
drive.Write-Verbose
instead of Write-Host
. See Write-Host Considered Harmful.
X509Certificate2
object instead of just a path to a certificate.StoreName
to X509Store
objects to return the store's System.Security.Cryptography.X509Certificates.StoreName
value.X509Store
objects. PowerShell's default view is a list, so you'll have to explicitly format the objects as a table, e.g. dir cert:\LocalMachine | Format-Table
.Path
parameter now supports wildcards and certificate provider paths, e.g. cert:\
.Programs and Features
UI.Credential
parameter.makecert.exe
and pkv2pfx.exe
. Requires that you've installed a Windows SDK.Name
and LiteralName
parameters to Get-FirewallRule to return specific rules instead of all of them.Carbon.Firewall.Rule
objects, instead of anonymous hashes.netsh advfirewall firewall rule show
had a verbose
switch? RTFM.System.Security.AccessControl.InheritanceFlags
and System.Security.AccessControl.PropagationFlag
values into a Carbon.Security.ContainerInheritanceFlags
value.System.ServiceController.Service
:
PATH
environment variable contains an empty path.DisplayName
on X509Store
objects returning wrong store name for custom stores, now returns an empty string.Carbon.Identity.FindByName
method and the Resolve-IdentityName and Test-Identity functions now handle identity names with .
for the domain/machine name, e.g. .\Administrator
.Carbon.Identity.FullName
property returns the wrong value when domain is empty/null, e.g. Resolve-IdentityName -Name 'Everyone'
returns \Everyone
, when it should return Everyone
.Carbon.Identity.FindByName
method and the Resolve-IdentityName and Test-Identity functions unable to resolve LocalSystem
account (which is actually NT AUTHORITY\SYSTEM
).There is now a Carbon support mailing list.
-WhatIf
switch.-Verbose
switch because I think the verbose output is too verbose and not helpful at all.Prefix
parameter) to avoid name collisions and follow best practices.$false
when testing leaf-level permissions and the ApplyTo
parameter is provided, i.e. it doesn't ignore inheritance/propagation flags on leaves.Path
parameters which represented virtual paths to VirtualPath
(with backwards-compatible aliases):
SiteName
parameter to Name
(with a backwards-compatible alias).Name
parameters which represented virtual paths to VirtualPath
(with backwards-compatible aliases):
Path
parameters which represented physical paths to PhysicalPath
(with backwards-compatible aliases):
Synchronize
permission when checking for exact permissions, since this permission is always on and can never be removed from a file/directory.Carbon.Identity
class for representing identities. It also contains a static FindByName
method which uses The Windows LookupAccountName
function to find full account names, domains, and sids. [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.
-Runtime 'v2.0'
.PhysicalPath
script property, so you don't have to traverse down into the default application's default virtual directory object to get it.Microsoft.Web.Administration.Application
objects for all or specific applications under a website.Microsoft.Web.Administration
API instead of appcmd.exe
.ExecutionPolicy
parameter to Invoke-PowerShell to allow setting a custom exeuction policy when using Invoke-PowerShell to run a script.OutputFormat
argument to Invoke-PowerShell so your scripts/script blocks can return XML results instead of plain text.Args
parameter to ArgumentList
(with backwards compatibile Args
alias).Command
parameter to ScriptBlock
(with backwards-compatible Command
alias).ProviderName
parameter to Set-DotNetConnectionString for setting a connection string's providerName
attribute/value.CommitChanges
method so you can persist modifications you make to the site.SiteName
is given.Description
parameter is now optional.$CarbonImported
. Carbon no longer exports any of its variables.SeBatchLogonRight
. Install-IisAppPool now grants this privilege on all operating systems. If this won't work in your environment, you can remove these privileges with Revoke-Privilege.Import-Carbon.ps1
script to import Carbon regardless of the name of the directory Carbon is installed in.IssuedTo
and IssuedBy
properties to X509Certificate2 objects. The values match what the Certificates MMC snap-in displays.DisplayName
property to X509Store objects, to show the names of the stores as they are displayed in the Certificates MMC snap-in.net.exe
command/application. Updated all functions that call net.exe
to use this function to resolve its path. Thanks to Paul Aage Aasheim for discovering that when running login scripts, net.exe
isn't in the path.SeBatchLogonRight
.Username
parameter doesn't exist).net.exe
when running as part of a Windows logon script. Thanks to Paul Aage Aasheim for identifying and reporting this bug. All usages of the net.exe
application were updated to use the new Resolve-NetPath function, which get the path to net.exe
without assuming it is in the user's PATH
environment variable.$env:COMPUTERNAME\Username
.Quiet
parameter from calls to the Import-Carbon.ps1
script.Import-*.ps1
script for your module which imports Carbon before importing your own module. Update your scripts to import your module with your fancy new Import-*.ps1
script. See Best Practices for Importing PowerShell Modules for details.Import-Carbon.ps1
script no longer checks if Carbon is a sub-module of another module, so the Quiet
parameter was removed. Please don't nest Carbon in your modules! It will cause havoc.Import-Carbon.ps1
will no longer stop execution if an error occurs during an import (i.e. the $ErrorActionPreference = 'Stop'
line was removed). Test-IisWebsiteExists
alias for Test-IisWebsite, for backwards-compatibility with earlier releases.Unprotect-AclAccessRules
alias for Protect-Acl, for backwards-compatibility with earlier releases.Unprotect-AclAccessRules
to Protect-Acl to v0.5.0.0 section of release notes.Dependencies
parameter to Dependency
(with backwards-compatible alias), to follow PowerShell naming standards.FullName
parameter.Dependency
parameter doesn't have a value. Sometimes.Format-ADSpecialCharacters
to Format-ADSearchFilterValue, with backwards-compatible alias.Get-SslCertificateBindings
to Get-SslCertificateBinding, with backwards-compatible alias.Remove-Certificate
alias for Uninstall-Certificate, for backwards-compatibility with earlier releases.Get-ComPermissions
to Get-ComPermission, with backwards-compatible alias.Grant-ComPermissions
to Grant-ComPermission, with backwards-compatible alias.Revoke-ComPermissions
to Revoke-ComPermission, with backwards-compatible alias.Get-FirewallRules
to Get-FirewallRule, with backwards-compatible alias.Add-IisServerManagerMembers
to Add-IisServerManagerMembers, with backwards-compatible alias.StatusCode
alias for Set-IisHttpRedirect's HttpResponseStatus
parameter, for backwards-compatibility with earlier releases.Test-IisAppPoolExists
alias for Test-IisAppPool, for backwards-compatibility with earlier releases.Remove-IisWebsite
alias for Uninstall-IisWebsite, for backwards-compatibility with earlier releases.Enable-IEActivationPermissions
to Enable-IEActivationPermission, with backwards-compatible alias.Grant-MsmqMessageQueuePermissions
to Grant-MsmqMessageQueuePermission, with backwards-compatible alias.Remove-MsmqMessageQueue
alias for Uninstall-MsmqMessageQueue, for backwards-compatibility with earlier releases.ConvertTo-FullPath
alias for Resolve-FullPath, for backwards-compatibility with earlier releases.Get-PathCanonicalCase
alias for Resolve-PathCase, for backwards-compatibility with earlier releases.Get-PerformanceCounters
to Get-PerformanceCounter, with backwards-compatible alias.Add-TrustedHosts
to Add-TrustedHost, with backwards-compatible alias.Add-TrustedHost
's Entries
parameter to Entry
, with backwards-compatible alias.Clear-TrustedHosts
to Clear-TrustedHost, with backwards-compatible alias. Complete-Jobs
to Complete-Job, with backwards-compatible alias.Complete-Job
's Jobs
parameter to Job
, with backwards-compatible alias.Get-TrustedHosts
to Get-TrustedHost, with backwards-compatible alias.Set-TrustedHosts
to Set-TrustedHost, with backwards-compatible alias.Set-TrustedHost
's Entries
parameter to Entry
, with backwards-compatible alias.Assert-AdminPrivileges
to Assert-AdminPrivilege, with backwards-compatible alias.ConvertTo-InheritanceFlags
to ConvertTo-InheritanceFlag, with backwards-compatible alias.ConvertTo-InheritanceFlag
's ContainerInheritanceFlags
parameter to ConvertTo-InheritanceFlag
, with backwards-compatible alias.ConvertTo-PropagationFlags
to ConvertTo-PropagationFlag, with backwards-compatible alias.ConvertTo-PropagationFlag
's ContainerInheritanceFlags
parameter to ConvertTo-InheritanceFlag
, with backwards-compatible alias.Get-Permissions
to Get-Permission, with backwards-compatible alias.Grant-Permissions
to Grant-Permission, with backwards-compatible alias.Grant-Permission
's Permissions
parameter to Permission
, with backwards-compatible alias.Test-AdminPrivileges
to Test-AdminPrivilege, with backwards-compatible alias.Get-ServicePermissions
to Get-ServicePermission, with backwards-compatible alias.Remove-Service
alias for Uninstall-Service, for backwards-compatibility with earlier releases.Add-GroupMembers
to Add-GroupMember, with backwards-compatible alias.Add-GroupMember
's Members
parameter to Member
.Remove-User
alias for Uninstall-User, for backwards-compatibility with earlier releases.Install-WindowsFeatures
alias for Install-WindowsFeature, for backwards-compatibility with earlier releases.Features
alias for Install-WindowsFeature's Name
parameter, for backwards-compatibility with earlier releases.Uninstall-WindowsFeatures
alias for Uninstall-WindowsFeature, for backwards-compatibility with earlier releases.Features
alias for Uninstall-WindowsFeature's Name
parameter, for backwards-compatibility with earlier releases.This release contains many backwards incompatible changes. We apologize for this inconvenience. We are making these changes so we can get ready for the v1.0 release. One of our goals for v1.0 is to get the functions and their interfaces internally consistent and consistent with PowerShell naming schemes. Once v1.0 is out the door, backwards-incompatible changes will be phased in as much as possible.
Take the following steps to get your scripts to work with this release.
Replaces usages of:
Get-SslCertificateBindings
with Get-SslCertificateBinding
Get-SslCertificateBinding -IPPort '0.0.0.0:443'
with Get-SslCertificateBinding
Get-SslCertificateBinding -IPPort '10.1.1.1:8001
with Get-SslCertificateBinding -IPAddress '10.1.1.1' -Port 8001
Test-SslCertificateBinding -IPPort '0.0.0.0:443
with Test-SslCertificateBinding
Test-SslCertificateBinding -IPPort '10.1.1.1:8001
with Test-SslCertificateBinding -IPAddress '10.1.1.1' -Port 8001
Set-SslCertificateBinding -IPPort '0.0.0.0:443
with Set-SslCertificateBinding
Set-SslCertificateBinding -IPort '1.2.3.4:8001' with
Set-SslCertificateBinding -IPAddress '1.2.3.4' -Port 8001Remove-SslCertificateBinding -IPPort '0.0.0.0:443
with Remove-SslCertificateBinding
Remove-SslCertificateBinding -IPPort '10.1.1.1:8001
with Remove-SslCertificateBinding -IPAddress '10.1.1.1' -Port 8001
Replace usages of
Set-EnvironmentVariable -Scope 'Process'
with Set-EnvironmentVariable -ForProcess
Set-EnvironmentVariable -Scope 'User'
with Set-EnvironmentVariable -ForUser
Set-EnvironmentVariable -Scope 'ForComputer'
with Set-EnvironmentVariable -ForComputer
Remove-EnvironmentVariable -Scope 'Process'
with Remove-EnvironmentVariable -ForProcess
Remove-EnvironmentVariable -Scope 'User'
with Remove-EnvironmentVariable -ForUser
Remove-EnvironmentVariable -Scope 'ForComputer'
with Remove-EnvironmentVariable -ForComputer
Protect-String -Scope CurrentUser
with Protect-String -ForUser
Protect-String -Scope LocalMachine
with Protect-String -ForComputer
StatusCode
property on the object returned by Get-IisHttpRedirect to HttpResponseStatus
. Update usages accordingly.Bindings
property returned by Get-IisWebsite
is now a collection of Microsoft.Web.Administration.Binding
objects. Update usages of $site.Bindings[$idx].IPAddress
and $site.Bindings[$idx].Port
to $site.Bindings[$idx].Endpoint.Address
and $site.Bindings[$idx].Endpoint.Port
, respectively.Replace usages of:
Set-IisAnonymousAuthentication
with Enable-IisSecurityAuthentication -Anonymous
Set-IisAnonymousAuthentication -Disabled
with Disable-IisSecurityAuthentication -Anonymous
Set-IisBasicAuthentication
with Enable-IisSecurityAuthentication -Basic
Set-IisBasicAuthentication -Disabled
with Disable-IisSecurityAuthentication -Basic
Set-IisWindowsAuthentication
with Enable-IisSecurityAuthentication -Windows
and Set-IisWindowsAuthentication -DisableKernelMode
Set-IisWindowsAuthentication -UseKernelMode
with Set-IisWindowsAuthentication
Set-IisWindowsAuthentication -Disabled
with Disable-IisSecurityAuthentication -Windows
Unlock-IisConfigSection -Name <string>
with Unlock-IisConfigurationSection -SectionPath <string>
(run appcmd.exe lock config -section:?
for values to the new SectionPath
parameter)Unlock-IisBasicAuthentication
with Unlock-IisConfigurationSection -SectionPath 'system.webServer/security/authentication/basicAuthentication'
Unlock-IisCgi
with Unlock-IisConfigurationSection -SectionPath 'system.webServer/cgi'
Unlock-IisWindowsAuthentication
with Unlock-IisConfigurationSection -SectionPath 'system.webServer/security/authentication/windowsAuthentication'
Replace usages of:
Split-Ini -Path <string>
with Split-Ini -Path <string> -AsHashtable
(hashtable is no longer returned by default)Split-Ini -Path <string> -PassThru
with Split-Ini -Path <string>
(per-line objects are now returned by default)Replace usages of
Get-PathRelativeTo -To <string> -From <string>'
with Resolve-RelativePath -Path <string> -FromDirectory <string>
Get-PathRelativeTo -To <string> -From <string> -FromType 'File'
with Resolve-RelativePath -Path <string> -FromFile <string>
null
and a single object, respectively. Update usages accordingly.null
. Update usages accordingly.True
or False
if the user doesn't have admin privileges. It also no longer throws an exception, but writes an error. If you want to preserve current behavior where it stops script execution, replace usages with Assert-AdminPrivileges -ErrorAction Stop
.Replace usages of:
Install-Share -Permissions '"ShareAdmins,FULL"','"ShareWriters,CHANGE"','"ShareReaders,READ"'
with Install-SmbShare -FullAccess ShareAdmins -ChangeAccess ShareWriters -ReadAccess ShareReaders
.Replace usages of:
Test-WindowsFeature
with Test-WindowsFeature -Installed
Install-WindowsFeatureIis
with Install-WindowsFeature -Iis
Install-WindowsFeatureIis -HttpRedirection
with Install-WindowsFeature -Iis -IisHttpRedirection
Install-WindowsFeatureMsmq
with Install-WindowsFeature -Msmq
Install-WindowsFeatureMsmq -HttpSupport
with Install-WindowsFeature -Msmq -MsmqHttpSupport
Install-WindowsFeatureMsmq -ActiveDirectoryIntegration
with Install-WindowsFeature -MsmqActiveDirectoryIntegration
Microsoft.Web.Administration.AppPool
object for an application pool.Get-SslCertificateBinding
into Get-SslCertificateBindings. Can now filter by IPAddress
and/or Port
.Carbon.Certificates.SslCertificateBinding
objects. All information displayed by the netsh http show sslcert
command is returned as part of those objects.IPAddress
and Port
separately, instead of requiring both. The old IPPort
parameter is replaced with IPAddress
and Port
parameters.IPAddress
and Port
separately, instead of requiring both. The old IPPort
parameter is replaced with IPAddress
and Port
parameters. IPPort
parameter on Get-SslCertificateBinding
with separate IPAddress
and Port
parameters on Get-SslCertificateBindings. Set IPAddress
only if you want to bind to a specific IP address (i.e. not 0.0.0.0). Set Port
if not binding to port 443.IPPort
parameter on Remove-SslCertificateBinding with separate IPAddress
and Port
parameters. Set IPAddress
only if you want to remove a binding for a specific IP address (i.e. not 0.0.0.0). Set Port
if the binding is not on port 443.Remove-Certificate
to Uninstall-Certificate (added backwards-compatible alias in v0.5.0.1).Scope
parameter on Set-EnvironmentVariable and Remove-EnvironmentVariable with scope-specific ForProcess
, ForUser
, and ForComputer
switches.Scope
parameteter with the ForUser
or ForComputer
scope-specific switches.Carbon.Ini.IniNode
objects instead of hashtables.PassThru
switch is no longer needed for this behaviro). This makes it more PowerShell-y. The old behavior of returning a Hashtable
is available be using the new AsHashtable
switch.Set-IisAnonymousAuthentication
with Enable-IisSecurityAuthentication and Disable-IisSecurityAuthentication.Set-IisBasicAuthentication
with Enable-IisSecurityAuthentication and Disable-IisSecurityAuthentication.DisableKernelMode
switch.Unlock-IisConfigSection
to Unlock-IisConfigurationSection.Name
parameter and replaced it with SectionPath
, which takes a list of full path to the configuration section(s) to unlock.Unlock-IisBasicAuthentication
in favor of Unlock-IisConfigurationSection -SectionPath 'system.webServer/security/authentication/basicAuthentication'
.Unlock-IisCgi
in favor of Unlock-IisConfigurationSection -SectionPath 'system.webServer/cgi'
.Unlock-IisWindowsAuthentication
in favor of Unlock-IisConfigurationSection -SectionPath 'system.webServer/security/authentication/windowsAuthentication'
.Remove-Service
to Uninstall-Service (added backwards-compatible alias in v0.5.0.1).ReadAndExecute
file system permissions on the service executable to the service identity instead of FullControl
.WhatIf
support.Test-IisAppPoolExists
to Test-IisAppPool (added backwards-compatible alias in v0.5.0.1).Remove-IisWebsite
with Uninstall-IisWebsite (added backwards-compatible alias in v0.5.0.1).ServiceAccount
parameter isn't given.Carbon.Iis.HttpRedirectConfigurationSection
object. The StatusCode
property on the old object is now named HttpResponseStatus
.StatusCode
parameter on Set-IisHttpRedirect to HttpResponseStatus
(added backwards-compatible alias in v0.5.0.1).Microsoft.Web.Administration.Site
object.Remove-MsmqMessageQueue
to Uninstall-MsmqMessageQueue (added backwards compatible alias in v0.5.0.1).Get-PathRelativeTo
to Resolve-RelativePath. Renamed its To
parameter to Path
, and moved it to position 0. Replaced/combined the From
and FromType
parameters with FromDirectory
and FromFile
parameters.ConvertTo-FullPath
to Resolve-FullPath (added backwards-compatible alias in v0.5.0.1). Added support for converting unrooted paths using the current location.Get-PathCanonicalCase
with Resolve-PathCase (added backwards-compatible alias in v0.5.0.1). Added support for piping in Get-Item
and Get-ChildItem
output, e.g. Get-Item C:\WINDOWS | Resolve-PathCase
returns C:\Windows.null
or a single object instead of an empty/single element array when there are no or one performance counters. null
if there are no trusted hosts. (It used to return an empty array.) False
. It returns True
if the user has privileges.Unprotect-AclAccessRules
to Protect-Acl (added backwards-compatible alias in v1.0.0).Permissions
parameter on Install-SmbShare with FullAccess
, ChangeAccess
, and ReadAccess
parameters. Previously, to set share permissions, you passed in specially-formatted values to the Permission
parameter, e.g. "MyGroup,FULL","MyOtherGroup,READ"
. Now, just pass a list of identity name(s) to the FullAccess
, ChangeAccess
, or ReadAccess
parameters to grant those identies full, change, or read access, e.g. -FullAccess MyGroup -ReadAccess MyOtherGroup
.Remove-User
to Uninstall-User (added backwards-compatible alias in v0.5.0.1).Installed
switch to detect if a feature exists and if it is installed.Install-WindowsFeatures
to Install-WindowsFeature (added backwards-compatible alias in v0.5.0.1).Features
parameter to Name
(added backwards-compatible alias in v0.5.0.1).Install-WindowsFeatureIis
and replaced with Iis
and IisHttpRedirection
switches on Install-WindowsFeature.Install-WindowsFeatureMsmq
and replaced with Msmq
, MsmqHttpSupport
, and MsmqActiveDirectoryIntegration
switches on Install-WindowsFeature.Uninstall-WindowsFeatures
to Uninstall-WindowsFeature (added backwards-compatible alias in v0.5.0.1).Features
parameter to Name
(added backwards-compatible alias in v0.5.0.1).Iis
, IisHttpRedirection
, Msmq
, MsmqHttpSupport
, and HttpActiveDirectoryIntegration
switches to Uninstall-WindowsFeature.Write-Error
.Start-Service
yourself. Install-Service
only starts services whose startup type is set to Automatic
(which is the default).subinacl.exe
program. We didn't have permission to distribute. Plus its no longer supported. If any of your scripts used Invoke-SubInAcl
, you'll want to download subinacl.exe
yourself and copy Invoke-SubInAcl
before upgrading (you can find it in the Carbon directory in the Services.ps1
file.Grant-Permission
without named parameters, the Path
parameter moved from position 3 to position 1. Re-order your parameters accordingly.Set-IisDirectoryBrowsing
to Enable-IisDirectoryBrowsing
. If you use named parameters, rename its Directory
paremter to Path
.Set-HgrcDefaultPushUrl
with Set-IniEntry
instead, e.g. Set-IniEntry -Path 'Path\to\repo\.hg\hgrc' -Section paths -Name 'default.push' -Value 'DefaultPushUrl'
Get-FullPath
with ConvertTo-FullPath
.SeServiceLogonRight
privilege. This replaces usage of Microsoft's legacy ntrights.exe, which we probably didn't have permission to distribute.Invoke-SubInAcl
function and the subinacl.exe
program. Use the Grant-ServicePermission and Revoke-ServicePermission functions instead. If you still need subinacl.exe
, please download it from Microsoft. ApplyTo
parameter, which should be a value of the new Carbon.Security.ContainerInheritanceFlags
enumeration, which encapsualtes all the valid combinations of inheritance/propagation flags. See the help for Grant-Permissions
for more information. Thanks to Jonathan Valdez for the feature request and initial code.Carbon.Security.ContainerInheritanceFlags
to the necessary/applicable System.Security.AccessControl.InheritanceFlags
.Carbon.Security.ContainerInheritanceFlags
to the necessary/applicable System.Security.AccessControl.PropagationFlags
.Set-IisDirectoryBrowsing
to Enable-IisDirectoryBrowsing and renamed its Directory
parameter to Path
.Set-HgrcDefaultPushUrl
. Use Set-IniEntry instead.Test-IisWebsiteExists
to Test-IisWebsite to adhere to PowerShell naming conventions (added backwards-compatible alias in v1.0.0).Get-FullPath
to ConvertTo-FullPath to adhere to PowerShell naming conventions.StartupType
is set to Manual
or Disabled
.Path
is now the first parameter to Grant-Permissions (it was the third) to match PowerShell standards/patterns.Carbon\Carbon.psd1
, or, if Carbon is imported in your console, running Get-Module Carbon | Select-Object Version
.My Computer
, select Properties
, click the COM Security
tab then click the Edit Default..
or Edit Limits...
buttons under Access Permissions or Launch and Activation Permissions, respectively.Administrators
into BUILTIN\Administrators
.Quiet
parameter to Set-RegistryKeyValue so that Write-Host
output is muffled.This release contains backwards-incompatible changes to the following functions:
This function was renamed to Enable-IisSsl
. Its Enable128BitSsl
parameter was renamed to Require128BitSsl
.
Configuring client certificates is now a little stricter/clearer. You can no longer specify both AcceptClientCertificates
and RequireClientCertificates
. Also, if you specify RequireClientCertificates
, you must now also supply the RequireSsl
switch (before, setting the RequireClientCertificates
switch implicitly set the RequireSsl
switch).
Make sure you're not calling Set-TrustedHosts
with an empty array/value for the Entries
parameter. The function now throw an error in that situation. If you need to clear the list of trusted hosts, use Clear-TrustedHosts
.
If you call Invoke-PowerShell
without the x86
switch and PowerShell is 32-bit, you'll get an error. Under Windows x64, 32-bit PowerShell can't start the 64-bit instance because Windows redirects all access from C:\Windows\system32 to C:\Windows\SysWOW64. If anyone knows how to get around this, let me know!
Set-IisSslFlags
to Enable-IisSsl
to better reflect what it does. Also, created parameter sets around client certificate settings so you can't configure them incorrectly. (Fixes #25: Set-IisSslFlags: Create parameter sets to accurately reflect what flags are allowed to be set simultaneously.)WhatIf
support to Install-MsmqMessageQueue.Enable128BitSsl
parameter to Require128BitSsl
] (Fix #24 Set-IisSslFlags: Rename the Enable128BitSsl parameter to Require128BitSsl).Entries
parameter is now required. To clear the trusted hosts list, use Clear-TrustedHosts
.Clear
parameter to the Grant-Permissions function for clearing any non-inherited permissions on a file system/registry item.