-
8000
Notifications
You must be signed in to change notification settings - Fork 7.6k
New-PSSession now fails with a NullReferenceException and core dump #942
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Comments
I have good news and bad news. In #939, the ConsoleHost at least doesn't fail immediately. It first bails with:
For the Linux configuration, it's looking for the remoting library, which on Linux, is @paulcallen's PSRP provider. Once I provide it:
Since |
And on Windows:
I suspect this is just a configuration issue for me. |
We also don't quite support this:
And even though I successfully ran it in an administrative session and restarted my ConsoleHost, I still couldn't run it. |
The last one makes sense - it's essentially a registry editor and sets a bunch of WSMan state (although it should work just fine on windows) |
as for the error |
Just typed New-PSSession Environment |
I get a similar error as itadder except it core dumps with the Enter-PSSession command on Ubuntu 14.04 as well as when using the CentOS docker image here https://hub.docker.com/r/centos/powershell/. `PS /home/vijay> Enter-PSSession -ComputerName x.x.x.x -Credential myuser Windows PowerShell credential request Unhandled Exception: System.NullReferenceException: Object reference not set to an instance of an object. |
As this is the oldest issue, I'm going to keep it and close all others. |
@paulcallen Can you add a label to indicate progress being made? |
Awesome seeing powershell remoting from Linux to Windows become a reality. Can hardly wait to test this! |
Thank you all VERY MUCH for all the effort you're putting into this!! I've recently switched to Mac OS, but I'd really like to retain the ability to remote PowerShell into my Windows servers and also some stuff in the cloud (Office 365, Azure). I don't code well enough to be much help, but I speak five languages. Let me know if you need any translation done for German, French, Italian, Spanish (or English, obviously ;-) ). |
@paulcallen Great to hear that! Looking forward to this feature. I tried connecting to Office 365 PowerShell from Ubuntu 14.04 and OS X and received the error message below although it worked as expected from Windows. Is further development required prior to supporting this capability? PS > $secpasswd = ConvertTo-SecureString $password -AsPlainText -Force
PS > $UserCredential = New-Object System.Management.Automation.PSCredential($email, $secpasswd)
PS > $Session = New-PSSession -ConfigurationName Microsoft.Exchange -ConnectionUri https://ps.compliance.protection.outlook.com/powershell-liveid/ -Credential $UserCredential -Authentication Basic -AllowRedirection
New-PSSession : [ps.compliance.protection.outlook.com] Connecting to remote server ps.compliance.protection.outlook.com failed with the following error
message : MI_RESULT_FAILED For more information, see the about_Remote_Troubleshooting Help topic.
At line:1 char:12
+ $Session = New-PSSession -ConfigurationName Microsoft.Exchange -Conne ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : OpenError: (System.Manageme....RemoteRunspace:RemoteRunspace) [New-PSSession], PSRemotingTransportException
+ FullyQualifiedErrorId : 1,PSSessionOpenFailed
|
@vinodc the underlying OMI client transport does not support http redirection, so if this results is a http redirect then that is the problem. |
The .14 alpha release was released before the holidays and it has the client-side remoting I mentioned. On CentOS 7 you will need to create a couple of symbolic links to make certain things work though due to the way we build the underlying OMI binaries and we are still ironing out a few packaging kinks.
Other than that basic auth seems to work for psrp remoting over wsman without any further problems. As a side note we have added SPNEGO authentication for NTLM, but we are hitting a number of issues across different platforms
We are also working on other cool stuff too to try and make interop from Linux/OSX to Windows easier. |
@paulcallen Thanks for the quick response. Running |
@vinodc unfortunately at this time we don't support the ConnectionUri way of specifying a destination for Linux remoting, and it does not seem like there are sufficient other options to allow you to specify the http end-point in the pssessionoptions. You can use -computername and -usessl, but the powershell-liveid has no way of been specified any other way. |
@gabriel-samfira For x509 support, are you referring to the use of client SSL certificates as authentication, and WinRM using certificate mapping feature on Windows? |
@paulcallen yes :-) |
@gabriel-samfira adding issue to track this: PowerShell/psl-omi-provider#68 |
Regarding your comment for the alpha .14 release - can we get some details for getting NTLM and SPNEGO working from Linux to Windows for Centos 7? I have PowerShell from git built and I am using it with https://github.com/PowerShell/psl-omi-provider. It works with Basic authentication but I am interested in getting it going with HTTP encryption. In the end I'd like to use this with my own tool, similar to "omicli" tool from https://github.com/Microsoft/omi, and using the libraries coming form there and from the https://github.com/PowerShell/psl-omi-provider repository. |
PowerShell/psl-omi-provider#75 is tracking the documentation and is assigned to @yakman2020 |
I am working on doc as we speak. To see in progress, take a look at the OMI branch, more specifically setup doc for NTLM |
it would be great to get some definitive documentation on how to set this up. The new-pssession test currently causes PowerShell to exit. I know this works in CI, what can I do on my local system to get this working? |
We will be dropping new nuget packages to powershell in a week or two that will make the client more stable. It will also enable initial work for getting Linux/OSX powershell connection to exchange/office365. At the same time new documents for NTLM will be posted. You can look at the documents referred to by @yakman2020. If there is something specific we can certainly help you. |
Excellent news about being able to access Office 365 from Mac OS! On another subject, how will updating PowerShell on the Mac work? I've recently switched from Windows, still a bit new to git. Thanks for any advice! |
I have a little more data to add - I have updated my base PowerShell to version .15 and I'm now not seeing the issue with that version. However, I just built and ran, with the following strangeness: PS /home/james/src/github/Forks/JamesWTruher/PowerShell-1> new-pssession -ComputerName foobarbazbip -Authentication basic
new-pssession : Unable to load DLL 'libpsrpclient': The specified module could not be found.
(Exception from HRESULT: 0x8007007E)
At line:1 char:1
+ new-pssession -ComputerName foobarbazbip -Authentication basic
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : NotSpecified: (:) [New-PSSession], DllNotFoundException
+ FullyQualifiedErrorId : System.DllNotFoundException,Microsoft.PowerShell.Commands.NewPSSessionCommand
PS /home/james/src/github/Forks/JamesWTruher/PowerShell-1> try { new-pssession -ComputerName foobarbazbip -Authentication basic } catch { "hi" }
hi
PS /home/james/src/github/Forks/JamesWTruher/PowerShell-1> cd test/powershell
Unhandled Exception: System.NullReferenceException: Object reference not set to an instance of an object.
at System.Management.Automation.Remoting.PrioritySendDataCollection.Clear() in /home/james/src/github/Forks/JamesWTruher/PowerShell-1/src/System.Management.Automation/engine/remoting/fanin/PriorityCollection.cs:line 158
at System.Management.Automation.Remoting.Client.BaseClientTransportManager.CloseAsync() in /home/james/src/github/Forks/JamesWTruher/PowerShell-1/src/System.Management.Automation/engine/remoting/fanin/BaseTransportManager.cs:line 949
at System.Management.Automation.Remoting.Client.WSManClientSessionTransportManager.CloseAsync() in /home/james/src/github/Forks/JamesWTruher/PowerShell-1/src/System.Management.Automation/engine/remoting/fanin/WSManTransportManager.cs:line 1219
at System.Management.Automation.Remoting.Client.BaseClientTransportManager.Finalize() in /home/james/src/github/Forks/JamesWTruher/PowerShell-
9E88
1/src/System.Management.Automation/engine/remoting/fanin/BaseTransportManager.cs:line 998 I don't know whether this helps you at all, but I thought I would let you know. |
@JamesWTruher I just installed .15 on my Ubuntu 16.04 machine and things worked just fine. What platform are you on? |
@ElFerminador mac osx installation details are here. I believe it deletes the old directory and installs a new one. That is what happens on Ubuntu 16.04 at least. |
I am closing this thread as the primary issue should now be fixed, along with some of the sub issues that have shown up on this thread. The office 365 fixes should be in the alpha.17 build when it comes out. |
@paulcallen I've confirmed connectivity to Office 365 via PowerShell from Ubuntu 14.04 works great!! Thank you and @yakman2020 very much for your hard work the past two months to make this happen. Really appreciate it. |
This is awesome! |
@vinodc Glad it is working for you. |
Thanks. It really means a lot to hear. Now on to the next thing, already in progress. |
@paulcallen as you have mentioned to @vinodc here that proxy setting/authentication is not yet supported, is this still true on below version? PSVersion 6.0.0-beta if yes, are there any workaround to use powershell behind proxy on linux for New-PSSession cmdlet? thank you in advance. |
OMI client does not support proxy settings, and does not respond to proxy responses. Sorry. |
@paulcallen Thank you for your reply. How about setting the http_proxy before running powershell, will it take too long to change the code? It will be really helpful for us working behind proxies if it will be implemented. |
I created an OMI issue to track adding proxy support for the omi client: omi issue 403 |
Note from @andschwa (hijacking for visibility):
As this is the oldest issue, I'm going to keep it and close all others.
New-PSSession
(whether its loopback on the local machine or not) is PSRP (as isEnter-PSSession
andInvoke-Command
etc.), which is in progress but not yet supported. Please follow the progress on the PSRP on Linux repo. We (mostly @paulcallen and @palladia) are working hard to get this ready, and clearly hear how much you all want it! Please be patient while we finish the implementation.Original issue:
Before submitting this issue, please first:
Steps to reproduce
new-pssession
Expected behavior
graceful failure
Actual behavior
Environment data
Please fill in the results of the following commands:
The text was updated successfully, but these errors were encountered: