2016-01-20 21:29:06 +01:00
|
|
|
# Known Issues
|
|
|
|
|
2016-06-22 04:06:04 +02:00
|
|
|
## Files excluded from the build
|
2016-02-03 00:15:40 +01:00
|
|
|
|
2016-06-22 04:06:04 +02:00
|
|
|
#### Microsoft.PowerShell.Commands.Management
|
|
|
|
|
|
|
|
- The file `ControlPanelItemCommand.cs` is excluded from all frameworks in `Microsoft.PowerShell.Commands.Management`
|
2016-06-21 02:52:09 +02:00
|
|
|
because it has dependency on `[Shell32.ShellFolderItem]` for FullCLR builds.
|
2016-02-03 00:15:40 +01:00
|
|
|
|
2016-06-22 04:06:04 +02:00
|
|
|
#### Microsoft.PowerShell.GraphicalHost
|
|
|
|
|
|
|
|
```
|
|
|
|
"ManagementList/CommonControls/ExpanderButtonAutomationPeer.cs",
|
|
|
|
"ManagementList/CommonControls/ExpanderButton.cs",
|
|
|
|
"ManagementList/CommonControls/ExpanderButton.Generated.cs",
|
|
|
|
"ManagementList/Common/PopupControlButton.cs",
|
|
|
|
"ManagementList/Common/PopupControlButton.Generated.cs"
|
|
|
|
```
|
2016-05-19 02:45:45 +02:00
|
|
|
|
2016-06-22 04:06:04 +02:00
|
|
|
Excluded because they requires `UIAutomationTypes.dll`
|
2016-05-19 02:45:45 +02:00
|
|
|
|
2016-07-02 01:55:44 +02:00
|
|
|
#### Microsoft.PowerShell.ConsoleHost
|
|
|
|
|
|
|
|
These are excluded from all builds with `#if !PORTABLE`.
|
|
|
|
They require .NET types that are currently missing.
|
|
|
|
|
|
|
|
```
|
|
|
|
singleshell/installer/EngineInstaller.cs
|
|
|
|
singleshell/installer/MshHostMshSnapin.cs
|
|
|
|
```
|
|
|
|
|
2016-05-19 23:18:24 +02:00
|
|
|
## Jobs
|
|
|
|
|
|
|
|
The PowerShell jobs fail, see [#1010][].
|
|
|
|
|
|
|
|
[#1010]: https://github.com/PowerShell/PowerShell/issues/1010
|
|
|
|
|
2016-01-20 21:29:06 +01:00
|
|
|
## xUnit
|
|
|
|
|
2016-03-08 19:12:03 +01:00
|
|
|
The xUnit tests can only be run on Linux.
|
2016-01-20 21:29:06 +01:00
|
|
|
|
|
|
|
## Console Output
|
|
|
|
|
|
|
|
Performance issues have been seen in some scenarios, such as nested SSH
|
|
|
|
sessions. We believe this is likely an issue with `Console.ReadKey()` and are
|
|
|
|
investigating.
|
|
|
|
|
2016-05-18 19:50:00 +02:00
|
|
|
## Non-interactive console bugs
|
|
|
|
|
|
|
|
The `ConsoleHost` is buggy when running under an environment without a proper
|
|
|
|
TTY. This is due to exceptions thrown in the `RawUI` class from `System.Console`
|
|
|
|
that are silenced in the formatting subsystem. See issue [#984][].
|
|
|
|
|
|
|
|
[#984]: https://github.com/PowerShell/PowerShell/issues/984
|
|
|
|
|
2016-05-18 19:36:52 +02:00
|
|
|
## Sessions
|
|
|
|
|
2016-06-17 01:09:38 +02:00
|
|
|
On Linux, PowerShell sessions do not work because of remoting requirements, so
|
2016-05-18 19:36:52 +02:00
|
|
|
`New-PSSession` etc. crash.
|
|
|
|
|
2016-05-18 19:43:16 +02:00
|
|
|
## Aliases
|
|
|
|
|
|
|
|
The aliases that conflict with native Linux / OS X commands are removed. This is
|
|
|
|
an open discussion in issue [#929][]. See commit 7d9f43966 for their removal,
|
|
|
|
and 3582bb421 for the merge.
|
|
|
|
|
|
|
|
[#929]: https://github.com/PowerShell/PowerShell/issues/929
|
|
|
|
|
2016-01-30 02:24:02 +01:00
|
|
|
## Unavailable cmdlets
|
|
|
|
|
|
|
|
This project includes the CoreCLR versions of the `Commands.Management`,
|
|
|
|
`Commands.Utility`, `Security`, and `PSDiagnostics` modules.
|
|
|
|
|
|
|
|
The `Archive`, `Diagnostics`, `PSGet`, and `Host` modules are not yet included.
|
|
|
|
|
|
|
|
The `WSMan.Management` module cannot be included unless the
|
|
|
|
`Management.Infrastructure.Native` library is ported.
|
|
|
|
|
|
|
|
The CoreCLR version of the `Commands.Utility` module does not contain the
|
|
|
|
following cmdlets that exist in the FullCLR version:
|
|
|
|
|
|
|
|
- ConvertFrom-String
|
|
|
|
- ConvertTo-Html
|
|
|
|
- Export-PSSession
|
|
|
|
- Import-PSSession
|
|
|
|
- Invoke-RestMethod
|
|
|
|
- Invoke-WebRequest
|
|
|
|
- Out-GridView
|
|
|
|
- Out-Printer
|
|
|
|
- Send-MailMessage
|
|
|
|
- Show-Command
|
|
|
|
- Update-List
|
2016-06-15 21:16:03 +02:00
|
|
|
|
2016-07-12 04:26:29 +02:00
|
|
|
### ExecutionPolicy unavailable on non-Windows platform
|
|
|
|
|
|
|
|
ExecutionPolicy is not implemented on non-Windows platforms and the following related CmdLets will return the error below.
|
|
|
|
|
|
|
|
- Get-ExecutionPolicy
|
|
|
|
- Set-ExecutionPolicy
|
|
|
|
|
|
|
|
```
|
|
|
|
Set-ExecutionPolicy : Operation is not supported on this platform.
|
|
|
|
At line:1 char:1
|
|
|
|
+ Set-ExecutionPolicy AllSigned
|
|
|
|
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
|
|
+ CategoryInfo : NotSpecified: (:) [Set-ExecutionPolicy], Platfor
|
|
|
|
mNotSupportedException
|
|
|
|
+ FullyQualifiedErrorId : System.PlatformNotSupportedException,Microsoft.P
|
|
|
|
owerShell.Commands.SetExecutionPolicyCommand
|
|
|
|
|
|
|
|
```
|
|
|
|
|
2016-06-15 21:16:03 +02:00
|
|
|
## File paths with literal backward slashes
|
|
|
|
|
|
|
|
On some filesystems (Linux, OS X), file paths are allowed to contain literal
|
|
|
|
backward slashes, '\', as valid filename characters. These slashes, when
|
|
|
|
escaped, are not directory separators. In Bash, the backward slash is the escape
|
|
|
|
character, so a `path/with/a\\slash` is two directories, `path` and `with`, and
|
|
|
|
one file, `a\slash`. In PowerShell, we *will* support this using the normal
|
|
|
|
backtick escape character, so a `path\with\a``\slash` or a
|
|
|
|
`path/with/a``\slash`, but this edge case is *currently unsupported*.
|
|
|
|
|
|
|
|
That being said, native commands will work as expected. Thus this is the current
|
|
|
|
scenario:
|
|
|
|
|
|
|
|
```powershell
|
|
|
|
PS > Get-Content a`\slash
|
|
|
|
Get-Content : Cannot find path '/home/andrew/src/PowerShell/a/slash' because it does not exist.
|
|
|
|
At line:1 char:1
|
|
|
|
+ Get-Content a`\slash
|
|
|
|
+ ~~~~~~~~~~~~~~~~~~~~
|
|
|
|
+ CategoryInfo : ObjectNotFound: (/home/andrew/src/PowerShell/a/slash:String) [Get-Co
|
|
|
|
ntent], ItemNotFoundException
|
|
|
|
+ FullyQualifiedErrorId : PathNotFound,Microsoft.PowerShell.Commands.GetContentCommand
|
|
|
|
|
|
|
|
PS > /bin/cat a\slash
|
|
|
|
hi
|
|
|
|
|
|
|
|
```
|
|
|
|
|
|
|
|
The PowerShell cmdlet `Get-Content` cannot yet understand the escaped backward
|
|
|
|
slash, but the path is passed literally to the native command `/bin/cat`. Most
|
|
|
|
file operations are thus implicitly supported by the native commands. The
|
|
|
|
notable exception is `cd` since it is not a command, but a shell built-in,
|
|
|
|
`Set-Location`. So until this issue is resolved, PowerShell cannot change to a
|
|
|
|
directory whose name contains a literal backward slash.
|