Commit Graph
100 Commits
Author SHA1 Message Date
Steve Lee f48a28eff2 Change TabExpansion2 to not require -CursorColumn and treat as $InputScript.Length (#10849)
* FEATURE: Change TabExpansion2 to not require `-CursorColumn` and treat as `$InputScript.Length`

* address Jason's feedback
2019-10-30 20:45:28 +00:00
Steve Lee 00f41a74a5 Handle case where Host may not return Rows or Cols of screen (#10938) 2019-10-30 12:25:13 -07:00
Steve Lee edda43dfb4 Fix use of accent colors for hosts that don't support them (#10937) 2019-10-30 12:24:25 -07:00
Steve Lee 0b12ea057a Add back Update-List command (#10922) 2019-10-30 11:05:30 -07:00
Steve Lee 2746cb7b89 During Tab Completion, skip file if can't read file attributes (#10910) 2019-10-28 08:28:47 +05:00
Steve Lee ca1b6fb4c5 Add back Clear-RecycleBin for Windows (#10909) 2019-10-28 08:18:26 +05:00
Steve Lee 87bb1e6f74 Update AppX Manifest and Packaging module to conform to MS Sto… (#10878) 2019-10-24 13:50:28 -07:00
Steve Lee 4ff9924cbf Add $env:__SuppressAnsiEscapeSequences to control whether to… (#10814) 2019-10-24 12:45:26 -07:00
Steve Lee 90fb1ea41d Fix stringdata test to correctly validate keys of hashtables (#10810) 2019-10-23 10:37:48 +05:00
Steve Lee 26c380de6e Fix command runtime so StopUpstreamCommandsException doesn't get populated in -ErrorVariable (#10840) 2019-10-22 16:38:32 -07:00
Steve Lee 13f8ba284f Set the output encoding to [Console]::OutputEncoding for native commands (#10824) 2019-10-19 10:09:44 +05:00
Steve Lee 3806c396b1 Disable strict mode in Get-Error formatting script (#10800) 2019-10-18 14:42:17 -07:00
Steve Lee cb66974b25 Update upgrade notification message (#10777) 2019-10-17 10:19:38 -07:00
Steve Lee d8d32d79c2 Implement Get-Error cmdlet as Experimental Feature (#10727) 2019-10-15 14:32:14 -07:00
Steve Lee 0842fe8b8d Enable tab completion for variable assignment that is enum (#10646) 2019-10-14 09:53:11 -07:00
Steve Lee bf5956193f Remove unused SourceLength remoting property causing formatting issues (#10765) 2019-10-12 22:10:10 +05:00
Steve Lee 1fa73e360f Add back Get-HotFix cmdlet (#10740) 2019-10-11 22:51:43 +05:00
Steve Lee 36bc894d9b For ConciseView, show line context information if multiple lines but no scriptname (#10746) 2019-10-10 16:06:43 +05:00
Steve Lee ef2d740c44 Add support for \\wsl$\ubuntu path (#10674) 2019-10-08 15:52:04 -07:00
Steve Lee bce5b20d2d Update ConciseView to remove unnecessary text and not color entire line in red (#10724) 2019-10-08 14:14:23 -07:00
Steve Lee 8cf9c01800 Add ConciseView for $ErrorView (#10641) 2019-10-04 16:52:57 -07:00
Steve Lee 77ddec1614 Add back newline for grouping with Format-Table and -Property (#10653) 2019-10-02 12:11:55 -07:00
Steve Lee d8eca6a729 Remove [ValidateNotNullOrEmpty] from -InputObject on Get-Random to allow empty string (#10644)
* Remove [ValidateNotNullOrEmpty] from -InputObject on Get-Random

* address feedback to allow $null for -InputObject

* address Ilya's feedback

* address CodeFactor issues
2019-10-01 04:32:43 +00:00
Steve Lee 146f11b2a1 Add env var to differentiate client/server telemetry in MSI (#10612) 2019-09-24 10:25:58 -07:00
Steve Lee becb4d98a6 Update MSIX packaging so the version to Store requirements (#10588)
update packaging msix so version conforms to Store requirment
2019-09-23 12:26:19 -07:00
Steve Lee b0a3755b17 Minor fix for recursion into OneDrive - Change FindFirstFileEx() to use SafeFindHandle type (#10405) 2019-08-29 14:50:54 -07:00
Steve Lee 717b06fd2c Rename default ParameterSetName back to Delimiter for ConvertTo-Csv & ConvertFrom-Csv (#10425)
* rename default parameterset name back to `Delimiter`
* also fix convertfrom-csv
* rename parametersetname for UseCulture back to UseCulture since there is no path for ConvertFrom-Csv
2019-08-23 09:08:40 +05:00
Steve Lee 82e3480bbf Increase built-with-PowerShell module versions to 7.0.0.0 (#10356) 2019-08-22 15:33:30 -07:00
Steve Lee a34d094b21 Add some regular contributors to allow access to retry CI (#10397) 2019-08-21 13:17:10 -07:00
Steve Lee 00949ab352 .CPL should be added to PATHEXT (#9828) 2019-08-17 22:45:13 +05:00
Steve Lee 4220271e0e Move to .NET Core 3.0 preview.8 (#10351) 2019-08-15 13:42:17 -07:00
Steve Lee 5974afaa8d Add support for AppX reparse points (#10331) 2019-08-13 17:45:41 -07:00
Steve Lee 828d12c237 Expose PreRelease label in PSModuleInfo formatter (#10316) 2019-08-09 16:36:53 +05:00
Steve Lee 882cbf367f Enable Experimental Features by default on Preview builds (#10228) 2019-08-08 11:37:25 -07:00
Steve Lee d84ebc1571 Update our language on our policy applying to security issues (#10304) 2019-08-06 16:32:58 -07:00
Steve Lee 3ca5a1bdb0 Don't collect process starttime as it's not being used on consolehost startup (#10294)
* mark _readyForInputTimeInMS member as part of LEGACYTELEMETRY
* move _interactiveCommandCount to LEGACYTELEMETRY
2019-08-06 08:55:16 +05:00
Steve Lee 30351c8549 Update dead links from powershell.com (#10297) 2019-08-05 09:49:56 -07:00
Steve Lee 2ed9abc99b Enable -sta and -mta switches for pwsh (#10061) 2019-07-25 12:38:52 -07:00
Steve Lee 431ef0372a Fix test password generation rule to meet Windows complexity requirements (#10143) 2019-07-12 12:11:45 -07:00
Steve Lee 5bc3d15a30 Check if a reparsepoint is a symlink before trying to get target (#9895) 2019-07-08 11:40:53 +05:00
Steve Lee 4d3f74eddc Update console startup and help url for PowerShell docs (#9775) 2019-06-19 10:45:47 -07:00
Steve Lee 981c990d74 Make UseAbbreviationExpansion and TempDrive official features (#9872) 2019-06-13 13:05:37 -07:00
Steve Lee 89db7505d6 Have console host not enter command prompt mode when using Read-Host -Prompt (#9743)
`Read-Host` calls into `$Host.UI.Prompt()`.  However, this method is also used when the host prompts for mandatory parameters that aren't provided.  The method expects to be called when given a `FieldDescription` and if the input starts with `!` it enters `CommandPromptMode`.  In this mode, you can type `!?` to request help, for example.  However this mode is not something you can use via `Read-Host` (only if calling `$Host.UI.Prompt()` directly passing in a well constructed `FieldDescription`).  When using `Read-Host -Prompt`, the cmdlet creates a `FieldDescription` where the name is the prompt and the rest of the properties are empty.

The fix is that if `Label` is empty, we can assume it's being called from `Read-Host` rather than being called to prompt for a mandatory parameter and thus not enter `CommandPromptMode`.
2019-06-09 07:55:11 -07:00
Steve Lee b4e2423fab Fix use of Start-Process http://bing.com (#9793) 2019-06-04 14:36:12 -07:00
Steve Lee 61c7b7f120 Fix daily CodeCoverageAndTest build by explicitly calling Start-PSBootStrap (#9724) 2019-05-24 11:13:40 -07:00
Steve Lee ba94c6cfeb Run Start-PSBootStrap in Code Coverage build to install .NET SDK (#9690) 2019-05-23 11:07:37 -07:00
Steve Lee 29e21470d9 Port PowerShell to .NET Core 3.0 (#9597) 2019-05-21 13:43:51 +08:00
Steve Lee 68ae58eca3 Fix use of unicode ellipsis in xml (#9589) 2019-05-14 11:58:27 +05:00
Steve Lee a96b4c0404 Update use of "PowerShell Core" to just "PowerShell" (#9513) 2019-05-10 15:34:27 -07:00
Steve Lee 1d28144e99 Enable recursion into OneDrive (#9509) 2019-05-06 17:28:00 -07:00
Steve Lee 346ab8c9d4 Change MatchType for EnumerationOptions to be Win32 (#9529) 2019-05-06 17:20:08 -07:00
Steve Lee 592f897d21 allow test to work in cases where you can't create $profile 2019-05-04 07:44:30 -07:00
Steve Lee 3b5663ee97 correctly delete $profile in all cases 2019-05-04 07:12:53 -07:00
Steve Lee 0c1274011c fix creation of profile 2019-05-04 06:45:43 -07:00
Steve Lee 2d8a15af28 change -l to explicitly load user profile 2019-05-03 14:13:41 -07:00
Steve Lee f2888e9eb6 update console help 2019-05-03 11:21:02 -07:00
Steve Lee a69b20be3e add test 2019-05-03 11:12:46 -07:00
Steve Lee fb3a9098b5 Add -l support for pwsh to match POSIX shell compatibility 2019-05-03 11:00:23 -07:00
Steve Lee 3bfca6d0fa Update use of Windows PowerShell to just PowerShell (#9508) 2019-05-03 15:38:06 +05:00
Steve Lee 053f1f54aa add download link to raspbian64 to readme (#9520) 2019-05-03 00:07:58 +05:00
Steve Lee cb20154de8 Update to Pester 4.8.0 (#9510) 2019-05-02 09:56:16 +05:00
Steve Lee eedb37f4d6 Update width of datetime to accommodate change in Japan datetime format with new era starting 5/1/19 (#9503) 2019-05-01 17:07:21 -07:00
Steve Lee d318e7727e Allow passing just a dash as an arg to a file via pwsh (#9479) 2019-04-27 11:20:33 -07:00
Steve Lee e81aa9882c Enable building on Kali Linux (#9471) 2019-04-26 14:11:56 -07:00
Steve Lee 5e58e30d20 Move warning message to EndProcessing so it only shows up once (#9385) 2019-04-23 13:31:20 -07:00
Steve Lee 3e1f630695 Add Preview assets for msix (#9375) 2019-04-22 10:41:34 -07:00
Steve Lee 73114ee36c Enable building of msix package (#9289)
Add support in packaging.psm1 to produce a .msix AppX package.  Update the docker image to use the new msix package type.  Update the associated yml files so AzDevOps performs the build.

## PR Context

Enable publishing PSCore6 to Microsoft Store
2019-04-15 17:07:15 -07:00
Steve LeeandTravis Plunk b63696572f Fix skipping of tests in RemoteSession.Basic.Tests.ps1 (#9304)
Moved check if able to write to $PSHome as way to skip test to `BeforeAll` which already contained a check if running on Windows.

## PR Context

As part https://github.com/PowerShell/PowerShell/pull/9279, tests were updated to be skipped if the test requires writing to `$PSHome` but is not able to.  However, these tests already had a skip mechanism in place so the additional check caused the test to run when it should have skipped.

Co-authored-by: Travis Plunk <github@ez13.net>
2019-04-05 17:00:41 -07:00
Steve Lee fbe581134f Add more users to failures detection and fix alias for static analysis (#9292) 2019-04-05 10:01:06 -07:00
Steve LeeandTravis Plunk b8317de469 Update tests to account for when $PSHOME is readonly (#9279)
Co-Authored-By: SteveL-MSFT <slee@microsoft.com>


Co-authored-by: Travis Plunk <travis.plunk@microsoft.com>
2019-04-04 23:01:01 -07:00
Steve Lee 8a0ecaf620 Add timestamp to pshost trace listener (#9230)
Static analysis CI was executed separately.
2019-04-01 13:27:41 -07:00
Steve Lee (POWERSHELL) 586084fb6b fix short path processing 2019-04-01 12:05:45 -07:00
Steve Lee (POWERSHELL) 11f93c5a2b handle 8.3 path syntax 2019-04-01 10:41:03 -07:00
Steve Lee (POWERSHELL) 9e7fe9a9d1 only apply correct casing to directories 2019-03-31 12:06:38 -07:00
Steve Lee (POWERSHELL) 882e94f1cb add case-sensitive test 2019-03-30 09:40:14 -07:00
Steve Lee (POWERSHELL) f0264d0147 add support for NTFS streams syntax 2019-03-30 08:40:32 -07:00
Steve Lee 6bc2b55fdf return correct casing of filesystem path during normalization 2019-03-29 13:22:52 -07:00
Steve Lee 539c4a26de Enable PoshChan for getting and automatic retrieval of test failures for a PR (#9232)
Enable new capability to ask for test failures and have PoshChan automatically get (up to 10) test failures for a PullRequest if CI fails.
2019-03-27 09:51:02 -07:00
Steve LeeandTravis Plunk 3255d84627 Enable SecureString cmdlets for non-Windows (#9199)
On Unix systems, fallback to plaintext manipulation instead of using the DPAPI which is not available.

## PR Context

Currently, existing scripts that use SecureString cmdlets fail with an error complaining about crypt32.dll not being available.  This change allows these cmdlets to be used, but there is no encryption of the string.
.Net already [states](https://docs.microsoft.com/en-us/dotnet/api/system.security.securestring?view=netcore-2.1#remarks) that the contents of a SecureString are not encrypted on .Net Core.

Fix https://github.com/PowerShell/PowerShell/issues/1654

Co-authored-by: Travis Plunk <travis.plunk@microsoft.com>
2019-03-23 10:11:05 -07:00
Steve Lee c94f8c02f4 Update to new format for PoshChan settings and allow all users access to reminders (#9198)
PoshChan has been updated to use a new settings format so that authorized users are per action vs being global. 

## PR Context

Since reminders don't incur much of a resource hit for PoshChan, there's no reason not to allow everyone to use it.  See https://github.com/SteveL-MSFT/PoshChan-Bot for use instructions.
2019-03-22 10:45:51 -07:00
Steve Lee 0cd0de1e0d Add xsd for cdxml (#9177) 2019-03-21 11:22:36 +05:00
Steve Lee 98fc4a6704 fix settings to use dashes instead of underscore (#9167) 2019-03-19 12:48:49 -07:00
Steve Lee 4add730a1d Fix AzDevOps context names and add all PowerShell team members (#9164) 2019-03-19 11:16:08 -07:00
Steve Lee af0e95f8e2 Add settings for PoshChan-Bot (#9162)
Merging without waiting for recommended 24 hours as this is not a PowerShell code change, but a change for the `PoshChan` bot.
2019-03-18 17:01:14 -07:00
Steve Lee b06ad6aa61 Enable discovering modules that have names same as a culture (e.g. Az) (#8777)
Here are the major changes:
- Add logic to skip checking for possible resource directories for the first set of sub directories from the top level.
- There was an additional skip if the folder is hidden, rather than doing an explicit attribute check, change the `EnumerationOption` to skip hidden folders.
- Since the `IsPossibleModuleDirectory()` helper now only checks to see if the name matches a culture, renamed to `IsPossibleResourceDirectory()`
- When getting the default modules, we don't search recursively into individual module folders, so removed additional check for possible resource directory.
2019-02-20 12:23:27 -08:00
Steve Lee 5ece96a37f Don't use Win32 native APIs on non-Windows for crypto of secure string over remoting (#8746)
Remoting relies on Windows native crypto APIs to pass a secure string.  Of course these APIs don't work on non-Windows.  However, the remoting code does not expect this to fail so ends up in a hang waiting for an event that never happens.

Have not figured out how to return an error to the user in the case `Get-Credential` is called within a PSSession.  Currently it just quietly closes the remote connection.  @PaulHigin can you give a pointer to where this code would exist?  Debugging the current code, it has a bunch of error handlers which just result in the pssession being closed and not sure where throwing is appropriate.

Fix https://github.com/PowerShell/PowerShell/issues/8723

## PR Context  

Fix is to provide implementations of the Win32 native pinvoke apis that throw an exception.  The reason to do it this way is that there's a bunch of code that calls some of the APIs of the wrapper .Net class to setup structures that eventually get passed to the win32 api.  Throwing in the managed class causes other things to fail early that should work on non-Windows.
2019-02-07 15:36:13 -08:00
Steve Lee 26a58670c1 Enable creating relative symlinks on Windows with New-Item (#8783) 2019-02-07 11:44:23 -08:00
Steve Lee d9be6483f6 Move CommandNotFoundException suggestion to an experimental feature (#8805) 2019-02-06 13:59:14 -08:00
Steve Lee 53ad39772c Use -ErrorAction Ignore instead of SilentlyContinue with Get-Command in build.psm1 (#8832) 2019-02-06 12:00:57 -08:00
Steve Lee 313c8c06a1 Enable Write-Information to accept $null (#8774) 2019-01-31 13:16:34 -08:00
Steve Lee 3e8f85a682 Enable catching NotImplementedException when calling into RawUI for members that are not implemented 2019-01-28 12:13:15 -08:00
Steve Lee 3a8205018e Fix Enter-PSHostProcess test to wait until runspace is ready before attempting to enter (#8725)
This fixes CI test failure in Windows build.
2019-01-23 15:07:34 -08:00
Steve Lee 7e2cd7954f Add the experimental feature for creating 'Temp:\' drive when FileSystemProvider initializes (#8696)
Adds Experimental Feature called `PSTempDrive` that, if enabled, creates a PSDrive called `Temp:` that maps to `[System.IO.Path]::GetTempPath()`.
2019-01-23 13:53:04 -08:00
Steve Lee f7c25e8f7c Update code to use single method to check if path is UNC (#8680)
update all checks if path is unc to one method
2019-01-23 09:37:45 -08:00
Steve Lee a04f6940dd Handle case where applocker test script fails to delete (#8627)
One reported case where during applocker policy check, the test script that is created cannot be deleted because something else (malware scanner?) has a lock on the file.  This results in an exception being thrown in finally block which ultimately causes PowerShell to crash due to the unhandled exception.  Fix is to wrap the deletion in the finally block with try..catch and ignore any exceptions and leave the temp file.

TFS:20156282
2019-01-16 15:00:37 -08:00
Steve Lee c3cb6df809 Update 'CommandNotFound' fuzzy suggestion to only return unique results (#8640) 2019-01-14 14:28:15 -08:00
Steve Lee 6fa5195589 Update fuzzy test to fix daily build (#8629) 2019-01-11 16:45:49 -08:00
Steve Lee 71e58f9439 Add the experimental feature 'PSUseAbbreviationExpansion' to support tab completion on abbreviated command names (#8109) 2019-01-10 16:11:43 -08:00
Steve Lee b87cd1c0a3 Add support to show suggestions on CommandNotFound exception (#8458)
* support fuzzy matching with get-command and on CommandNotFound exception, show suggestion
* fix CodeFactor issues
* change algorithm to use Damerau-Levenshtein Distance which is more useful in finding close matches
2019-01-10 13:35:30 -08:00
Steve Lee 66c72c4366 Change Clear-Host back to using $RAWUI and clear to work over remoting (#8609) 2019-01-10 10:02:59 -08:00