Commit Graph
1286 Commits
Author SHA1 Message Date
Patrick Meinecke 99f3bb7a6a Fix line breakpoints for return statements without a value (#17179) 2022-05-04 10:56:55 -07:00
Ryne Andal 2550a3a23a Add check for ScriptBlock wrapped in PSObject to $using used in ForEach-Object -Parallel (#17234) 2022-05-04 10:51:45 -07:00
Dongbo Wang 36fcec3bdd Fix ForEach method to set property on a scalar object (#17213) 2022-05-02 10:07:12 -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 b898da8842 Make a variable assignment in a ParenExpression to return the variable value (#17174) 2022-04-22 10:55:38 -07:00
Ikko Ashimine 2bc1308772 Fix typo in ComRuntimeHelpers.cs (#17104) 2022-04-12 16:45:18 -07:00
Stéphane BARIZIEN 4acf6b39d4 Support forward slashes in network share (UNC path) completion (#17111) (#17117) 2022-04-12 21:00:16 +05:00
Dongbo Wang 7cc9c87473 Do not generate clean block in proxy function when the feature is disabled (#17112) 2022-04-05 12:00:41 -07:00
MartinGC94 c904d7f376 Improve member auto completion (#16504) 2022-03-24 15:55:27 -07:00
MartinGC94 5e6e7ca449 Add OutputType attribute to various commands (#16962) 2022-03-24 15:54:08 -07:00
MartinGC94 123373e425 Prioritize ValidateSet completions over Enums for parameters (#15257) 2022-03-23 12:38:05 -07:00
Paul Higinbotham a6d04226c3 Add Custom Remote Connections Feature (#17011)
* Changes for custom remote connections

* Remove NamedPipeConnection dependency on RemoteSessionNamedPipe.

* Enable custom connection tests and tool build for all platforms

* Fix CustomConnection.Tests.ps1

* Fix tests attempt 1

* Fix tool build

* Move test to elevated

* Fix non-Windows pipe name

* Update test for non-Windows

* Skip broken non-Windows timer

* Add comment for skipped test
2022-03-23 08:04:07 -07:00
Aleksandr Chebotov 9c44c1c8c5 Fix typos in names of method (#17003) 2022-03-18 14:01:16 -07:00
Dongbo Wang 25bc64f4b0 Allow a collection that contains Automation.Null elements to be piped to pipeline (#16957) 2022-03-04 16:16:28 -08:00
Dongbo Wang a3c4a163ff Allow the PSGetMemberBinder to get value of ByRef property (#16956) 2022-03-04 15:01:18 -08:00
MartinGC94 c196e2f793 Improve Hashtable completion in multiple scenarios (#16498) 2022-03-03 18:09:12 -08:00
Dongbo Wang 102782fbb0 Fix the parsing code for method generic arguments (#16937) 2022-03-03 09:21:21 -08:00
Paul Higinbotham df460b7275 Add fix of process objects for processes that have exited. (#16946)
* Add fix for process objects for processes that have exited.

* Fix code factor

* Fix typo

* Add try/catch for possible race condition on exiting process.
2022-03-02 13:53:35 -08: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
ayousuf23 31c14f2ad3 Updated background invocation & operator to use -WorkingDirectory when starting a new job (#16180) 2022-02-21 10:02:30 -08:00
Aditya Patwardhan 77caf718cd Update projects and scripts to use .NET 7 preview 1 pre-release builds (#16856)
* Update script to consume .NET 7 builds

* Update target framework

* Add dotnet metadata override value

* Update dependencies

* Update analyzer

* Conditionally add output argument

* Update files.wxs

* Fix tests

* Update Microsoft.PowerShell.Native to 7.3.0-preview.1

* Disable psget tests

* Update to latest build for .NET 7 preview 1

* Disable ready to run

* Update version of `Microsoft.AspNetCore.Mvc.NewtonsoftJson` package

* Update cgmanifest and startup test
2022-02-16 09:56:41 -08:00
ayousuf23andDongbo Wang a9a235d469 Prevent tab completion if the word to complete is a single dash (#16781)
* added code to prevent tab completion if the word to complete is a single dash

* added a test for testing tab completion if the word to complete is a single dash

* Minor update and add comment

Co-authored-by: Dongbo Wang <dongbow@microsoft.com>
2022-02-09 12:59:29 -08:00
Dongbo Wang 35ad64e11b Add a couple fixes to generic method invocation (#16822) 2022-02-03 11:58:02 -08:00
Dongbo Wang bbb11dd07a Fix the clean block for generated proxy function (#16827) 2022-02-03 11:39:08 -08:00
MartinGC94 7d3260fe0d Add completion for loop labels after Break/Continue (#16438)
Adds completion for loop labels after labeled control flow statements such as Break and Continue.
The completion will look for any loops with a label that surrounds the Break/Continue keywords.
The tooltips for the completion entries shows the relevant loop.
2022-02-01 09:14:23 +05:00
Joel Sallow (/u/ta11ow) 8c53252969 Add support to allow invoking method with generic type arguments (#12412) 2022-01-27 09:55:54 -08:00
Brannen Hall 0302b1f48e Support OpenSSH options for PSRP over SSH commands (#12802)
Add an -Options parameter to Invoke-Command and Start-PSSession to pass SSH options

Options parameter added to Invoke-Command
Options parameter added to Start-PSSession
Options parameter added to Enter-PSSession
Options parameter added to SSHConnection Hashtable
2022-01-22 11:59:58 +05:00
xtqqczze f83660e0e6 Seal ClientRemotePowerShell (#15802)
Seal `System.Management.Automation.Runspaces.Internal.ClientRemotePowerShell

Simplify IDisposable implementation
2022-01-21 18:54:16 +05:00
hammy3502 3eca7c019e Adds a .ResolvedTarget Property to File-System Items to Reflect a Symlink's Target as FileSystemInfo (#16490) 2022-01-21 09:23:11 +05:00
Dongbo Wang 186d6be47d Use NotifyEndApplication to re-enable VT mode (#16612)
Use NotifyEndApplication to re-enable VT mode instead of doing it in InputLoop.Run, so that we run this code only after invoking native commands
2022-01-14 09:07:06 +05:00
Mathias R. Jessen 686c84cccc Add new parameter to Start-Sleep: [-Duration] <timespan> (#16185) 2022-01-13 17:39:54 -08:00
Sergey ZalyadeevandSergey Zalyadeev da7c52a52f Add lock and null check to remoting internals (#16542) (#16683)
* fix crash Copy-Item to remote session (#16542)

* update comments

* remove lock (#16542)

Co-authored-by: Sergey Zalyadeev <sergey.zalyadeev@cayosoft.com>
2022-01-13 12:28:03 -08:00
Thomas-Yu ed6e0588c8 Add -StrictMode to Invoke-Command to allow specifying strict mode when invoking command locally (#16545) 2022-01-12 11:17:02 -08:00
Dongbo Wang cce64f49de Report error when PowerShell built-in modules are missing (#16628) 2022-01-12 10:02:03 -08:00
Steve Lee 0f21156dee Fix $PSNativeCommandArgPassing = Windows to handle empty args correctly (#16639) 2022-01-11 23:21:32 -08:00
Steve Lee a9b14a13fd Add exec cmdlet for bash compatibility (#16462) 2022-01-04 14:09:27 -08:00
Paul Higinbotham 0834c65877 Add AMSI method invocation logging as experimental feature (#16496)
* Add AMSI method invocation logging as experimental feature

* Add fix for value type errors in logging expression

* Fix recursion error
2022-01-04 08:30:14 -08:00
Joey Robichaud b7ce3c568c Fix parsing SemanticVersion build label from version string (#16608) 2021-12-17 09:39:26 -08:00
Andrew 1d1e42fd1a Merge branch 'master' into BringChangesFrom730P1 2021-12-16 13:45:37 -08:00
Andrew Menagarishvili 3f1c03d494 Merged PR 18449: Change default for $PSStyle.OutputRendering to Ansi
Cherry picked from !18333

Cherry-picked from commit `5cb8a2b3`.
2021-12-16 13:39:56 -08:00
Dongbo Wang 6662e21cb6 Fix the DSC overview URL in a markdown file and some small cleanup changes (#16629) 2021-12-15 16:38:37 -08:00
Paul Higinbotham cadd5762ea Fix ForEach-Object -Parallel when passing in script block variable (#16564)
ForeEach-Object -Parallel using variable processing walks the script block AST to determine if the using variable was defined in the current scope, and does this by tracking the number of 'ForEach-Object -Parallel' commands in the call chain.
However, the provided script block is different, depending on whether it is passed in as a variable or via parameter binding.

$myScript = '"Hello!"'
1 | ForEach-Object -Parallel ([scriptblock]::Create($myScript))
# Script block Ast does not contain the 'ForEach-Object' command in the call chain

1 | ForEach-Object -Parallel { "Hello!" }
# Script block Ast does contain the 'ForEach-Object' command in the call chain

This change takes into account the two forms of script blocks
2021-12-14 08:11:19 +05:00
Bar Arnon 1920b1b6ea Fix race condition between DisconnectAsync and Dispose (#16536) 2021-12-02 23:25:12 +05:00
Paul Higinbotham 64d2fe26f3 Fix PSVersion parameter version checks and error messages for PowerShell 7 remoting (#16228) 2021-12-01 15:54:25 -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
Ikko Ashimine 4f86b079d0 Fix typo in Job.cs (#16454) 2021-11-15 21:55:40 +05:00
MartinGC94 965dc8f40f Fix tab completion within the script block specified for the ValidateScriptAttribute. (#14550) 2021-11-09 18:26:14 -08:00
Aditya Patwardhan f8d6b2f9fe Update metadata.json in preparation on 7.3.0-preview.1 release (#16406)
* Update `metadata.json` in preparation on `7.3.0-preview.1` release

* Update PSVersion table and tests
2021-11-09 08:31:01 -08:00
Ilya ef69fdafc4 Remove unneeded call to File.ResolveLinkTarget from IsWindowsApplication (#16371) 2021-11-03 22:28:04 -07:00
Maksim Ivanyuk 674ef888a2 Add -HttpVersion parameter to web cmdlets (#15853) 2021-11-02 16:53:36 -07:00