Commit Graph
1188 Commits
Author SHA1 Message Date
Travis Plunk 5e4b4d1351 Make command searcher not use wildcard search for execution (#9202) 2019-04-02 11:54:11 -07:00
Rene Hernandez 75da390d1e Add ItemSeparator and AltItemSeparator properties in ProviderInfo (#8587)
Add two properties in `ProviderInfo` class: `ItemSeparator` and `AltItemSeparator`.
On windows, the default values for those two properties are `ItemSeparator = '\'` and `AltItemSeparator = '/'`.
On unix, the default values for those two properties are `ItemSeparator = '/'` and `AltItemSeparator = '\'`.

Registry provider is the only exception, both properties for it have the value `\`.
2019-04-02 09:59:36 -07:00
pougetat 0ee5278b40 Fix Get-Module -FullyQualifiedName option to work with paths (#9101) 2019-03-29 15:27:09 -07:00
Ilya 7dc17a35a9 Enhance the P/Invoke code for LookupAccountSid in Process.cs (#9197) 2019-03-26 21:11:25 -07:00
pougetat 0f429f2553 Fix coding style for NewModuleManifestCommand (#9134) 2019-03-26 16:55:55 +05:00
Ilya 49c38684a3 Remove unused method CredUIPromptForCredential from HostUtilities.cs (#9220) 2019-03-25 17:02:33 -07:00
ThreeFive-O 487f11adf5 Remove non-existent paths from .csproj files (#9214) 2019-03-25 09:58:12 -07:00
Paul Higinbotham 9ea60587fc Add psremoting enable/disable cmdlet warning messages (#9203)
Adds warning messages to the Enable-PSRemoting and Disable-PSRemoting cmdlets that informs the user that the cmdlets only affect PSCore6 remoting endpoint configurations and not Windows PowerShell configurations.

PR Context
As documented, Enable-PSRemoting and Disable-PSRemoting affects all PowerShell remoting on a Windows system, and Windows users will likely expect the cmdlets to continue working this way in PSCore6. However, these cmdlets currently affect only PSCore6 remoting endpoints when run in PSCore6 and have no effect on Windows remoting endpoints.
2019-03-25 09:39:15 -07:00
Tyler James Leonhardt cd7d7797e4 Typo in new parameter set (#9205) 2019-03-25 08:17:18 +05:00
Reece Dunham df37094092 Minor FileSystemProvider cleanup (#9182) 2019-03-24 22:07:25 +05: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
Ilya cc6540b614 Cleanup style issues in CoreAdapter and MshObject (#9190) 2019-03-23 09:52:30 +05:00
dependabot[bot] 8f943b9f02 Build(deps): Bump Microsoft.PowerShell.Native from 6.2.0-rc.1 to 6.2.0 (#9200) 2019-03-22 13:33:00 -07:00
Steve Lee 0cd0de1e0d Add xsd for cdxml (#9177) 2019-03-21 11:22:36 +05:00
Staffan Gustafsson 42c289fc8e Improve formatting performance by having better primitives on PSObject (#8785)
By not doing excessive amounts of extra work, formatting can be sped up quite significantly (about 8x faster).
The main change comes from adding new, more efficient, primitive to query an object for the existence of an instance member.
The formatting system has been checking for if an object has properties other than some decorated properties added by PS remoting, and it doesn't this by retrieving all properties which results in heavy allocations and wasted cycles.
By adding `GetFirstOrDefault` to `PSObject` and similar primitives to the underlying Adapters, we are able to return early, without having to get all properties back.
2019-03-20 18:43:52 -07:00
Aditya Patwardhan 0fe9af4856 Fix Restart-Computer to work on localhost when WinRM is not present (#9160) 2019-03-19 14:18:29 -07:00
Patrick Meinecke b4ebf63335 Improve type inference of array literals and foreach statement variables (#8100)
Improve type inference for foreach statement variables by:

Inferring strongly typed arrays from explicit array and array literal expressions when elements are of the same inferred type

Fix detection of foreach variable declaration. The previous logic was to check if the variable expression's start offset was after the end offset of the foreach statement, which will never be true in the body

Improve inference of what type the "Condition" of a foreach statement will enumerate as
2019-03-19 13:36:27 -07:00
Dongbo Wang 24d3152f00 Make Start-Job throw terminating exception when -RunAs32 is specified in 64-bit pwsh (#9143) 2019-03-18 10:23:29 -07:00
Paul Higinbotham 66ab6e7e74 Fix for FormatTable remote deserialization regression (#9116) 2019-03-18 09:59:33 -07:00
Dongbo Wang cdb28a1067 Make 'Start-Job' throw terminating error when PowerShell is being hosted (#9128) 2019-03-13 17:57:42 -07:00
pougetat a79ed1ef0f Make New-ModuleManifest consistent with Update-ModuleManifest (#9104) 2019-03-13 12:01:42 -07:00
Staffan Gustafsson 9983297254 Removing Hardlink from Mode property in default file system format (#8789) 2019-03-12 15:49:16 -07:00
Staffan Gustafsson 0ebbdc1cc4 Fixing issue with help progress with Get-Help not calling Completed (#8788) 2019-03-11 11:26:01 -07:00
Staffan Gustafsson 6c049d0cb3 Using supported syntax for restoring warnings - VS2019 complains about enable. (#9107) 2019-03-11 14:42:41 +05:00
pougetat e3829cb60f Allow Test-ModuleManifest to work when RootModule has no file extension (#8687) 2019-03-10 14:57:19 -07:00
Ilya ba60904350 Get MethodInfo from .NET public type with explicit parameter types (#9029) 2019-03-09 19:05:10 -08:00
Ilya 34394116ff Add retry logic to the operation that updates 'powershell.config.json' (#8779) 2019-03-09 17:57:51 -08: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
Joel Sallow (/u/ta11ow) b23e835d2d Rename private methods in MshCommandRuntime.cs (#9074)
* DoWriteObjects() -> DoWriteEnumeratedObject()
* _WriteObjectsSkipAllowCheck() -> _EnumerateAndWriteObjectSkipAllowCheck()
2019-03-08 19:28:39 +05:00
Dongbo Wang 50f3e7f10e Update the task-based async APIs added to PowerShell to return a Task object directly (#9079)
Update the task-based async APIs added to PowerShell to not use the `aysnc/await` keywords, but to return a `Task` object directly.
There is nothing to continue on after the `Task.Factory.FromAsync` call in those methods, so there is not need to use `aysnc` and `await` keywords, which turns the method into a state machine class unnecessarily.
2019-03-07 11:24:31 -08:00
Kirk Munro 45aba2acb5 Add 5 'InvokeAsync' overloads and 'StopAsync' to the 'PowerShell' type (#8056) 2019-03-06 10:06:11 -08:00
Joel Sallow (/u/ta11ow) cd4b194cbb Cleanup & update ErrorRecord class code style (#9021) 2019-03-06 08:53:30 +05:00
Travis Plunk 8a877d6160 Merge branch 'release/v6.2.0-rc.1' into master
# Conflicts:
#	src/System.Management.Automation/engine/parser/Compiler.cs
2019-03-05 11:13:22 -08:00
Aditya Patwardhan 7062297e4e Update version for PowerShell.Native and hosting tests (#8983) 2019-03-04 11:08:19 -08:00
Ilya 7ed35e3494 Remove unused cached types from CachedReflectionInfo (#9019) 2019-03-01 23:08:44 +05:00
Aditya Patwardhan b2a8a733de Remove unused cached types (#9015)
These types are not used in PowerShell code base and should be removed.

## PR Context

The dotnet 3.0.100-preview3-010406 version added overloads to `string.get_Chars` and hence we cannot resolved which overload to load. Thus, we get an type load exception.

Since we are no using this type, it is better to remove it.
2019-02-28 17:28:44 -08:00
Aditya Patwardhan cae9e952b5 Remove unused cached types (#9015)
These types are not used in PowerShell code base and should be removed.

## PR Context

The dotnet 3.0.100-preview3-010406 version added overloads to `string.get_Chars` and hence we cannot resolved which overload to load. Thus, we get an type load exception.

Since we are no using this type, it is better to remove it.
2019-02-28 17:13:39 -08:00
Reece Dunham 4cd6a3beb7 Fix CodeFactor brace style issues in FileSystemProvider (#8992) 2019-02-28 20:00:23 +05:00
Ilya d588a36880 Use List.AddRange (#9001) 2019-02-28 16:48:26 +05:00
Ilya 11ae24fcad Cleanup dllimport (#8847) 2019-02-27 08:33:46 +05:00
Tyler James Leonhardt 23eccfd641 [feature] Add -CustomPipeName to pwsh and Enter-PSHostProcess (#8889)
This allows a user to start PowerShell up with the name of the named pipe that is used for cross process communication (I.e. Enter-PSHostProcess).
2019-02-22 23:40:03 +05:00
Travis Plunk 57aeca428e Port Security bypass fixes from 6.1.3 (#8915) 2019-02-21 13:44:08 -08:00
Dongbo Wang 8617363089 Use the OperationCancellationException to replace the StoppingException in 'ConvertToJson' (#8920) 2019-02-20 23:55:39 -08: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
Mathias R. Jessen 0a570211df Flatten interface hierarchy when generating properties that implement interface properties (#8382)
`TypeBuilder.GetInterfaces()` returns only the interfaces that was explicitly passed to its constructor, so we need to flatten the interface hierarchy in order to properly support inherited interfaces.
2019-02-19 15:02:34 -08:00
Reece Dunham c14d5dd67f Remove some of the last AppVeyor references (#8867)
This removes some of the last mentions of the AppVeyor name.  Don't change the title, we don't want the word to appear in the CLs
Also problem: the last references are in the changelogs but I don't want to modify them without committee approval.  

## PR Context  

it was removed, #8686
2019-02-19 12:44:00 -08:00
Ilya ff3edaa2e3 Fix lgtm issues (#8843)
Add some null checks
Remove unused code
2019-02-13 16:51:05 +05:00
Tom Hvitved 5f59a9dfef Fix length check in PSSnapinQualifiedName.GetInstance() (#8837) 2019-02-08 23:50:19 +05: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