Comments (4)
Yeah you're right it doesn't work that way. What I have always done is use PowerShell in a more atomic way so I run a small script that gathers a list and returns it to Javascript then I have Javascript iterate through the list entering in each value as a parameter in the next PowerShell operation. In this way I would, for example, get-adprincipalgroupmembership and then get-effectiveaccess for each of those groups. In my experience this is best done one at a time in series and then you ps.dispose() at the end.
I have a very basic example here: https://github.com/BenjaminMichael/node-powershell-electron-basic-demo
from child-shell.
I know, isn't it fun to use node-powershell? There's a few ways to accomplish what you are describing but I think the short answer to your question is the "on output" event listener:
let ps = new shell({
executionPolicy: 'Bypass',
noProfile: true
});
ps.on('output', output => {console.log(output)}
ps.addCommand(`./somescript.ps1`)
ps.invoke()
So what I do is have my script output some JSON formatted string that explains what step of the process or more frequently what async thing just completed.
from child-shell.
Clever. Thanks for that.
See here for other events (where I should have looked).
from child-shell.
Looking at the source it seems to only emit the output
event when EOI is reached - is there a way to get Write-Output
(or even Write-Verbose
) output during the script running?
Should I break up my cmdlet into smaller components and call them in a promise chain? I would like to recurse over a directory and print in an Electron window what directory is being processed.
from child-shell.
Related Issues (20)
- invoke promise not always executed
- Allow for PWSH Custom Paths
- proper use of ps.dispose HOT 1
- PS_CMD_FAIL_ERROR: Error code = 0x80005000 HOT 1
- [Node-Bash] Command invocation failed
- Documentation page doesn't work HOT 3
- TypeError: shell is not a constructor HOT 7
- NPS> PS process ***** exited with code 4294901760
- getting powershell output back into javascript HOT 5
- Run without PS
- How to avoid arbitrary command injection
- Text decoding error when returning to resolve characters containing non-English HOT 1
- Documentation links fail HOT 1
- How to use Child-Shell HOT 4
- broken readme links please validate
- debug does not export Debugger
- debug does not export Debugger;
- ProcessError: Shell process (somePID) exited. originalError: undefined, exitCode: null, signalCode: 'SIGABRT'
- Is repo still maintained? HOT 3
- await PowerShell.$`${myVariable}` always stuck
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from child-shell.