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
Andrew and Travis 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