PowerShell

The PowerShell forum accepts bug reports as well as feedback and suggestions. For more information, check out the PowerShell Homepage

The following is a list of the states we use to track items.

status meaning
survey We saw this and we are considering it. Please upvote if it’s important to you.
needs more information We don’t understand the issue and need additional details.
investigating We are looking at this internally to understand things like: scenario, reproduction of issue, costing, or other technical details.
in queue The issue is understood and in our unprioritized backlog. Your votes will be used to drive prioritization of this work.
  • Hot ideas
  • Top ideas
  • New ideas
  • My feedback
  1. why can't I use a http-based "Path" in the Archive Resource ?

    When I use the Archive Resource it appeares to be restricted to SMB or UNC Path's.

    I would like to configure a http based sourcepath.

    1 vote
    Sign in
    (thinking…)
    Sign in with: Facebook Google
    Signed in as (Sign out)

    We’ll send you updates on this idea

    survey  ·  0 comments  ·  Desired State Configuration (DSC)  ·  Flag idea as inappropriate…  ·  Admin →
  2. Add PowerShell accelerator for SuppressMessageAttribute

    Filed by rkeithhill on GitHub: https://github.com/PowerShell/PSScriptAnalyzer/issues/514

    "It is well within the norm for PowerShell to define accelerators for common types to make it easier for PowerShell scripters to specify an attribute like ValidateSet or ValidateNotNull and not have to remember the full typename System.Management.Automation.ValidateSetAttribute.

    Ditto for System.Diagnostics.CodeAnalysis.SuppressMessageAttribute. Please consider asking the PowerShell team to add the accelerator SuppressMessage for this type. It will make PowerShell scripts that need to use this attribute easier to write and read."

    1 vote
    Sign in
    (thinking…)
    Sign in with: Facebook Google
    Signed in as (Sign out)

    We’ll send you updates on this idea

    0 comments  ·  PowerShell Engine  ·  Flag idea as inappropriate…  ·  Admin →

    From the GitHub Issue:

    “I agree that it might be useful super forward-looking, but today this will only help in the case where:

    You’re running PS 5.1+, the module you’re running is using a SuppressMessageAttribute, and you don’t have Script Analyzer installed
    Given all that, this is firmly within the realm of “nice to have” for me, and I’m not sure anything nice to have can make it in PS 5.1 right now. I’m going to place it on UserVoice, though, as something we might want to do in the future for PowerShell."

  3. Allow use "*" as PartialConfiguration property value in LCM

    Currently if we want to add another partial configuration, we have to reconfigure LCM on local machine to target new config.

    If LCM could use "*" (asterisk) as PartialConfiguration property value, then LCM reconfuguration wouldn't be necessary every time when new config was added.

    How it could work from my perspective:

    When LCM was reconfigured to pull every configuration (via asterisk as value) then it connect to PullSrv and pull every mof configuration with his own GUID like *.guid.mof.

    2 votes
    Sign in
    (thinking…)
    Sign in with: Facebook Google
    Signed in as (Sign out)

    We’ll send you updates on this idea

    survey  ·  0 comments  ·  Desired State Configuration (DSC)  ·  Flag idea as inappropriate…  ·  Admin →
  4. Change the way ConfigurationNames works to accomodate easy management and software provisioning

    TL&DR - Make ConfigurationNames accept multiple values and Accept changes to the values of ConfigurationNames in a Live manner and not just for the initital regisration of the node.

    Today ConfiguratioNames is used on the initial regsitration of the node. Althugh it can accept an array, it wont work with more then one value and issue errors. That value is basically the name of the mof file on the pull server. This allows for friendly names of mof files while still maintaining uniqness of the nodes for reporting purposes that wasnt available in ps v4 using the same GUID.

    Everytime…

    1 vote
    Sign in
    (thinking…)
    Sign in with: Facebook Google
    Signed in as (Sign out)

    We’ll send you updates on this idea

    survey  ·  0 comments  ·  Desired State Configuration (DSC)  ·  Flag idea as inappropriate…  ·  Admin →
  5. PowerShellGet module should be open-sourced

    I would like to contribute to PowerShellGet module, but there is no place where I could create an issue or send a "pull request" other than uservoice.
    Since this module is pure powershell and it is kind of open source anyway, is it possible to post the code on github, so the community can contribute?

    14 votes
    Sign in
    (thinking…)
    Sign in with: Facebook Google
    Signed in as (Sign out)

    We’ll send you updates on this idea

    1 comment  ·  Package Management  ·  Flag idea as inappropriate…  ·  Admin →
  6. Allow WildCard in PartialConfig name

    When a DSC Client Node gets his config from the DSC Pull Server, allow him to filter the config name with WildCards.

    For exemple the DSC Client named 'Target01' should be able to pull DSC configs named Target01.* (Target01.Apps , Target01.OS,...). So we could publish new DSC Configs without the need of re-configuring the target LCM.

    2 votes
    Sign in
    (thinking…)
    Sign in with: Facebook Google
    Signed in as (Sign out)

    We’ll send you updates on this idea

    2 comments  ·  Desired State Configuration (DSC)  ·  Flag idea as inappropriate…  ·  Admin →
    survey  ·  Mark Gray responded

    I agree that this experience is not the most streamlined. I would really like to understand how you and other customers are using partial configs when in pull mode. For example why do you use partial configurations instead of composite configurations? Are you using WMF 5.0 RTM Pull functionality or WMF 4.0?

  7. Add the ability to selectively include common parameters in module manifest

    Module Manifest include options to selectively export functions, cmdlets alias, and variables; in the same vane it should allow the removal of common parameters for the exported functions / cmdlets. This would allow tool makers to create tools (utilities) which can use the auto-complete capability of powershell to guide end users as to what parameters they must supply on the command line; currently they are offered all the common parameters which does not make for good tool making - it leads to confusion for end users.

    3 votes
    Sign in
    (thinking…)
    Sign in with: Facebook Google
    Signed in as (Sign out)

    We’ll send you updates on this idea

    0 comments  ·  Other PowerShell  ·  Flag idea as inappropriate…  ·  Admin →

    Thank you for the suggestion. Given the number of requests, we cannot field all recommendations, so for now we’ll be monitoring this to see if there is broad support.

  8. Absent Or Stopped for Service DSC Resource

    I am in an environment where sometimes things might get pushed on some machines from other sources. I would like to have a base composite resource that ensures a Service is not running on a machine whether the service is present or not. The service is either Absent or if it is Present it is stopped. Currently, if I just configure "State = 'Stopped'" and do not specify Ensure, then Ensure defaults to present and the configuration fails on machines where the service is absent. In this case, I do not want ensure that it is present or absent just…

    1 vote
    Sign in
    (thinking…)
    Sign in with: Facebook Google
    Signed in as (Sign out)

    We’ll send you updates on this idea

    survey  ·  0 comments  ·  Desired State Configuration (DSC)  ·  Flag idea as inappropriate…  ·  Admin →
  9. Add tar.gz support to Package DSC resource

    It would nice to be able to expand tar.gz packages using DSC

    1 vote
    Sign in
    (thinking…)
    Sign in with: Facebook Google
    Signed in as (Sign out)

    We’ll send you updates on this idea

    survey  ·  1 comment  ·  Desired State Configuration (DSC)  ·  Flag idea as inappropriate…  ·  Admin →
  10. Bug: WMF5 PullServer Configuration still accepts "IsComplianceServer" attribute

    When provisioning a new PullServer using WMF5, the "IsComplianceServer = $true" can still be specified a a valid attribute in the configuration despite the service being replaced by the reporting server role.

    It seems benign, however if this is done the resulting Pull Server will no longer work with ConfigurationNames and only work with ConfigurationID configured nodes. The process generates no errors, nodes will even state that registration of AgentID was successful, but clients will silently receive no files when they query for the appropriate <configurationname>.mof.

    This makes for a very difficult bug to track down if someone were to…

    4 votes
    Sign in
    (thinking…)
    Sign in with: Facebook Google
    Signed in as (Sign out)

    We’ll send you updates on this idea

    0 comments  ·  Desired State Configuration (DSC)  ·  Flag idea as inappropriate…  ·  Admin →
    survey  ·  Mark Gray responded

    Justin,

    Thank you for your feedback! We recognize that this adds confusion to the deployment of the WMF 5.0 pull server and are looking into a solution.

    MarkG

  11. Export -Csv without Quote for numeric fields

    I believe the standard for CSV formats mentions "Any field may be quoted (with double quotes)".
    "May" doesn't mean "must". The following line is compliant with CSV format, but can not be achieved with Export-CSV
    Peugeot,205,2.0,"GTI 2.0"
    Suggestion to have an option to impose double quotes only on specified fields.

    3 votes
    Sign in
    (thinking…)
    Sign in with: Facebook Google
    Signed in as (Sign out)

    We’ll send you updates on this idea

    0 comments  ·  Other PowerShell  ·  Flag idea as inappropriate…  ·  Admin →

    Thank you for your input. Based on its current ranking compared to other feedback items and product schedule, work on this item is pending (and will be driven by) further customer input. If you did not open this issue and are also impacted by it, please vote this item up.

  12. Set ConfigurationMode per PartialConfiguration

    I would be nice to be able to set the ConfigurationMode on a PartialConfiguration. For example I want that my SQL config automatically remediated is, however the Windows OS config just alerts to changes. Similar to a Syntax like below

    [DSCLocalConfigurationManager()]
    configuration MyConfig
    {
    Node localhost
    {

      Settings
    
    {
    RefreshMode = &quot;Pull&quot;
    ConfigurationID = &#39;a5f86baf-f17f-4778-8944-9cc99ec9f992&#39;
    RebootNodeIfNeeded = $true
    }

    ConfigurationRepositoryWeb PullSvc1
    {
    URL = &#39;<a rel="nofollow noreferrer" href="http://pullserver1:8080/OSConfig/PSDSCPullServer.svc&#39">http://pullserver1:8080/OSConfig/PSDSCPullServer.svc&#39</a>;
    AllowUnSecureConnection = $true
    }

    ConfigurationRepositoryWeb PullSvc2
    {
    URL = &#39;<a rel="nofollow noreferrer" href="http://pullserver2:8080/SQLConfig/PSDSCPullServer.svc&#39">http://pullserver2:8080/SQLConfig/PSDSCPullServer.svc&#39</a>;
    AllowUnsecureConnection = $true
    }

    PartialConfiguration OSConfig
    {
    Description = &#39;Configuration for the Base OS&#39;
    ConfigurationSource = &#39;[ConfigurationRepositoryWeb]PullSvc1&#39;
    ConfigurationMode =…

    8 votes
    Sign in
    (thinking…)
    Sign in with: Facebook Google
    Signed in as (Sign out)

    We’ll send you updates on this idea

    survey  ·  1 comment  ·  Desired State Configuration (DSC)  ·  Flag idea as inappropriate…  ·  Admin →
  13. PowerShell ISE - Pane breakout for multi monitor use

    Votes from Connect: 23

    Original Date Submitted: 10/31/2011 9:54:18 PM

    Description:
    Contact Information
    Handle: FuriouS76
    Site Name: PowerShell
    Feedback ID: 698161


    Frequency: Always Happens
    Regression: Yes, this happens in all previous versions

    Problem Description:
    I have tried many of the IDE/ISE options out there and prefer Windows ISE. The one feature I would like to see is the ability to undock or break out each pane across multiple monitors. This would allow users in multi-monitor setups to configure the ISE in an ideal setup that would allow faster coding / debugging.

    Thanks,
    Kirk Hammond.

    Product Studio item created by Connect…

    57 votes
    Sign in
    (thinking…)
    Sign in with: Facebook Google
    Signed in as (Sign out)

    We’ll send you updates on this idea

    5 comments  ·  ISE and tooling  ·  Flag idea as inappropriate…  ·  Admin →

    This is a very difficult thing to implement, it could potentially break many of the add-ons, and could introduce some very confusing UI elements.

    That said, we’re interested to get more ideas from you for how something like this might work. Feel free to post your comments below.

    Thanks,
    Joey

  14. Clean up formatting

    As many of us share and use snippets from other sources, including the Internet, colleagues etc. sometimes their formatting is destroyed in the copy/paste process or is already destroyed due to a change in a website template for example.
    While it's a "nice to have" feature, being able to clean up the formatting (using proper indentation, parentheses spacing etc.) for selected blocks of code would get the code in to a more readable format more quickly.

    While everyone formats their code differently, having a few selctable methods of cleaning up would be beneficial such as:
    -Keep opening parentheses on same…

    8 votes
    Sign in
    (thinking…)
    Sign in with: Facebook Google
    Signed in as (Sign out)

    We’ll send you updates on this idea

    2 comments  ·  ISE and tooling  ·  Flag idea as inappropriate…  ·  Admin →
  15. Accept NuGet Interval Notation for Specifying Version Numbers

    When attempting to load a module by fully qualified module name, PowerShell should allow for a single "ModuleVersion" field that accepts NuGet's interval notation for specifying ranges. This change could be added without breaking change as this spec (in interval notation):

    $fqn = @{ModuleName='BingWallpaper';ModuleVersion='1.0'}

    Tells PowerShell to load any module >= 1.0 which is backwards compatible with how PowerShell would interpret that version string today. But if I wanted to follow semver rules, I could specify:

    $fqn = @{ModuleName='BingWallpaper';ModuleVersion='[1.0,2.0)'}

    Which says load any matching module >= 1.0 but < 2.0.

    The interval notation is quite expressive. See the NuGet docs…

    6 votes
    Sign in
    (thinking…)
    Sign in with: Facebook Google
    Signed in as (Sign out)

    We’ll send you updates on this idea

    2 comments  ·  Microsoft.PowerShell.* Modules  ·  Flag idea as inappropriate…  ·  Admin →

    We understand that this would allow a single-point expression of MinimumVersion and MaximumVersion. However, it’s unclear why changing to that nomenclature going to be a high priority. Additional information, particularly about why the existing functionality is insufficient – would help – thanks!

  16. Write-Progress output is not displayed properly when multiple ISE tabs are open in PowerShell 3.0

    Votes from Connect: 11

    Original Date Submitted: 2/6/2013 3:35:55 AM

    Description:

    Contact Information
    Handle: DougBB
    Site Name: PowerShell
    Feedback ID: 778597


    Frequency: Always Happens
    Regression: No, this is new to the most recent version

    Problem Description:
    Under certain circumstances, when Write-Progress is used in Windows PowerShell ISE and a new tab is opened, the Write-Progress output does not display properly. Closing tabs makes it appear.

    Product Studio item created by Connect Synchronizer due to creation of feedback ID 778597 (http://connect.microsoft.com/PowerShell/feedback/ViewFeedback.aspx?FeedbackID=778597).

    Repro Steps:
    1. Run "powershell_ise.exe -noprofile"
    2. Paste the following code in the script pane:

    $i = 1..100
    
    33 votes
    Sign in
    (thinking…)
    Sign in with: Facebook Google
    Signed in as (Sign out)

    We’ll send you updates on this idea

    7 comments  ·  ISE and tooling  ·  Flag idea as inappropriate…  ·  Admin →
  17. configuration keyword does not work when function drive missing

    Remove-PSDrive function
    configuration c{}

    This produce following error:
    set-item : Cannot find drive. A drive with the name 'function' does not exist.

    It should use provider qualified path 'function::' to work correctly in that case.

    1 vote
    Sign in
    (thinking…)
    Sign in with: Facebook Google
    Signed in as (Sign out)

    We’ll send you updates on this idea

    survey  ·  1 comment  ·  PowerShell Engine  ·  Flag idea as inappropriate…  ·  Admin →
  18. semantic versioning

    Semantic versioning does not work for PSGallery

    Allow new versions of modules to be published according to semantic version.

    Without semantic versioning, it is very difficult to evolve a module in a backwards compatible manner. Sometimes breaking changes are needed to get away from previous bad design decisions, but you still don't want to break existing clients, and wants to be able to provide bug fixes for those.

    That is, allow v1.1 to be published, even if there is a v2.0.

    See http://semver.org/ for details.

    12 votes
    Sign in
    (thinking…)
    Sign in with: Facebook Google
    Signed in as (Sign out)

    We’ll send you updates on this idea

    0 comments  ·  Package Management  ·  Flag idea as inappropriate…  ·  Admin →

    Thanks for the suggestion. This one may be a bit tougher than others. However, your point is clear – there’s no way to rev an older version of a module once you have published a major version due to a breaking change.

  19. Windows PowerShell ISE: Add keyboard shortcuts for finding text in a file

    Votes from Connect: 15

    Original Date Submitted: 6/21/2013 12:37:40 AM

    Description:
    Contact Information
    Handle: deadlydog
    Site Name: PowerShell
    Feedback ID: 790584


    Frequency: Always Happens
    Regression: Yes, this happens in all previous versions

    Problem Description:
    In the PS ISE Script Pane it would be nice if instead of having to use Ctrl+F to pop the Find window, we could just use Ctrl+F3 to search for the currently selected text, F3 to move to the next occurrence, and Shift+F3 to move to the previous occurrence. If no text is selected when Ctrl+F3 is hit, it should find the next occurrence of the…

    14 votes
    Sign in
    (thinking…)
    Sign in with: Facebook Google
    Signed in as (Sign out)

    We’ll send you updates on this idea

    0 comments  ·  ISE and tooling  ·  Flag idea as inappropriate…  ·  Admin →
  20. Using dynamic parameters in a DSC resource

    I just tried to use dynamic parameters in a DSC resource. Unfortunately during testing, DSC prompted me with the following message:
    "The command Test-TargetResource of the PS module MSFTx<RESOURCENAME> does not implement the write property ApplicationPool mentioned in the corresponding MOF schema file C:\Program Files\WindowsPowerShell\Modules&lt;RESOURCENAME>\0.9.0.0\Ds
    cResources\MSFT
    xSPWordAutomationServiceApp\MSFT_<RESOURCENAME>.schema.mof. All write paramenters mentioned in the schema file must be implemented by the command Test-TargetResource."

    So it looks like Dynamic Parameters isn't supported in DSC resource, which is too bad. This forces me to add additional checks in my code.

    Can you please add this support to DSC?

    2 votes
    Sign in
    (thinking…)
    Sign in with: Facebook Google
    Signed in as (Sign out)

    We’ll send you updates on this idea

    1 comment  ·  Desired State Configuration (DSC)  ·  Flag idea as inappropriate…  ·  Admin →
  • Don't see your idea?

Feedback and Knowledge Base