Repository navigation
New-PSSession now fails with a NullReferenceException and core dump #942
Description
Activity
I have good news and bad news. In #939, the ConsoleHost at least doesn't fail immediately. It first bails with:
New-PSSession : Unable to load DLL 'libpsrpomiprov': The specified module could not be found. (Exception from HRESULT: 0x8007007E) At line:1 char:1 + New-PSSession + ~~~~~~~~~~~~~ + CategoryInfo : NotSpecified: (:) [New-PSSession], DllNotFoundException + FullyQualifiedErrorId : System.DllNotFoundException,Microsoft.PowerShell.Commands.NewPSSessionCommandFor the Linux configuration, it's looking for the remoting library, which on Linux, is Paul Allen (@paulcallen)'s PSRP provider. Once I provide it:
New-PSSession : Unable to find an entry point named 'WSManInitialize' in DLL 'libpsrpomiprov'. At line:1 char:1 + New-PSSession + ~~~~~~~~~~~~~ + CategoryInfo : NotSpecified: (:) [New-PSSession], EntryPointNotFoundException + FullyQualifiedErrorId : System.EntryPointNotFoundException,Microsoft.PowerShell.Commands.NewPSSessionCommandSince
WSManInitializeis unimplemented. A (@ealexjordan) and Paul Allen (@paulcallen), is this something you plan to implement?And on Windows:
New-PSSession : [localhost] Connecting to remote server localhost failed with the following error message : Access is denied. For more information, see the about_Remote_Troubleshooting Help topic. At line:1 char:1 + New-PSSession + ~~~~~~~~~~~~~ + CategoryInfo : OpenError: (System.Manageme....RemoteRunspace:RemoteRunspace) [New-PSSession], PSRemotin gTransportException + FullyQualifiedErrorId : AccessDenied,PSSessionOpenFailedI suspect this is just a configuration issue for me.
We also don't quite support this:
> Enable-PSRemoting -Force Enable-PSRemoting : The term 'Enable-PSRemoting' is not recognized as the name of a cmdlet, function, script file, or operable program. Check the spelling of the name, or if a path was included, verify that the path is correct and try again. At line:1 char:1 + Enable-PSRemoting -Force + ~~~~~~~~~~~~~~~~~ + CategoryInfo : ObjectNotFound: (Enable-PSRemoting:String) [], CommandNotFoundException + FullyQualifiedErrorId : CommandNotFoundExceptionAnd even though I successfully ran it in an administrative session and restarted my ConsoleHost, I still couldn't run it.
JamesWTruher commented
on May 4, 2016 CollaboratorAuthorMore actionsThe 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)
JamesWTruher commented
on May 4, 2016 CollaboratorAuthorMore actionsas for the error
New-PSSession : [localhost] Connecting to remote server localhost failedtake a look at $error[0].Exception (and the rest) - the exception from the remote context should also be available to you, as well as a call stackJust typed New-PSSession
Then I got this.
Unhandled Exception: System.NullReferenceException: Object reference not set to an instance of an object.
at System.Management.Automation.Remoting.PrioritySendDataCollection.Clear()
at System.Management.Automation.Remoting.Client.BaseClientTransportManager.CloseAsync()
at System.Management.Automation.Remoting.Client.WSManClientSessionTransportManager.CloseAsync()
at System.Management.Automation.Remoting.Client.BaseClientTransportManager.Finalize()
Abort trap: 6Environment
Darwin MacBook-Pro.posh.net 15.6.0 Darwin Kernel Version 15.6.0: Thu Jun 23 18:25:34 PDT 2016; root:xnu-3248.60.10~1/RELEASE_X86_64 x86_64- addedIssue-Enhancementthe issue is more of a feature request than a bugthe issue is more of a feature request than a bugWG-Cmdletsgeneral cmdlet issuesgeneral cmdlet issuesWG-RemotingPSRP issues with any transport layerPSRP issues with any transport layer
on Sep 2, 2016 27 remaining items
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 Bruce Campbell (@yakman2020). If there is something specific we can certainly help you.
Reacted by ElFerminador and thilotannerExcellent 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!
JamesWTruher commented
on Feb 1, 2017 CollaboratorAuthorMore actionsI 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-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.
James Truher (@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.
Reacted by Vinod ChandruPaul Allen (@paulcallen) I've confirmed connectivity to Office 365 via PowerShell from Ubuntu 14.04 works great!! Thank you and Bruce Campbell (@yakman2020) very much for your hard work the past two months to make this happen. Really appreciate it.
Reacted by Paul Allenandyleejordan commented
on Mar 10, 2017 MemberMore actionsThis is awesome!
Vinod Chandru (@vinodc) Glad it is working for you.
Also wanted to mention George Fleming (@palladia) as well. Both Bruce Campbell (@yakman2020) and George Fleming (@palladia) have been instrumental to our OMI/PSRP work on Linux.Reacted by Vinod Chandru and Andy JordanThanks. It really means a lot to hear.
Now on to the next thing, already in progress.
Paul Allen (@paulcallen) as you have mentioned to Vinod Chandru (@vinodc) here that proxy setting/authentication is not yet supported, is this still true on below version?
PSVersion 6.0.0-beta
PSEdition Core
GitCommitId v6.0.0-beta.5
OS Linux 3.10.0-693.el7.x86_64 #1 SMP Thu Jul 6 19:56:57 EDT 2017
Platform Unix
PSCompatibleVersions {1.0, 2.0, 3.0, 4.0...}
PSRemotingProtocolVersion 2.3
SerializationVersion 1.1.0.1
WSManStackVersion 3.0if 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.
If there are enough asks for it we could certainly consider it. If it were done, then the psrp client layer for Linux would need to be updated once completed.
Don't know how Microsoft does it inside their firewall, but our proxy servers have a component installed on the client machine that does the proxying automatically so we don't need support at the application level. I think it handles it at the socket layer.Paul Allen (@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 Andy Jordan (@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-PSSessionandInvoke-Commandetc.), which is in progress but not yet supported. Please follow the progress on the PSRP on Linux repo. We (mostly Paul Allen (@paulcallen) and George Fleming (@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: