Resolves T5976. So when Powershell thinks it doesn't have an output terminal, it will automatically encode all output to standard error in a terrible CLIXML format. No amount of command-line options will prevent this from occurring (I've tried). You also can't wrap the command on the Windows side of things, because in order to do any processing on that level, you'd need to execute Powershell (which would in turn encode it again), or output all standard error to a text file and then type it from Batch (which would lose the ability to stream the standard error to Harbormaster).
Details
Details
- Reviewers
epriestley - Group Reviewers
Blessed Reviewers - Maniphest Tasks
- T5976: Handle the awful CLIXML output from Powershell on Windows
Direct your anger at Microsoft for writing such terrible software and then run the unit tests.
Diff Detail
Diff Detail
- Repository
- rPHU libphutil
- Branch
- powershell
- Lint
Lint Passed - Unit
Tests Passed - Build Status
Buildable 2361 Build 2365: [Placeholder Plan] Wait for 30 Seconds
Event Timeline
Comment Actions
This should really be implemented as a ProtocolChannel, not on ExecFuture itself, but I'm not sure how plausible that is. Let me see if I can get it working.
Comment Actions
Abandoning this because it's only necessary when running Powershell over SSH. Since WinRM is a much better way forward for remote commands on Windows, this is no longer needed.