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. Notification option for authors when publishing to PS Gallery

    When an author publishes an update to their module hosted on the gallery it should provide an option to push a notification to their configured social media accounts.

    So an author configures Twitter and LinkedIn profiles on their account/profile. A configuration option within the module being published should allow for a setting that will push a notification to their social media, on their behalf, announcing a new release of that module.

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

    We’ll send you updates on this idea

    1 comment  ·  PowerShell Gallery  ·  Flag idea as inappropriate…  ·  Admin →
  2. Double DependsOn in mof when using foreach loops

    When using a foreach loop to create a set of resources and trying to set the previous item key as the dependsOn resource, it adds it twice in the mof file.

    Configuration example:
    configuration Test-DependsOnWithLoop {

    param([string[]]$Directories)
    
    Import-DscResource -ModuleName PSDesiredStateConfiguration
    node localhost {
    $dependsOn = $null
    $dirs.ForEach({
    $res = $_ -replace '\\|:', '_'
    File $res {
    Ensure = 'Present'
    DestinationPath = $_
    DependsOn = $dependsOn
    Type = 'Directory'
    }
    $dependsOn = "[File]$res"
    })
    }

    }

    $dirs = 1..10 | % { "C:\Temp_$_" }
    Test-DependsOnWithLoop -Directories $dirs

    And if you look at the localhost.mof you'll see:
    DependsOn = { "[File]CTemp

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

    We’ll send you updates on this idea

    In Queue  ·  0 comments  ·  Desired State Configuration (DSC)  ·  Flag idea as inappropriate…  ·  Admin →
  3. BUG: GetMetaConfiguration should validate property values against allowed values of MSFT_DSCMetaConfiguration CIM Properties

    Once a node meta configuration is enacted, it is easy for an administrator or process (with malicious intent) to modify the MetaConfig.mof file in C:\Windows\System32\Configuration directory. The GetMetaConfiguration method in MSFT_DscMetaConfiguration class does not validate the property values against the allowed values of the CIM properties.

    Steps to reproduce this behavior:
    - Enact a simple meta configuration and enact it.
    - Open the MetaConfig.MOF file in your favorite editor and change the value of ConfigurationMode to some random text.
    - Save the file and close it.
    - Run Get-DscLocalConfigurationManager.
    - You will see the random value assigned to ConfigurationMode in…

    1 vote
    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 →
    In Queue  ·  Mark Gray responded

    Ravikanth,

    We have validated this issue and created two bugs for it.

    1. We will validate the MOF when it is passed in as part of our API (i.e. Set-DscLocalConfigurationManager) and error if the values are not valid.
    2. We will write a warning when Get-DscLocalConfigurationManager reads a MOF that has invalid values and at LCM startup. The resultant behavior will behave like it does today where invalid values will be read as the default value by the LCM.

    Please let us know if this meets your expectations.

    Regards,

    MarkG

  4. Powershell on Raspberry pi

    add Powershell support for Raspberry Pi devices running Raspbian OS

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

    We’ll send you updates on this idea

    2 comments  ·  PowerShell Engine  ·  Flag idea as inappropriate…  ·  Admin →
  5. The description attached to the parameters -Delimiter -Encoding -Raw -Stream -Wait (This parameter is not supported by any providers that ar

    This comment pertains to the help entry for Get-Content (https://msdn.microsoft.com/en-us/powershell/reference/5.0/microsoft.powershell.management/get-content) I Tried to enter the feedback into the actual page but my browser reloaded the page and lost the floating feedback link. Perhaps it was already submitted.

    The description attached to the parameters
    -Delimiter
    -Encoding
    -Raw
    -Stream
    -Wait
    (This parameter is not supported by any providers that are installed with Windows Powershell.)
    is both incorrect and useless.

    It is incorrect because the parameters are supported by the FileSystem provider (at least).

    It is useless because it gives no information about the reason for the existence of the parameter.…

    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  ·  Documentation  ·  Flag idea as inappropriate…  ·  Admin →
  6. BUG: Get-Help Get-Service

    In the help file it states that wildcards are not permitted. But it accepts a value with a wildcard on the heads or tails and it also accepts just a wildcard with no other characters.

    -Name <String[]>

        Specifies the service names of services to be retrieved. Wildcards are permitted. By default, this cmdlet gets all of the services on the computer.

    Required? false
    Position? 0
    Default value None
    Accept pipeline input? True (ByPropertyName, ByValue)
    Accept wildcard characters? false

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

    We’ll send you updates on this idea

    4 comments  ·  Other PowerShell  ·  Flag idea as inappropriate…  ·  Admin →
  7. Get-Service throws wrong exception if remote host is offline

    Get-Service returns exception as "Cannot find any service with service name" even if we give an offline/not existing host as argument for -ComputerName parameter

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

    We’ll send you updates on this idea

    1 comment  ·  Microsoft.PowerShell.* Modules  ·  Flag idea as inappropriate…  ·  Admin →
  8. Format-* incorrectly format warning objects

    Given this:

    <#PS#> $a = Write-Warning test 3>&1

    PowerShell will incorrectly prepend "WARNING: " to:

    <#PS#> $a | ft * -f

    WriteWarningStream FullyQualifiedWarningId Message InvocationInfo PipelineIterationInfo


    WARNING: True test System.Management.Automation.InvocationInfo {0, 0, 0}

    <#PS#> $a | fl * -f

    WARNING: WriteWarningStream : True
    WARNING: FullyQualifiedWarningId :
    WARNING: Message : test
    WARNING: InvocationInfo : System.Management.Automation.InvocationInfo
    WARNING: PipelineIterationInfo : {0, 0, 0}
    WARNING:

    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 →
  9. ActiveDirectory PSDrive problem with PSReadline in Windows 10

    I am experiencing an issue with Windows 10 and the PSReadline module. Apparently when the PSReadline module is in memory, the default behavior for tab completion is to append a trailing backslash to the relative path. This is not too much of a problem with the file provider and the registry providers but it appears to wreak havoc on the Active Directory PS Provider.

    This may be reproduced by navigating to the AD: drive and they trying to use tab completion for the Set-Location or Get-ChildItem cmdlets. You will receive the error Cannot find path because it does not exist.

    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 →

    Hi Robert,

    Thanks for the report! I went ahead and opened an issue in the PSReadline GitHub repo to track this: https://github.com/lzybkr/PSReadLine/issues/473

    I propose that it might be worth it to simply special case PSReadline to not append a trailing backslash while in the AD provider, but I think you should probably also file something on the AD team’s UserVoice to support trailing backslashes (though this work might be more difficult): https://windowsserver.uservoice.com/forums/304621-active-directory

    Thanks,
    Joey

  10. Documentation Bug: Wrong Language + Wrong Locale + Wrong HelpInfoUri

    Documentation Bug: Wrong Language + Wrong Country + Wrong HelpInfoUri

    "Update-Help -Verbose -Force" gives:

    Update-Help : Failed to update Help for the module(s)
    'Microsoft.PowerShell.Operation.Validation' with UI culture(s) {en-US} : The value of the
    HelpInfoUri key in the module manifest must resolve to a container or root URL on a website
    where the help files are stored. The HelpInfoUri 'https://www.msn.com/de-de/?ocid=NEFLS000&#39;
    does not resolve to a container.
    At line:1 char:1
    + Update-Help -Verbose -Force
    + ~~~~~~~~~~~~~~~~~~~~~~~~~~~

    + CategoryInfo          : InvalidOperation: (:) [Update-Help], Exception
    
    + FullyQualifiedErrorId : InvalidHelpInfoUri,Microsoft.PowerShell.Commands.UpdateHelpCommand

    ============================================

    But this is the current configuration:

    PS C:\WINDOWS\system32> $PSCulture
    en-US
    PS C:\WINDOWS\system32>…

    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  ·  Documentation  ·  Flag idea as inappropriate…  ·  Admin →
  11. JEA is difficult for delegates to use without tab completion

    By default tab completion is disabled in JEA endpoints- and there is no guidance on how (or if) it can be enabled safely.
    Without tab completion it is
    1. Harder to discover available commands (no Get-<tab>)
    2. Harder to execute available commands with correct parameter name spelling etc.
    3. Harder to populate correct values (e.g., no help with ValidateSet scenarios)
    This all works against the applicability of JEA for delegation scenarios where a less expert sub-admin has to blindly type out a potentially complex and unfamiliar command.
    Please make some basic level of tab completion work by default, and please…

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

    We’ll send you updates on this idea

    In Queue  ·  4 comments  ·  WinRM  ·  Flag idea as inappropriate…  ·  Admin →
  12. Drag and Drop to upload files to PowerShell ScriptAnalyzer Preview service portal

    Drag and drop to upload a zip file with all the powershell scripts (Eg. .ps1, .psd1 and *.psm1 files) just like OneDrive uploading of files.

    It will be great if it is possible to drag and drop all the powershell scripts (Eg. .ps1, .psd1 and *.psm1 files) without compressing it to a zip file. The upload will automatically detect multiple PowerShell scripts uploaded and either smart enough to know all the uploaded multiple files are considered as one functional module or zip it up at the server end for processing it as it is functioning now.

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

    We’ll send you updates on this idea

    In Queue  ·  1 comment  ·  Other PowerShell  ·  Flag idea as inappropriate…  ·  Admin →
  13. Ensure Windows Management Framework can be upgraded from built-in version without multiple upgrades

    Currently, when installing WMF5 on Windows 7, there is a pre-req of installing WMF4 first.

    Please ensure that all supported operating systems can install the latest version of Windows Management Framework without having to do incremental upgrades. This will significantly reduce the complexity of deployment in production environments and during operating system deployment.

    Thanks!

    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  ·  Other PowerShell  ·  Flag idea as inappropriate…  ·  Admin →
  14. Improve UX for module / script listing status

    Right now, the UX for enabling / disabling the listing status for PowerShell modules and scripts is a bit challenging, if you have many versions. Could we improve upon this somehow, to enable batch enable / disable of module / script versions?

    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  ·  PowerShell Gallery  ·  Flag idea as inappropriate…  ·  Admin →
  15. PSv5 ConvertTo-Html online help shows ConvertTo-Xml instead

    The v5 online help for ConvertTo-Html shows the content for ConvertTo-Xml instead. Switching to v4 or v3 show the correct content. All languages seem to affected

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

    We’ll send you updates on this idea

    In Queue  ·  0 comments  ·  Documentation  ·  Flag idea as inappropriate…  ·  Admin →
  16. #Requires -Module error is confusing when version fails

    When a #Requires -Module version requirement (ModuleVersion, MaximumVersion, RequiredVersion) is not satisfied, the error message says that the module isn't found, not that the version of the module isn't found.

    This is potentially very confusing.

    & : The script 'Module.Help.Tests.ps1' cannot be run because the following modules that are specified by the "#requires" statements of the script are missing: Pester.

    At C:\ps-test\Test-PesterScriptParameter.ps1:18 char:3

    + & $TestPath -ModuleName PSScriptAnalyzer

    + ~~~~~~~~~

    + CategoryInfo          : ResourceUnavailable: (Module.Help.Tests.ps1:String) [], ScriptRequiresException                                                                   
    
    + FullyQualifiedErrorId : ScriptRequiresMissingModules

    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  ·  PowerShell Engine  ·  Flag idea as inappropriate…  ·  Admin →
  17. Get-Winevent - Execution with only -MaxEvents parameters specified

    When executing the Get-Winevent cmdlet with only the -MaxEvents parameter specified the cmdlet ends up in an infinite loop spewing errors:

    Get-WinEvent -MaxEvents 1

    Get-WinEvent : The data is invalid
    At line:1 char:9
    + $null = Get-WinEvent -MaxEvents 1
    + ~~~~~~~~~~~~~~~~~~~~~~~~~

    + CategoryInfo          : NotSpecified: (:) [Get-WinEvent], EventLogInvalidDataException
    
    + FullyQualifiedErrorId : The data is invalid,Microsoft.PowerShell.Commands.GetWinEventCommand

    I reproduced this error on PowerShell 5.1 and 4.0 on multiple systems. The behavior I expected was to receive the most recent event from any of the event logs. I feel this error could be prevented by using proper parameter validation.

    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  ·  Microsoft.PowerShell.* Modules  ·  Flag idea as inappropriate…  ·  Admin →
  18. $url = 'http://www.bloomberg.com/professional/downloads/'

    I believe I have a bug with Invoke-Webrequest.

    $url = 'http://www.bloomberg.com/professional/downloads/&#39;

    Invoke-WebRequest -UseBasicParsing -Uri $url "

    Or

    Invoke-WebRequest $url "

    Using invoke-webREquest on that URL Hangs /restarts ISE for me.

    I am using powershell 4.0 on windows 7 Sp1 64 bit.

    Name : Windows PowerShell ISE Host
    Version : 4.0

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

    We’ll send you updates on this idea

    3 comments  ·  ISE and tooling  ·  Flag idea as inappropriate…  ·  Admin →
  19. add DSC Configuration to Powershell Gallery

    Add a category for DSC Configurations in the PowerShell gallery just like scripts can be posted to the gallery

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

    We’ll send you updates on this idea

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

    We have in plan adding a new filter for “DSCConfiguration”, which will list any module or script with that tag. (Note: case is for readability, only – as usual for PowerShell.) We do not have an ETA, but it is in plan.

    Users should be aware that DSC Configurations are scripts, so if they want to see items that are JUST DSC Configurations, they will need to set the filter to show only scripts, not scripts and modules.
    As of the time this response is being written, the huge majority of items tagged with DSCCOnfiguration are modules, many of which have sample DSC Configurations included.

  20. Get-Service Name parameter allows Null value

    Get-Service -Name $Null returns all services. Expected behavior would be for Name to have ValidateNotNullOrEmpty attribute assigned.

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

    We’ll send you updates on this idea

    3 comments  ·  Microsoft.PowerShell.* Modules  ·  Flag idea as inappropriate…  ·  Admin →
← Previous 1
  • Don't see your idea?

Feedback and Knowledge Base