Commit Graph
1524 Commits
Author SHA1 Message Date
Paul Higinbotham 7837a536eb Fix possible race that leaks PowerShell object dispose in ForEach-Object -Parallel (#12227) 2020-04-07 14:31:04 -07:00
Paul Higinbotham a4c996d425 Fix foreach parallel when current drive is not available (#12197) 2020-03-31 20:33:06 +05:00
Dongbo Wang c0c17ded03 Do not wrap return result to PSObject when converting ScriptBlock to delegate (#10619)
This is a breaking change for the delegate types with the object return type:

Before this change, the returned object will always be an PSObject instance.
After this change, the returned object is the underlying object, which could still be an PSObject if that's what the script actually returns.
2020-03-30 21:46:12 +05:00
Dongbo Wang e741dc58dd Discover assemblies loaded by 'Assembly.Load(byte[])' and 'Assembly.LoadFile' (#12203)
* Fix regression: pwsh should discover assemblies loaded by 'Assembly.Load(byte[])' and 'Assembly.LoadFile'
2020-03-28 20:25:59 +05:00
Dongbo Wang 1ec7c826f0 Use dedicated threads to read the redirected output and error streams from the child process for out-of-proc jobs (#11713) 2020-03-28 15:44:23 +05:00
Paul Higinbotham 668d72c4af Clean up the IPC named pipe on PowerShell exit (#12187) 2020-03-26 09:47:33 -07:00
Shayde Nofziger 238cb5c8dc Fix erroneous comment in tokenizer.cs (#12206)
The BigInteger NumberSuffixFlags enum is 'N', not 'I'. Fix the comment to indicate it as such.
2020-03-26 13:18:33 +05:00
Aditya Patwardhan 7193800bc2 Allow case insensitive paths for determining PSModulePath (#12192)
* Allow case insensitive comparison of paths for determining PSModulePath

* Address codefactor issue
2020-03-25 12:11:06 -07:00
Steve Lee f23be437af Fix terms checker issues (#12189) 2020-03-24 11:38:45 -07:00
Steve Lee b7cb335f03 Update copyright notice to latest guidance (#12190) 2020-03-24 11:08:37 -07:00
Aditya Patwardhan 3c81de6d26 Add PowerShell version 7.0 to compatible version list (#12184) 2020-03-24 10:49:54 -07:00
Paul Higinbotham cce214e884 Implement ForEach-Object -Parallel runspace reuse (#12122)
* Implement foreach parallel runspace reuse

* Change runspace dispose

* Refactor runspace reset check

* Fix race condition.

* Fix CodFactor issues

* Implement -UseNewRunspace parameter switch, add tests

* Fix Codacy error
2020-03-23 14:00:43 -07:00
Steve Lee 495dea0783 Move to .NET 5 preview.1 (#12140) 2020-03-19 11:27:13 -07:00
Damir Ainullin 5da06978b1 Set correct priority for ?: operator (#12075) 2020-03-19 08:54:39 +05:00
Dongbo Wang c737f3162c Fix NullReferenceException when binding common parameters of type 'ActionPreference' (#12124) 2020-03-18 23:18:21 +05:00
Ilya 43e0e1a1c5 Fix default formatting for deserialized MatchInfo (#11728)
MatchInfo class has ToEmphasizedString() member method to color output line.
In remote scenario MatchInfo class is deserialized as Deserialized.Microsoft.PowerShell.Commands.MatchInfo without the method. As result default formating in remote scenario show nothing.

The fix is to directly output Line property.
2020-03-18 18:43:01 +05:00
Ilya b5d4739b2a Use span-based overloads (#11884) 2020-03-18 18:38:55 +05:00
Bryan Berns 07962a9749 Address UTF-8 Detection In Get-Content -Tail (#11899)
- Addresses a comparison failure that causes UTF-8 detection to fail which in turn causes Get-Content -Tail to resort to forward lookups given encoding type cannot be detected. Possible this misdetection is due to the incoming encoding object as being of type System.Text.UTF8Encoding where as the comparison uses the object Encoding.UTF8 which is derived from System.Text.UTF8Encoding+UTF8EncodingSealed.
- See https://github.com/PowerShell/PowerShell/issues/11830

- Added 'OEM', 'UTF8BOM', and 'UTF8NoBOM' as explicit encodings for existing Get-Content -Tail tests.

* Add Multi-Byte Unicode Tail Character Tests

- Modified -Tail encoding test to use three different test sets: utf-8, utf-16, utf-32.  The test verifies that the content resulting from -Tail is equal to the same string returned from a regular Get-Content using both an explicit and implicit encoding.

* Remove BigEndianUnicode Reference In Comment
2020-03-14 09:57:04 +05:00
Ilya 2e8ced4856 Use new string.Split() overloads (#11867) 2020-03-13 17:46:05 +05:00
Aleksandar Nikolić 1fa0a00728 Change "PowerShell Core" to "PowerShell" in a resource string (#11928) 2020-03-12 18:04:29 -07:00
Damir AinullinandIlya 5fd89561d0 Remove unreachable DSC code (#12076)
* Remove unreachable code

* Update src/System.Management.Automation/DscSupport/CimDSCParser.cs

Co-Authored-By: Ilya <darpa@yandex.ru>

Co-authored-by: Ilya <darpa@yandex.ru>
2020-03-12 09:53:45 -07:00
Ilya 12bf5f4a0c Bring back MainWindowTitle in PSHostProcessInfo (#11885)
* Bring back MainWindowTitle in PSHostProcessInfo

* Add test
2020-03-10 09:30:53 -07:00
Andrew 704b0e74ed Miscellaneous minor updates to WinCompat (#11980)
* Filter PSModulePath when starting PS 5.1. Removing PS-Core-specific paths from PSModulePath of WinCompat process (Windows PS).
* Make implicit WinCompat respect NoClobber and Scope parameters
* Add ErrorAction.Ignore when searching for WinPSCompatSession
2020-03-10 11:31:44 +05:00
Dongbo Wang 348ca85947 Fix ConciseView to split PositionMessage using [Environment]::NewLine (#12010) 2020-03-04 13:03:08 -08:00
Paul Higinbotham 00b60c44fa Remove hop restriction for interactive sessions (#11920) 2020-02-28 12:26:08 -08:00
Steve Lee 2db8516a8c Fix ConciseView to not show the line information within the error messages (#11952) 2020-02-26 21:07:57 +05:00
dependabot-preview[bot] d87472d368 Bump Microsoft.ApplicationInsights from 2.13.0 to 2.13.1 (#11925) 2020-02-25 17:36:39 -08:00
Dongbo Wang da94afaf5b Update the map between console color to VT sequences (#11891) 2020-02-20 14:28:38 -08:00
Paul Higinbotham d3ad083833 Fix SSH remoting error on Windows platform (#11907) 2020-02-20 14:10:58 -08:00
Ilya 45bc965af8 Fix NREs in SuspendStoppingPipeline() and RestoreStoppingPipeline() (#11870) 2020-02-20 11:57:00 -08:00
Ilya 59ad53181e Remove old dead code from FullCLR (#11886) 2020-02-20 11:39:15 -08:00
Steve Lee a09855017f Generate guid for FormatViewDefinition InstanceId if not provided (#11896) 2020-02-20 19:57:26 +05:00
Steve Lee 34f9b43514 Fix ConciseView where error message is wider than window width and doesn't have whitespace (#11880) 2020-02-20 08:38:28 +05:00
dependabot-preview[bot] d1e1ee70db Bump Microsoft.ApplicationInsights from 2.12.1 to 2.13.0 (#11894) 2020-02-19 15:33:15 -08:00
John Dennis 895d4b3f3e Allow cross-platform CAPI-compatible remote key exchange (#11185) 2020-02-19 12:28:43 -08:00
dependabot-preview[bot] cec9deb72a Bump Microsoft.PowerShell.Native from 7.0.0-rc.2 to 7.0.0 (#11839) 2020-02-12 15:59:18 -08:00
Robert Holt 2cfe8a4781 Restore the PowerShellStreamType enum with an ObsoleteAttribute (#11836) 2020-02-12 14:32:07 -08:00
Steve Lee 5edafb6afd Fix ConciseView to handle case where there isn't a console to obtain the width (#11784) 2020-02-12 11:48:58 +05:00
Andrew d2cb3c3636 Sync current directory in WinCompat remote session (#11809) 2020-02-11 11:44:30 -08:00
James Truher [MSFT] 4a0eda7fa9 Handle cases where CustomEvent was not initially sent (#11807) 2020-02-11 11:40:43 -08:00
Dongbo Wang 35c7b7842e Fix how COM objects are enumerated (#11795) 2020-02-10 13:24:50 -08:00
Dongbo Wang da0695362a Fix NativeDllHandler to not throw when file is not found (#11787)
<!-- Anything that looks like this is a comment and can't be seen after the Pull Request is created. -->

# PR Summary

Fix `NativeDllHandler` to not throw when file is not found.

Today, the `NativeDllHandler` calls `NativeLibrary.Load(fullName)` even if the file doesn't exist. This is not right, it should return `IntPtr.Zero` to let the runtime try the next resolution approach, if there is one.
Also, this behavior results in the exception message to be `Unable to load DLL 'F:\win-x64\nativedll.dll' or one of its dependencies: The specified module could not be found`, which is confusing because there was never an explicit loading of a dll with that path.
The real exception generated from runtime should be `Unable to load DLL 'nativedll' or one of its dependencies: The specified module could not be found.`

## PR Checklist

- [x] [PR has a meaningful title](https://github.com/PowerShell/PowerShell/blob/master/.github/CONTRIBUTING.md#pull-request---submission)
    - Use the present tense and imperative mood when describing your changes
- [x] [Summarized changes](https://github.com/PowerShell/PowerShell/blob/master/.github/CONTRIBUTING.md#pull-request---submission)
- [x] [Make sure all `.h`, `.cpp`, `.cs`, `.ps1` and `.psm1` files have the correct copyright header](https://github.com/PowerShell/PowerShell/blob/master/.github/CONTRIBUTING.md#pull-request---submission)
- [x] This PR is ready to merge and is not [Work in Progress](https://github.com/PowerShell/PowerShell/blob/master/.github/CONTRIBUTING.md#pull-request---work-in-progress).
    - If the PR is work in progress, please add the prefix `WIP:` or `[ WIP ]` to the beginning of the title (the `WIP` bot will keep its status check at `Pending` while the prefix is present) and remove the prefix when the PR is ready.
- **[Breaking changes](https://github.com/PowerShell/PowerShell/blob/master/.github/CONTRIBUTING.md#making-breaking-changes)**
    - [x] None
    - **OR**
    - [ ] [Experimental feature(s) needed](https://github.com/MicrosoftDocs/PowerShell-Docs/blob/staging/reference/6/Microsoft.PowerShell.Core/About/about_Experimental_Features.md)
        - [ ] Experimental feature name(s): <!-- Experimental feature name(s) here -->
- **User-facing changes**
    - [x] Not Applicable
    - **OR**
    - [ ] [Documentation needed](https://github.com/PowerShell/PowerShell/blob/master/.github/CONTRIBUTING.md#pull-request---submission)
        - [ ] Issue filed: <!-- Number/link of that issue here -->
- **Testing - New and feature**
    - [x] N/A or can only be tested interactively
    - **OR**
    - [ ] [Make sure you've added a new test if existing tests do not effectively test the code changed](https://github.com/PowerShell/PowerShell/blob/master/.github/CONTRIBUTING.md#before-submitting)
- **Tooling**
    - [x] I have considered the user experience from a tooling perspective and don't believe tooling will be impacted.
    - **OR**
    - [ ] I have considered the user experience from a tooling perspective and enumerated concerns in the summary. This may include:
        - Impact on [PowerShell Editor Services](https://github.com/PowerShell/PowerShellEditorServices) which is used in the [PowerShell extension](https://github.com/PowerShell/vscode-powershell) for VSCode (which runs in a different PS Host).
        - Impact on Completions (both in the console and in editors) - one of PowerShell's most powerful features.
        - Impact on [PSScriptAnalyzer](https://github.com/PowerShell/PSScriptAnalyzer) (which provides linting & formatting in the editor extensions).
        - Impact on [EditorSyntax](https://github.com/PowerShell/EditorSyntax) (which provides syntax highlighting with in VSCode, GitHub, and many other editors).
2020-02-07 20:03:16 +00:00
mikeTWC1984 69bf7043c0 Update CmsCommands to use Store vs cert provider (#11643) 2020-02-06 15:38:17 -08:00
Ilya 60387f1ad3 Use Dictionary.TryAdd() where possible (#11767) 2020-02-06 12:49:45 -08:00
Paul Higinbotham a5a97a5939 Fix Invoke-Command missing error on session termination. (#11586) 2020-02-05 15:27:57 -08:00
Andrew 43c88a4ff1 Add WinCompat deny list support using a setting in powershell.… (#11726) 2020-02-04 16:33:26 -08:00
Steve Lee db370dcc79 Enable pwsh to work on Windows systems where mpr.dll and STA is not available (#11748) 2020-02-04 10:52:19 -08:00
Steve Lee 6c6c9cc41e Fix help function to check if less is available before usi… (#11737) 2020-02-03 14:38:11 -08:00
Tyler James Leonhardt ac1b83f152 Use Environment.NewLine instead of hard-coded linefeed in ParseError.ToString (#11746) 2020-02-03 14:03:12 -08:00
Ilya 58d53b53fd Fix FileSystem provider error message (#11741) 2020-02-03 13:13:48 -08:00