Remove-IISConfigCollectionElement -Confirm Parameter Documentation Does Not Match Behavior

Open
#3,898 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Assessment

Difficulty
2/5
Estimated time
1-3 hours
Newbie friendliness
45/100
Issue type
Documentation
Clarity
Mostly clear
Activity status
Stale
Tech stack
powershell
Domain
documentation

Research direction

Open the linked -Confirm parameter page for Remove-IISConfigCollectionElement and compare its Default value wording with the interactive and non-interactive command examples in the issue. Verify the behavior in PowerShell before deciding whether the documentation or the cmdlet specification is wrong; done means the page accurately matches the confirmed behavior.

Written by the indexing model from the issue text.

Description

issue-doc-bug needs-triage
Prerequisites
  • Existing Issue: Search the existing issues for this repository. If there is an issue that fits your needs do not file a new one. Subscribe, react, or comment on that issue instead.
  • Descriptive Title: Write the title for this issue as a short synopsis. If possible, provide context. For example, "Typo in Get-Foo cmdlet" instead of "Typo."
  • Verify Version: If there is a mismatch between documentation and the behavior on your system, ensure that the version you are using is the same as the documentation. Check this box if they match or the issue you are reporting is not version specific.
Links
Summary

The behavior of the Remove-IISConfigCollectionElement's -Confirm parameter does not match the documentation.
The documentation can be interpreted as: in absence of the -Confirm parameter, the Cmdlet will execute without interactive confirmation being required.

In my usage of the Cmdlet, I was required to pass -Confirm:$false to bypass interactive confirmation. This does not match the documentation.

Default value: False

Details

Examples

This snippet calls the Cmdlet without the -Confirm parameter being passed

Remove-IISConfigCollectionElement -ConfigCollection $IISConfigCollection -ConfigAttribute @{ 'name' = $CustomHeader.Name }

Result in interactive mode
Screenshot 2024-11-07 at 2 56 35 PM

Result in non-interactive mode

Remove-IISConfigCollectionElement : Windows PowerShell is in NonInteractive mode. Read and Prompt functionality is not available.

This snippet calls the Cmdlet with the -Confirm parameter being explicitly set to the documentation's default value ("$false")

Remove-IISConfigCollectionElement -ConfigCollection $IISConfigCollection -ConfigAttribute @{ 'name' = $CustomHeader.Name } -Confirm:$false

Result in interactive and non-interactive mode
No errors, and the Cmdlet is successfully executed without a prompt and behaves as expected.

Suggested Fix

Change the default value in the -Confirm parameter's Default value to True or raise an issue with the PowerShell team if the Cmdlet is not behaving per specifications.

Dominant language
Dockerfile
Stars
504
Forks
635
Avg merge
1d 3h
Merged PRs (30d)
8

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from MicrosoftDocs/windows-powershell-docs

All issues in MicrosoftDocs/windows-powershell-docs

Similar issues

More Documentation issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.