Commit Graph
184 Commits
Author SHA1 Message Date
James Truher [MSFT] 4fdc02b698 Add telemetry to track the use of features (#24247) 2024-09-16 16:28:19 -07:00
Dongbo Wang ad7278bbff Make sure the assembly/library resolvers are registered at early stage (#21361) 2024-03-21 16:25:12 -07:00
James Truher [MSFT] 81a7f6f621 Fix unixmode to handle setuid and sticky when file is not an executable (#20366) 2023-10-11 23:54:54 +00:00
Patrick Meinecke cc05fdead2 Remove the property disabling optimization (#19701) 2023-06-05 16:45:11 -07:00
Paul Higinbotham e5728b63bf Add WDAC Audit logging (#19641) 2023-05-22 16:40:55 -07:00
CarloToso d00407612c Fix codefactor if part 1 (#19266) 2023-03-03 23:51:53 +05:00
CarloToso c48e5cbcca Use ArgumentException.ThrowIfNullOrEmpty() in more places (#19213) 2023-02-27 14:42:07 -08:00
spaette ec0eb22062 Fix typos in comments (#19064) 2023-02-03 10:40:43 +05:00
spaette d29f34b5c2 typos (#19058) 2023-01-30 09:48:00 -08:00
James Truher [MSFT] 4f57804f46 Fix up all comments to be in the proper order with proper spacing (#18619) 2023-01-03 12:12:42 -08:00
CarloToso b48943ce31 Replace ArgumentNullException(nameof()) -> ArgumentNullException.ThrowIfNull() 2 (#18792) 2022-12-16 16:46:45 +05:00
Ilya 218c6cea15 Unify CreateFile pinvoke in SMA (#18751) 2022-12-15 11:05:07 +05:00
Ilya 3dc95ced87 Replace DllImport with LibraryImport - 1 (#18603) 2022-11-30 10:00:12 -08:00
Steve Lee 9f459c05f6 Replace DllImport with LibraryImport in engine (#18496) 2022-11-10 08:24:11 +05:00
Berkan Diler c16521ac87 Use new LINQ Order() methods instead of OrderBy(static x => x) (#18395)
Less code, a bit faster, less allocations
2022-11-01 13:31:58 +05:00
Jordan Borean d66b2a5b52 Fix Parent property on processes with complex name (#17545) 2022-09-28 21:43:40 -07:00
Dongbo Wang e7f90f0aa7 Fix other path constructions using Path.Join (#17825) 2022-08-03 11:06:01 +05:00
Steve Lee 51b2ac40d5 Enable searching for assemblies in GAC_Arm64 on Windows (#17816) 2022-08-03 08:03:13 +05:00
Marc-André Moreau c798f74056 Fix native library loading for osx-arm64 (#17365) 2022-06-04 20:20:59 +05:00
Paul HiginbothamandDongbo Wang f6ac9bb604 Add support for new WDAC API (#17247)
* Add support for new WDAC API

* Fix non-Windows platform error

* Fix code factor errors

* Update cgmanifest json file

* Fix test failure

* Update src/System.Management.Automation/resources/SecuritySupportStrings.resx

Co-authored-by: Dongbo Wang <dongbow@microsoft.com>

Co-authored-by: Dongbo Wang <dongbow@microsoft.com>
2022-05-16 14:18:30 -07:00
Ilya 9f722ef950 Use more efficient platform detection API (#16760)
* Use more efficient platform detection API

Use static and const new OperatingSystem class API to avoid string comparisons and extra allocations.

* Remove unused variable
2022-01-27 08:53:52 -08:00
Dongbo Wang 88ba3f61fa Use the same temporary home directory when 'HOME' env variable is not set (#16263) 2021-11-22 10:44:58 -08:00
Ilya 51e11aaedf Remove unnecessary call to ToArray (#16307) 2021-10-28 11:22:09 -07:00
Dongbo Wang c784dde5a2 Remove the unused FollowSymLink function (#16231) 2021-10-14 14:14:05 -07:00
Dongbo Wang 2f57bf848b Change Target from a CodeProperty to be an AliasProperty that points to FileSystemInfo.LinkTarget (#16165) 2021-10-05 10:29:16 -07:00
xtqqczze 03b07a0062 Enable IDE0044: MakeFieldReadonly (#13880)
https://docs.microsoft.com/dotnet/fundamentals/code-analysis/style-rules/ide0044
2021-07-07 09:33:19 +05:00
xtqqczze 4c2d6dcfca Make classes sealed (#15675)
Fix [RCS1225](https://github.com/JosefPihrt/Roslynator/blob/master/docs/analyzers/RCS1225.md)
2021-07-04 16:49:52 +05:00
dinhngtu ea19ceac4a Wait for SSH exit when closing remote connection (#14635) 2021-06-03 13:19:11 -07:00
Marc-André Moreau 8f8ddc3fb7 Add LoadAssemblyFromNativeMemory function to load assemblies from memory in a native PowerShell host (#14652) 2021-04-28 14:28:41 -07:00
Steve Lee fc1d5ef096 Default to MTA on Windows platforms where STA is not supported (#15106) 2021-04-22 08:38:13 -07:00
Ilya 91e7298fd8 Use static lambda keyword (#15154) 2021-04-12 12:44:05 -07:00
xtqqczze 50fd950920 Enable CA1052: Static holder types should be Static or NotInheritable (#14483)
* Enable CA1052: Static holder types should be Static or NotInheritable

https://docs.microsoft.com/dotnet/fundamentals/code-analysis/quality-rules/CA1052

* Fix SA1505

https://github.com/DotNetAnalyzers/StyleCopAnalyzers/blob/master/documentation/SA1505.md
2021-01-08 22:53:11 +05:00
xtqqczze bb78d4b5c0 Fix IDE0090: Simplify new expression part 6 (#14338)
https://docs.microsoft.com/dotnet/fundamentals/code-analysis/style-rules/ide0090
2020-12-09 08:52:00 +05:00
xtqqczze d47864d4de Avoid unnecessary array allocations when searching in GAC (#14291) 2020-12-03 14:35:25 -08:00
xtqqczze 8d4869372e Mark private members as static part 10 (#14235)
https://docs.microsoft.com/dotnet/fundamentals/code-analysis/quality-rules/ca1822
2020-11-27 13:16:31 +05:00
xtqqczze 52ecb6d18e Run dotnet-format to improve formatting of source code (#13503) 2020-11-04 11:13:56 -08:00
xtqqczze 3444595e78 Mark PowerShellAssemblyLoadContextInitializer with static modifier (#13874) 2020-11-03 17:16:36 -08:00
xtqqczze 8f37cced70 Cleanup: remove duplicate words in comments (#13539) 2020-08-31 11:39:00 -07:00
Dongbo Wang 4214800690 Refresh and enable the ComInterop code in PowerShell (#13304) 2020-08-07 16:24:10 -07:00
Dongbo Wang 4b9b0788ed Revert "Use is null syntax (#13277)" (#13322)
This reverts commit 6c03776d74.
2020-07-30 16:06:38 -07:00
xtqqczze 6c03776d74 Use is null syntax (#13277)
Replace `== null` with `is null`
2020-07-30 18:04:03 +05:00
Dongbo Wang cfb1952fd2 Use temp personal path at Runspace startup when env 'HOME' not defined (#13239) 2020-07-23 10:24:42 -07:00
xtqqczze e93381e73e Add readonly modifier to internal static members (#11777)
# PR Summary

* Add readonly modifier to internal static members.

## PR Context

## 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-05-31 05:10:22 +00:00
xtqqczze 05cab7fa5a Formatting: Add empty line between declarations (#12824)
# PR Summary

Automated fixes:
* RCS0013: Add empty line between single-line declarations of different kind
* RCS010: Add empty line between declarations

## PR Context


## 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-05-29 04:56:33 +00:00
xtqqczze 9212aac0fa Use nameof operator (#12716)
# PR Summary

Using *Roslynator Command Line Tool version 0.1.0.4*

* Fix RCS1015:
  * `"argument"` → `nameof(argument)`
  * `enum.ToString()` → `nameof(enum)`

[RCS1015.log](https://github.com/PowerShell/PowerShell/files/4646102/RCS1015.log)


## PR Context

<!-- Provide a little reasoning as to why this Pull Request helps and why you have opened it. -->

## 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-05-19 18:57:52 +00:00
Steve Lee b7cb335f03 Update copyright notice to latest guidance (#12190) 2020-03-24 11:08:37 -07:00
Ilya 2e8ced4856 Use new string.Split() overloads (#11867) 2020-03-13 17:46:05 +05: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
xtqqczze a34d0f3e80 Reformat code according to EditorConfig rules (#11681) 2020-01-31 14:56:22 -08:00
James Truher [MSFT] bcc5acb0bd Fix for issue on raspbian for setting date of file changes in UnixStat Experimental Feature (#11313) 2019-12-12 12:25:16 -08:00