Commit Graph
100 Commits
Author SHA1 Message Date
1218a29b87 [release/v7.7.0-preview.1] Enable usage in AppContainers (#27305)
Co-authored-by: Patrick Meinecke <SeeminglyScience@users.noreply.github.com>
Co-authored-by: Travis Plunk <travis.plunk@microsoft.com>
2026-04-20 17:35:53 +00:00
Dongbo Wang 592668bd0b Refactor the module path construction code to make it more robust and easier to maintain (#26565) 2025-12-12 09:43:08 -08:00
stevenebutler 3710671c16 Guard against null or blank path components when adding to module path (#19922) 2023-07-31 11:00:27 -07:00
James Truher [MSFT] d9697f07ba Add a public API for getting locations of PSModulePath elements (#19422) 2023-05-22 17:02:31 -07:00
Paul Higinbotham e5728b63bf Add WDAC Audit logging (#19641) 2023-05-22 16:40:55 -07:00
Steve Lee 8135167827 Fix constructing PSModulePath if a sub-path has trailing separator (#13147)
* Fix constructing PSModulePath if a sub-path has trailing separator

* skip test on Linux

* Removed test as the system env var needs to be modified to repro

* Add test

* Fix test by comparing against incorrectly created path

* Update test to be cross platform
2023-05-02 13:04:30 -07:00
CarloToso 69e9b439fd Fix codefactor if part 5 (#19286) 2023-03-16 22:02:42 +05:00
CarloToso 0d6b93a23f Fix codefactor if part 2 (#19267) 2023-03-04 22:30:14 +05: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
Berkan Diler 8619d8432f Make use of StringSplitOptions.TrimEntries when possible (#18412) 2022-10-31 22:20:22 +05:00
Ilya 8965af3d52 Remove some static constants from Utils.Separators (#18154) 2022-10-27 15:25:41 -07:00
Dmitry Volodin 1779175935 Use null-coalescing assignment in the rest of /engine (#17729) 2022-07-26 12:31:14 -07:00
MartinGC94 edac193cf0 Use discards for unused variables (#17620) 2022-07-05 14:26:51 -07:00
AndrewandTravis Plunk c3b7e10fd0 Merged PR 20126: Fix for partial PowerShell module search paths, that can be resolved to CWD locations (#17231)
The problem is .NET will return empty strings for special folders that don't exist in some accounts (like System account), and the module path code appends path locations without first checking if the root path is non-empty.  This results in partial paths in the PSModulePath list, which are then interpreted by .NET file APIs as rooted in the current working directory.  And this in turn can allow low privilege users to drop modules in locations that higher privilege accounts will load from, thus gaining escalated privilege code execution.

These changes detect this non-rooted condition and prevents partial paths from being included in search lists.

Cherry picked from !17201

Co-authored-by: Travis Plunk <tplunk@microsoft.com>
2022-05-01 13:04:58 +05:00
Dongbo Wang e1f52dda77 Refactor module assembly loading logic to allow the whole module to be loaded in a custom ALC (#16889) 2022-02-23 15:01:12 -08:00
Dongbo Wang cce64f49de Report error when PowerShell built-in modules are missing (#16628) 2022-01-12 10:02:03 -08:00
Paul Higinbotham 1ec61d955c Remove implicit remoting batch experimental feature (#15863)
It was decided by committee (#15862) to remove this experimental feature. It was an interesting idea but the implementation did not cover important cases, and could not be updated easily to do so.
2021-08-13 08:34:31 +05:00
xtqqczze 6d08db612e Use List<T>.RemoveAll to avoid creating temporary list (#15686) 2021-07-07 20:54:44 -07:00
Staffan Gustafsson 1feed0671a Enable nullable for System.Management.Automation.Tracing.IMethodInvoker (#14157) 2021-04-16 13:25:15 -04:00
Ilya 91e7298fd8 Use static lambda keyword (#15154) 2021-04-12 12:44:05 -07:00
Andrew 8e3c3e04f8 Cross-platform updates to DSC code in PowerShell (#13399) 2021-02-02 14:47:53 -08:00
Staffan Gustafsson 06b660cb5a Enable nullable: System.Management.Automation.IModuleAssemblyInitializer (#14158) 2020-12-09 12:33:17 -08:00
xtqqczze c7bdb24ff3 Mark local variable as const (#13217)
RCS1118: Mark local variable as const https://github.com/JosefPihrt/Roslynator/blob/master/docs/analyzers/RCS1118.md
2020-11-24 20:06:16 +05:00
xtqqczze d6727dcf1b Simplify delegate creation (#13578)
* Autofix RCS1048

* Autofix RCS1021
2020-11-05 22:25:26 +05: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
xtqqczze 0d5d017f0f Code redundancy fixes (#12916)
* Autofix `RCS1036: Remove redundant empty line`

* Autofix `RCS1037: Remove trailing white-space`

* Autofix `RCS1033: Remove redundant boolean literal`

* Autofix: `RCS1038: Remove empty statement`

* Autofix `RCS1041: Remove empty initializer`

* Autofix `RCS1097: Remove redundant 'ToString' call

* Autofix: `RCS1420: Operator is unnecessary`
2020-06-11 11:25:35 +05: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
Andrew 14487bf85d Make GetWindowsPowerShellModulePath compatible with multiple PS installations (#12280)
Add additional check for each component of PSModulePath (that is set for WinPS process) - if it is has pwsh.exe in the parent directory, then it is considered another PS Core installation and this location is also filtered out.
2020-04-14 11:08:01 +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 b7cb335f03 Update copyright notice to latest guidance (#12190) 2020-03-24 11:08:37 -07:00
Steve Lee 20a236b228 Update setting PSModulePath to concatenate the process + machine env var (#11276) 2019-12-09 16:25:08 -08:00
Steve Lee 2e553038c5 Allow pwsh to inherit $env:PSModulePath and enable powershell.exe to start correctly (#11057) 2019-11-15 17:29:04 -08:00
Ilya 5d98b901be Cleanup workflow code (#9638)
* Remove WorkFlowInfo type

* Remove condition for UseSharedProcess

* Remove PSWorkflowJob condition

* Remove workflow from ValidateSet

* Remove workflow from CommandTypes enum

* Remove workflow from EventManager

* Remove workflow from Get-Help

* Remove WorkflowFileExtension ".xaml" from ModuleIntrinsics

* Remove WorkflowFileExtension ".xaml" from ModuleCmdletBase

* Remove workflow from PSModuleInfo

* Remove workflow from CustomShellCommands

* Remove workflow from InitialSessionStateProvider

* Remove WriteWorkflowDebugNotSupportedError()

* Remove unneeded resource strings from Module.cs

* Remove xaml from valid extension list
2019-07-07 01:03:03 +05:00
Steve Lee a96b4c0404 Update use of "PowerShell Core" to just "PowerShell" (#9513) 2019-05-10 15:34:27 -07:00
Ilya bd6fdae735 Cleanup: sort usings (#9490) 2019-04-30 10:25:11 +05:00
pougetat 0ee5278b40 Fix Get-Module -FullyQualifiedName option to work with paths (#9101) 2019-03-29 15:27:09 -07:00
Ilya 759c4abde8 Use Type.EmptyTypes and Array.Empty<T>() to replace our custom code of the same functionality (#9042) 2019-03-09 17:53:31 -08:00
Bruce Payette 6bc6257a55 Allow .exe files to be used as IL binary modules (#7281)
Fix for #6741 Allow .exe files to be used as binary modules. Basically anywhere a .dll could be used with modules, you can now use a .exe file. Also did a little clean up, replacing constant strings with the StringLiteral values instead.
2019-02-07 11:24:06 -08:00
Ilya 1be3f4cc0e Style: Add the ending period to the XML document texts (#8577) 2019-01-05 15:40:24 -08:00
Ilya dfd2f69369 Style: Change 'String.' to 'string.' (#8568) 2018-12-31 20:44:16 +05:00
Ilya 56569b9315 Style: Replace String.IsNullOrEmpty with string.IsNullOrEmpty (#8557) 2018-12-31 15:10:15 +05:00
Ilya 479fc64aff Style: Add period before </param> and </exception> doc tags (#8553) 2018-12-28 16:39:06 +05:00
Ilya 871ce5696d Style: Add period before returns doc tag (#8535)
- add period before "</returns>" doc tag
- remove extra space before "</returns>" doc tag
- convert first char after "<returns>" doc tag to upper case
2018-12-25 21:43:03 +05:00
Steve Lee 4af3068566 Code cleanup: Add space after closing brace where needed (#8530)
* Update TestService

* Update WebListener

* Update Controllers

* Update ExpTest

* Update MyApp

* Update Logic

* Update Logic

* Update MyApp

* Update Microsoft.Management.Infrastructure.CimCmdlets

* Update Microsoft.PowerShell.Commands.Diagnostics

* Update Microsoft.PowerShell.ScheduledJob

* Update Microsoft.WSMan.Management

* Update Microsoft.WSMan.Runtime

* Update ResGen

* Update TypeCatalogGen

* Update commands

* Update Eventing

* Update Reader

* Update utility

* Update ShowCommand

* Update trace

* Update WebCmdlet

* Update Common

* Update CoreCLR

* Update common

* Update format-object

* Update format-wide

* Update out-file

* Update out-printer

* Update out-string

* Update OutGridView

* Update LocalAccounts

* Update Commands

* Update security

* Update CoreCLR

* Update DscSupport

* Update engine

* Update help

* Update logging

* Update namespaces

* Update security

* Update utils

* Update config

* Update perfCounters

* Update tracing

* Update cmdletization

* Update other

* Update cim

* Update xml

* Update CoreCLR

* Update common

* Update DefaultFormatters

* Update out-console

* Update out-textInterface

* Update DisplayDatabase

* Update Utilities

* Update COM

* Update ComInterop

* Update CommandCompletion

* Update debugger

* Update ExperimentalFeature

* Update hostifaces

* Update interpreter

* Update lang

* Update Modules

* Update parser

* Update runtime

* Update client

* Update commands

* Update common

* Update fanin

* Update server

* Update WireDataFormat

* Update Binding

* Update Operations

* Update interface

* Update cmdletization

* Update cim

* Update management

* Update WindowsTaskbarJumpList

* Update msh
2018-12-24 11:20:06 +05:00
Dongbo Wang 2fbda4e62b The static keyword should be right after access modifier (#8506) 2018-12-21 11:56:05 +05:00
Meir Blachman b7b386d209 Remove comments after closing brackets (#8344) 2018-12-08 21:53:30 +05:00
Steve Lee 52aef57ab6 Add Enable-ExperimentalFeature and Disable-ExperimentalFeature cmdlets (#8318)
[breaking change]
Major changes are as follows:
- Add `Enable-ExperimentalFeature` and `Disable-ExperimentalFeature` cmdlets.
- Remove `-ListAvailable` from `Get-ExperimentalFeature`.
- Add `ArgumentCompleter` for `Get-ExperimentalFeature` cmdlet.
- Refactor some existing Experimental Feature tests.
- Make `ConfigScope` public and renamed `SystemWide` to `AllUsers`. Also update experimental feature code to prefer the current user config over the all user config.
2018-12-05 12:20:58 -08:00
Travis Plunk 79f21b41de Consolidation of all Windows PowerShell work ported to PSCore6 (#8257)
Consolidation of all Windows PowerShell work ported to PSCore6

* Added ps1 file import restriction.  Refactored InvokeLanguageModeTestingSupportCmdlet to HelpersSecurity module
* JEA loop back fix.  Debugger running commands in CL mode.
* Support for new AMSI codes.  Changed to use AMSI buffer API.  Unhandled exception fix.
* Fixes for module bugs while running in ConstrainedLanguage mode
* Untrusted input tracking work
* Configuration keyword bug fix, PSRP protocol version check for reconstruct reconnect, Sharing InitialSessionState in runspace pool.
* Restricted remote session in UMCI, Applocker detection collision, Help command exposing functions, Null reference exception fix.
* Added mitigation for debugger function exposure
2018-11-13 16:16:29 -08:00