Commit Graph
283 Commits
Author SHA1 Message Date
Meir Blachman b7b386d209 Remove comments after closing brackets (#8344) 2018-12-08 21:53:30 +05:00
Dongbo Wang 2dcf52f3fc Update folder path for storing optimization profile and add test to validate loaded assemblies and libraries on startup (#8406)
- Update folder path for storing optimization profile file.
- Add test to validate loaded assemblies and libraries on startup.
2018-12-06 14:26:09 -08:00
Steve Lee b7daa796a3 Enable Open Here context menu on Windows to work with root of a drive (#8287)
support being started by Windows Shell (Open Here) where a trailing slash followed by a quote is handled incorrectly
2018-11-19 11:12:40 -08:00
Ilya 2c3e93512d Cleanup assemblyinfo (#8190)
Remove old code from AssemblyInfo.cs
2018-11-16 10:20:12 -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
Travis Plunk db60f0614a Revert "Ignoring backspace for empty lines on stdin/stdout mode (#8196)" (#8239)
This reverts commit b525b1f0bd.
2018-11-12 13:14:04 -08:00
bugale b525b1f0bd Ignoring backspace for empty lines on stdin/stdout mode (#8196) 2018-11-10 18:55:28 +05:00
Paal Braathen 2e89efa1bc When using Start-Transcript and file exists, empty file rather than deleting (#8131) 2018-11-07 08:34:42 +05:00
Paul Higinbotham 20f3a6a337 Experimental feature: Implicit remoting batching perf improvement (#8038) 2018-10-30 09:55:39 -07:00
Steve Lee 1aa5bb3576 Honor -OutputFormat if specified in noninteractive, redirected, encoded command used with pwsh (#8115)
[Breaking Change]

There is specific code that sets the `OutputFormat` to xml if pwsh is run non-interactive, with redirected output, and the command was encoded.  However, it ignored whether OutputFormat was specified.  Fix is to track whether `-OutputFormat` was used and respect that value rather than defaulting to xml.

Fix https://github.com/PowerShell/PowerShell/issues/5912
2018-10-29 17:51:21 -07:00
Ilya c36e4ad983 Cleanup: Remove clone of command-line args array (#7910) 2018-10-29 15:32:50 -07:00
Steve Lee b1e2745b53 move processing of -WorkingDirectory before processing of profiles (#8079) 2018-10-29 13:56:13 -07:00
dependabot[bot] 3c4d64c3e9 Bump Microsoft.ApplicationInsights from 2.8.0 to 2.8.1 (#8104) 2018-10-23 11:31:08 -07:00
Ilya 0a4f33a872 Replace StringComparision.CurrentCulture with StringComparision.Ordinal (#8068) 2018-10-21 16:11:08 +05:00
dependabot[bot] 60874d1734 Bump Microsoft.ApplicationInsights from 2.7.2 to 2.8.0 (#8002)
Bumps [Microsoft.ApplicationInsights](https://github.com/Microsoft/ApplicationInsights-dotnet) from 2.7.2 to 2.8.0.
- [Release notes](https://github.com/Microsoft/ApplicationInsights-dotnet/releases)
- [Changelog](https://github.com/Microsoft/ApplicationInsights-dotnet/blob/develop/CHANGELOG.md)
- [Commits](https://github.com/Microsoft/ApplicationInsights-dotnet/compare/2.7.2...2.8.0)

Signed-off-by: dependabot[bot] <support@dependabot.com>
2018-10-11 14:02:20 -07:00
Travis Plunk 2141c2a8e3 Add daily build non-windows platforms (#7683)
Add daily build non-windows platforms
  - Also, make the [Feature] tag work in VSTS for non-windows
  - Also, add a way to force feature tests to run
  - Also, fix an issue where `-workingdirectory` didn't work when running async
2018-09-06 12:27:49 -07:00
Ilya c34d3ef332 Update to latest package references, runtime framework, and SDK (#7646)
* Move to .Net Core SDK 2.1.401 and runtime 2.1.3

* Update package references
2018-08-30 18:39:44 -07:00
Travis Plunk bf0787f9a0 Make -settingfile work for scriptblock logging on windows (#7631)
Make `-settingfile` work for scriptblock logging on windows
  - Move EarlyParse to the first thing in the ManagedEntrance so that we don't cache the settings before we parse the settings file.
  - Added a test case to prevent regression
    - I'm working on more test cases.  Therefore, I used the TestCases parameter.
  - Changed the macOS tests back to CI as I think they are stable enough now.
2018-08-26 11:03:28 -07:00
Staffan Gustafsson 50626a161b Simplify marshalling of StartupInfo struct used in Jumplist creation. (#7580) 2018-08-24 14:05:13 -07:00
Travis Plunk 1523c218a6 Make sure that SettingFile arg is parsed before we load the settings (#7449)
Make sure that SettingFile arg is parsed before we load the settings

- Add ability to parse some setting before console host is created
- Trigger the Parse before the console host is created
- disable snapin loading from loading setting before this point
- re-enable mac logging tests.

Also, fix the following Travis-ci issues:

- make sure the Linux and macOS caches are separate to reduce the size
- update the macOS image to the closest image as used by the official build system (equivalent to VSTS hosted mac builds)
2018-08-07 15:01:31 -07:00
Jianyun 344878dcbb Set the cursor to the place where a user hits tab key (#7299)
* Set the cursor to the place where a user hits tab key
2018-08-01 13:31:49 -07:00
Ilya 5d03e1653a Remove empty xml comment lines (#7401) 2018-08-01 10:39:13 +05:00
Ilya 839ecb866f Move to dotnet core 2.1.1 (#7161) 2018-06-28 23:10:10 -07:00
Ilya 4fc784e840 Bulk update code base to put 'null' on the right-hand-side of a comparison expression (#6949) 2018-06-25 14:37:09 -07:00
Dongbo Wang d6250e8086 Revert the PR #7023 "Set the cursor to the place where a user hits tab key" (#7117)
Reverts PowerShell/PowerShell#7023 due to a regression introduced by it.
2018-06-19 17:40:29 -07:00
Hubert Bukowski 9ac701dbee Fix conditions for transcription of Write-Information command. (#6917)
Makes a transcription of Write-Information command consistent with $InfomrationPreference variable.
2018-06-16 21:11:21 +05:00
Jianyun 8805ca20aa Set the cursor to the place where a user hits tab key (#7023) 2018-06-14 23:04:31 -07:00
Ilya e177fcaef6 CodeFactor code style cleanup: replace literal empty strings with 'string.Empty' (#6950) 2018-06-12 12:30:10 -07:00
Christoph Bergmeister fa544c33db Update links that contain 'en-us' culture (#7013)
Update links that contain 'en-us' culture to remove 'en-us' culture (if possible) and in some cases update to newer re-directed link to docs.microsoft.com
2018-06-08 10:49:03 +05:00
Bruce Payette 5b90423e63 Fix for #6880 Progress panel displays incorrectly on UNIX when the user is typing. (#6972)
This fixes issue #6880 where user input interferes with the way the progress panel is displayed. If the user types any input while running a command displaying progress, that input would be echoed causing the terminal's cursor position to change. On the next progress write, output would be written using the new, incorrect cursor position. This had the effect of causing the progress pane to "march" across the screen if the user held down a key. The fix is fairly simple - update the physical cursor position right before updating the screen. This still leaves a very small window where an individual update might be off by a character or two but this is not cumulative and will be corrected on the next update. I've added code to SetBufferContents() to do this but only on UNIX. It's not a problem on non-VT100 style consoles.
2018-06-07 08:40:04 +05:00
Christoph Bergmeister f54085f8a3 Create JumpList in background thread to improve performance (#6985)
* Perform JumpList creation in background thread to improve performance when pwsh owns the window (i.e. when the Jumplist has to be created)

* Move JumpList creation to a later stage to allow for more code that might make it exit earlier as suggested in PR review by @iSazonov
2018-06-05 17:44:45 +05:00
Christoph Bergmeister b851b55ec6 Add Jumplist 'Run as Administrator' to Taskbar on Windows (#6913)
Closes #6649

This is a port of existing C++ Windows PowerShell code from MainEntry.cpp
Some of the code has been copied and minified from the WindowsApiPack.

The code is not compiled for Linux (not sure also another condition is needed for Windows on ARM?).
The code checks if the PowerShell process has a window handle by checking the startupinfo and only then tries to populate the list (and also checks if there is a slot available in the jumplist).
Tested on Windows 10 1803, jumpLists have been supported in Windows since Windows 7, which matches what PowerShell Core supports.
2018-05-31 12:24:19 -07:00
Travis Plunk 472b5f7bd1 Enable full symbols for windows (#6853)
The main purpose of this was to enable full symbols for windows release build.
Also makes explicit where we are optimizing and where we are not optimizing due to https://github.com/dotnet/corefx/issues/29700
2018-05-14 15:01:44 -07:00
Steve Lee 793160228a Fix crash when terminal is reset (#6777)
* fix crash when terminal is reset

* fix check before removing characters
2018-05-08 12:53:13 -07:00
PRASOON KARUNAN V ec678be4f4 Implementation of -lp alias for -LiteralPath variable #6732 (#6770)
Implementation of -lp alias for -LiteralPath variable for issue #6732 

Add-Content 

Add-Type 

Clear-Content 

Clear-Item 

Clear-ItemProperty 

Convert-Path 

Copy-Item 

Export-Alias 

Export-Clixml 

Export-Csv 

Export-FormatData 

Format-Hex 

Get-ChildItem 

Get-Content 

Get-FileHash 

Get-Item 

Get-ItemProperty 

Get-ItemPropertyValue 

Import-Alias 

Import-Clixml 

Import-Csv 

Import-PowerShellDataFile 

Move-Item 

Out-File 

Push-Location 

Remove-Item 

Rename-Item 

Resolve-Path 

Select-String 

Select-Xml 

Set-Content 

Set-Item 

Set-ItemProperty 

Set-Location 

Split-Path 

Start-Job 

Start-Transcript 

Tee-Object 

Test-Path 

Unblock-File
2018-05-03 14:22:48 -07:00
Steve Lee 942c68e796 Add '-WorkingDirectory' parameter to pwsh (#6612)
Add `-WorkingDirectory` parameter to `pwsh` to allow starting in right working directory.
2018-04-23 14:27:47 -07:00
Steve Lee f760fde0b7 Remove support for file to opt-out of telemetry, only support env var (#6601)
Since a PR added support to opt out of telemetry via an environment variable, we can remove the,
always intended to be a temporary, solution of deleting a file to opt out of telemetry since the
environment variable can be defined at the system level and exist before even installing PowerShell Core.

Because the variable is defined as opt out, a value of true, yes, or 1 means no telemetry is sent.
2018-04-13 10:29:39 -07:00
Dongbo Wang ceac82abc5 Fix running 'pwsh' produced from 'dotnet build' (#6549) 2018-04-03 12:06:14 -07:00
Dan Travison ec0f1116db Add PowerShell logging tests for macOS and Linux (#6025)
This PR fixes the logging issue on Linux where logging is initialized before `-settingsFile` is parsed causing custom log settings to be ignored. (see ConsoleHost.cs and ManagedEntrance.cs)

The PR also includes basic logging tests for Linux and MacOS. PSSyslog.psm1 contains the functions to retrieve selected logged items (based on PowerShell's log id and a timestamp) and Logging.Tests.ps1 contains tests for Linux and MacOS.
2018-03-29 14:46:08 -07:00
Travis Plunk a099786cdc Update to DotNet 2.0.6 (#6403)
Update to DotNet 2.0.6
  - this addresses [Microsoft Security Advisory CVE-2018-0875: Hash Collision can cause Denial of Service](https://github.com/PowerShell/Announcements/issues/4)
  - This is a port of https://github.com/PowerShell/PowerShell/commit/d607f207b9726f1c8b3a115803db2c4d129127e1 to 6.1
2018-03-15 14:54:00 -07:00
develroo 55c3e6a0c3 Fix a typo in the help content of pwsh in ManagedEntranceStrings.resx 2018-02-23 14:52:23 -08:00
Steve Lee c1c5344a88 Update copyright and license headers (#6134)
Based on standard practices, we need to have a copyright and license notice at the top of each source file. Removed existing copyrights and updated/added copyright notices for .h, .cpp, .cs, .ps1, and .psm1 files.

Updated module manifests for consistency to have Author = "PowerShell" and Company = "Microsoft Corporation". Removed multiple line breaks.

Separate PR coming to update contribution document for new source files: #6140

Manually reviewed each change.

Fix #6073
2018-02-13 09:23:53 -08:00
Travis Plunk 1c5c7f5c3a add comments about where most of the packages are from (#6016) 2018-01-31 12:16:48 -08:00
Daniel Llewellyn 7b27250479 Add Environment Variable override of telemetry (#6063)
Inspired by dotnet cli, and allows for Telemetry opt-out on packaging systems such as AppImage and Snapcraft where the filesystem is immutable.
2018-01-31 10:19:48 -08:00
Ilya 7f2ebd70c9 Resort parameter list in alphabetical order (#6052)
After #5920 we should reorder parameter list (#4989)
2018-01-30 07:56:00 +04:00
Dan Travison 43662809c7 Add '-settingsfile' to 'pwsh' to support loading a custom powershell config file. (#5920)
Support loading a custom `powershell.config.json` file via the command-line for use in testing.
This change supports replacing the default `powershell.config.json` file that's usually loaded from the `PSHome` directory with a custom version file.

The primary use-cases for this command-line option are as follows:
1. Allow the CI system to disable settings that impact test run times; such as disabling syslog usage on Linux and MacOS
2. Support testing of syslog and os_log without interfering with normal PowerShell operations during test runs via launching an instance with custom log settings.
2018-01-24 22:12:14 -08:00
Greg Zimmerman 874f5c1a85 Return better error for 'pwsh -WindowStyle' on unsupported platforms. (#5975) 2018-01-24 14:00:57 -08:00
Dongbo Wang d261e1f166 Move group policy settings and enable policy controlled logging in PowerShell Core (#5791)
Make PowerShell Core reads group policy settings from different registry keys (Windows only) and the configuration files (both Windows and Unix).
- On Windows, move to different GPO registry keys.
- On both Windows and Unix, read GPO related settings from the configuration file `powershell.config.json`.
- On Windows, the policy settings in registry take precedence over the configuration file.
- Enable policy controlled logging and transcription on Unix.
2018-01-08 12:03:23 -08:00
Ilya aaa567cf8c Show usage (short) help if command line parameter is wrong (#5780)
Show usage (short) help if command line parameter is wrong
Show extended (full) help message with pwsh -h
Split Help message on Usage and Extended
2018-01-05 15:36:45 +04:00
Dongbo Wang 41c66dbc26 Refactor GroupPolicy setting related code to use the configuration file 2018-01-04 13:40:50 -08:00