Commit Graph
2683 Commits
Author SHA1 Message Date
Sergey Vasin 2291a898c3 Add 'TimeToLive' and 'Hops' aliases to MaxHops parameter of Test-Connection cmdlet. (#7850)
Add the following aliases to MaxHops parameter of Test-Connection cmdlet:
- TimeToLive
 It is the similar parameter's name from Windows PowerShell Test-Connection cmdlet .
- Hops
 Similar parameter's name from Test-NetConnection cmdlet.
2018-09-27 15:59:10 +05:00
Dongbo Wang 0cce2ae44e Clean up MshObject.cs and MshMemberInfo.cs (#7446)
Clean up style issues.
2018-09-26 09:27:43 +05:00
Travis Plunk b5c39c1a36 Bump Microsoft.PowerShell.Native from 6.1.0-rc.1 to 6.1.0 (#7861) 2018-09-25 17:53:13 -07:00
Steve Lee 769ba7b95c Update PowerShellGet to 2.0.0 (#7831) 2018-09-24 14:58:13 -07:00
Travis Plunk 8a0abf459c update markdown tests (#7838)
update markdown tests

  - explicitly use gulp 4.0 beta because 3.9 depends on a vulnerable package
2018-09-24 10:14:43 -07:00
Dongbo Wang 0f0c46dfe5 Update to .NET Core 2.1.4 with SDK 2.1.402 (#7834) 2018-09-21 13:25:03 -07:00
Dongbo Wang b6d12a35ed [Feature] Fix .NET adapter to be able to get members from System.IntPtr (#7808)
The type System.IntPtr has an explicit cast operator defined that takes a pointer type System.void* parameter. Now we handle that type properly in GetPSMethodProjectedType.
2018-09-20 08:15:42 +05:00
Staffan Gustafsson eb286332cf Create inferred types for Select-Object, Group-Object, PSObject and Hashtable (#7231)
Fixes #7230.

Adding the concept of a PSSyntheticTypeName, derived from PSTypeName,
that extends it with a list of synthetic members.

This allows us to express the inferred type of
```
[pscustomobject] @{
   A = 1
   B = "2"
}
```
as a "PSObject#A:B" and with information about the types of A and B.

This is also used to annotate the output of
```
Select-Object -Property
Select-Object -ExcludeProperty
Select-Object -ExpandProperty
```
Finally, it adds information about the types of the
`Group` and `Value` properties of the output of `Group-Object`
2018-09-19 15:43:22 -07:00
Ilya 985928be7b Remove extra space in LastWriteTime format (#7810) 2018-09-19 19:11:05 +05:00
Ilya cc5f36c67a Allow numeric Ids and name of registered code pages in '-Encoding' parameters (#7636)
Enhance the encoding transformation attribute:
- to allow numeric Ids of registered code pages (like -Encoding 1251)
- to allow string names of registered code pages (like -Encoding "windows-1251")
2018-09-19 18:53:03 +05:00
Christoph Bergmeister [MVP] 4bc22d92df Add support for 'cd +' (#7206)
'cd +' adds the ability to revert 'cd -' by having another bounded stack with the same limit for 'redo' actions.
Behaviour is similar to back/forward navigation in explorer.exe
When the location is set to a path and the redo stack is non-empty then the redo stack gets flushed.
When cd + happens, then the redo stack is pushed to as well for a more intuitive way of navigating backwards and forwards.
All the work is done of course on the Set-location cmdlet, which is aliased to cd on all platforms.
2018-09-19 12:50:30 +05:00
Dongbo Wang 285e471034 Fix .NET adapter to not throw when fails to create a PSMethod due to ByRef-like type (#7788) 2018-09-17 12:45:55 -07:00
Ilya f90fa8afc1 [Breaking change] Do not add PATHEXT environment variable on Unix (#7697)
* Don't create env:PATHEXT on Unix
* Use IsExecutable()
* Add conditional compile
2018-09-14 08:03:56 +05:00
Dongbo Wang 720e842c86 Support calling method with ByRef-like type parameters (#7721)
Support calling methods with ByRef-like type parameters in PowerShell, as long as the argument specified for the parameter can be implicitly/explicitly converted to the ByRef-like type.

We cannot create an instance of a ByRef-like type in PowerShell, but there are types that can be implicitly or explicitly converted to ByRef-like types, such as `T[] -> Span<T>`, `T[] -> ReadOnlySpan<T>`, `String -> ReadOnlySpan<T>`. `ArraySegment<T> -> Span<T>`, `ArraySegment<T> -> ReadOnlySpan<T>`. With changes in this PR, we can call methods with ByRef-like parameter types by providing the arguments of the types that can be cast to the target ByRef-like type.

**What is enabled?**
1. Invoking methods that have ByRef-like parameters, but the return type is not ByRef-like.
2. Invoking constructors with ByRef-like parameters via `[target-type]::new` syntax, but the `target-type` is not ByRef-like.
3. Accessing indexers that have ByRef-like parameters, but the return type is not ByRef-like.
2018-09-11 16:57:35 -07:00
Dongbo Wang 131f1f9efb Reference to the latest version of 'NJsonSchema' package (#7764) 2018-09-11 16:16:40 -07:00
ThreeFive-O 4e98f244fd Add unified attribute for completion for Encoding parameter. (#7732)
Provide a tab completion attribute (ArgumentEncodingCompletionsAttribute) for an Encoding parameter.
This PR should fix the duplicated code warning in CodeFactor
2018-09-11 09:26:12 +05:00
Dan Travison 528d970850 Ensure the SSHClientSessionTransportManager stream writer and reader fields are cleared after dispose. (#7746)
Fix possible race conditions accessing the fields during CloseConnection.
2018-09-10 12:31:56 -07:00
Dan Travison 4683934793 Update PowerShell to handle the case where the Windows PowerShell module path is already in the environment's PSModulePath (#7727)
This change updates ModuleIntrinsics.GetModulePath to handle the case where the Windows PowerShell module path is already in the environment's PSModulePath or when launched from a different version of PowerShell.

Previously, GetModulePath would append $PSHOME\Modules to the PSModulePath after removing the path for the launching version without considering the Windows PowerShell module path. The result, was the Windows PowerShell modules were found first and loaded incompatible modules; such as the built-in modules.

The change detects the Windows PowerShell module path and inserts $PSHOME\Modules path before it. The new test simulates launching from a different version of pwsh that has already added the Windows PowerShell module path.

Fixes #7679
2018-09-10 10:58:38 -07:00
Ilya b8fb55340d Cleanup FileSystemProvider from runtime checks (#7655)
Replace runtime checks with compile time checks.
Remove unneeded methods.
2018-09-09 00:40:06 +05:00
ThreeFive-O dfe415e4ef Improve code style of Send-MailMessage cmdlet (#7723) 2018-09-08 23:19:48 +05: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
Steve Lee 70d601502d update PSReadLine to 2.0.0-beta3 (#7711)
Update PSReadLine shipped with PSCore6 to 2.0.0-beta3
2018-09-05 13:40:50 -07:00
Sergey Vasin d886c1b2b5 Fix a typo in Credential.cs. (#7696) 2018-09-05 11:15:47 +05:00
Travis Plunk 5cb683d91d update njsonschema (#7705) 2018-09-04 18:38:04 -07:00
Steve Lee b99fde0389 Fix perf issue in provider by using Refresh() to update the status rather than instantiating ServiceController which has a significant perf degradation from .NET Framework (#7680) 2018-09-04 10:00:16 -07:00
Claus T Nielsen eb92b14433 Fix file blocking issue with webcmdlets (#7676) 2018-09-02 00:26:24 +05:00
Travis Plunk e2a45f0992 Add tests to report when package references are out of date (#7661)
Add tests to report when package references are out of date
  - Also, update the packaging script to generate updated `files.wxs`
2018-08-31 12:50:51 -07:00
Sergey Vasin e66b74f55e Remove extra spaces in error messages in Modules.resx. (#7662) 2018-08-31 09:52:39 +05: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
Patrick Meinecke 5c2faaf02e Enable indexing operations on objects that implement ITuple (#7633)
This change enables index operations on objects that implement `ITuple` and other interfaces that have `DefaultMemberAttribute` declared, including slicing and negative indexing.
2018-08-30 10:54:26 -07:00
James Truher [MSFT] 6d74298bb7 Remove 'Suspend-Job' and 'Resume-Job' cmdlets from compilation (#7650)
The classes for the cmdlets are present but the Cmdlet attribute has been removed. There is no reason why we should be compiling these files, and it very slightly impacts our code coverage numbers.
2018-08-29 17:11:20 -07:00
Yuriy Kushnir 165f2c9a42 Use non-virtual call to invoke 'family or assembly' methods on base class from PowerShell class (#7622) (#7624) 2018-08-28 22:24:06 -07:00
zhenggu 358e8abefe Fix Set-Service -Status Stopped to stop services with dependencies (#5525) 2018-08-28 11:03:12 -07:00
PRASOON KARUNAN V 2b61159ca7 Remove empty xml comment lines(missed in #7401) (#7641) 2018-08-28 09:14:33 +05:00
Staffan Gustafsson 87ccd0aa40 Only display properties with values for MeasureInfo (#7104)
* Adding support for built-in List formats to include ItemSelectionCondition
* Adding ItemSelectionCondition to GenericMeasureInfo
* Adding tests for MeasureInfo format-list
* Adding positive tests
2018-08-28 08:18:56 +05:00
Staffan Gustafsson 1bfe96d3c4 Add Duration property to HistoryInfo (#5208)
* Remove regions in HistoryInfo class
* Auto properties refactoring in HistoryInfo
* Adding Duration property to HistoryInfo
* Rename ExecutionTime => Duration
2018-08-28 08:03:07 +05:00
Aditya Patwardhan aec954e3ed Fix null reference when markdown content is empty (#7463) 2018-08-27 11:58:19 +05:00
Dongbo Wang 86469bda33 Handle operations with ByRef-like types gracefully in PowerShell (#7533)
ByRef-like types are supposed to be used on stack only, so we need to fail gracefully when accessing properties, calling methods, or creating objects related to ByRef-like types.
2018-08-26 12:50:58 -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
Bruce Payette 4943bbfd9e Add LocationChangedAction handler and tests to support the Windows Compat module (#7552)
Add LocationChangedAction handler and tests to support the Windows Compat module.
2018-08-22 12:08:03 -07:00
Aditya Patwardhan 9fa97adeba Update PSGet version (#7564) 2018-08-17 15:50:38 -07:00
Aditya Patwardhan 96b2c83c59 Update reference to use packages from NuGet.org (#7525)
Update psrp and libpsl reference to Microsoft.PowerShell.Native
Keep the reference to powershell.myget.org in nuget.config for PSDesiredStateConfiguration and PowerShellHelpFiles
Update hosting tests
Update hosting.tests.csproj in preparation on next release with version 6.1.0-rc.1
Update Microsoft.Management.Infrastructure to version 1.0.0
2018-08-16 15:56:15 -07:00
Travis Plunk a746fd29ec Revert "Throw error on entering non-existing type in Get-FormatData (#7434)" (#7546)
Revert "Throw error on entering non-existing type in Get-FormatData (#7434)
This reverts commit b754cd80d5.

Per this comment https://github.com/PowerShell/PowerShell/pull/7434#issuecomment-413696259
2018-08-16 15:46:12 -07:00
Dongbo Wang 79234ca91a Update version of modules shipped with PowerShell (#7531) 2018-08-15 15:25:08 -07:00
Paul Higinbotham a21366710c Updated thread job to version 1.1.2 (#7522)
Added fix to remove unneeded validation attribute for Arguments parameter, and made tests work with strict mode.
2018-08-14 17:09:48 -07:00
Ilya 4ee1973d97 Fix some style issues in engine code (#7246)
The PR resolves some style issues in engine code. (Moved from PR #7242. )
2018-08-13 17:03:27 -07:00
Staffan Gustafsson 1243891ea8 Improve performance on json to psobject conversion (#7482)
This amounts so a speed-up in the order of 7x. Cmdlets that benefit from this are `Convertfrom-Json` and `Invoke-RestMethod`. There are three main changes:

- Convert from `JArray` directly to object array instead of creating a `List` and do `list.ToArray()`.
- Avoid iterating through `PSObject.Properties` to check for existing members, since that is a very slow and allocation heavy code path.
- Pre-allocate the members in `PSObject` by using the newly added constructor accepting an initial member count.
2018-08-10 10:28:15 -07:00
Staffan Gustafsson 3aaa1816d1 Adding 'LanguagePrimitives.TryCompare' to provide faster comparisons (#7438) 2018-08-10 10:20:27 -07:00
Brandon Olin 8374a5c97d Remove one unneeded verbose output from 'ConvertTo-Json' (#7487) 2018-08-10 10:13:05 -07:00