神刀安全网

windows-powershell – Lightweight, functional, promise-based powershell wrapper

windows-powershell

windows-powershell - Lightweight, functional, promise-based powershell wrapper Lightweight, functional, promise-based powershell wrapper

windows-powershell - Lightweight, functional, promise-based powershell wrapper windows-powershell - Lightweight, functional, promise-based powershell wrapper windows-powershell - Lightweight, functional, promise-based powershell wrapper windows-powershell - Lightweight, functional, promise-based powershell wrapper

Installation

npm install windows-powershell

Features

  • Promise API
  • Composable API via #pipe()
  • Converts powershell like objects to json
  • Converts pascal case keys to camel case ( LastErrorCode -> lastErrorCode )

Example

In this example we get the name of regedit.exe . As you can see we don’t need to parse the output since it has already been converted to json.

import { shell, pipe, toJson } from 'windows-powershell'  function process (io) {   const { json, stdout, stderr } = io   // json -> { name: 'regedit.exe' }   // stdout -> raw output from the cli }  const cmd = pipe('get-itemproperty c://windows//regedit.exe', 'select name') shell(toJson(cmd)).then(process)

Creating objects

native powershell

$a = new-object PSObject; $a | add-member name test; $a | add-member version 0.0.1; $a 

windows-powershell

shell(create({ name: 'test', version: '0.0.1' })).then(logStdout)

output

name    version         ----    -------                        test    0.0.1      

Composing

Composing commands allows as to create intermediate values.

native powershell

$a = 1; $a = 2; echo $a + $b; 

windows-powershell

shell(compose('$a = 1', '$a = 2', 'echo $a + $b')).then(logStdout)

output

Piping

native powershell

get-wmiobject Win32_LogicalDisk | select name 

windows-powershell

const cmd = pipe(   'get-wmiobject Win32_LogicalDisk',   'select name' )  shell(cmd).then(logStdout)

output

name ---- C: D: H: 

Tests

npm test

License

MIT

转载本站任何文章请注明:转载至神刀安全网,谢谢神刀安全网 » windows-powershell – Lightweight, functional, promise-based powershell wrapper

分享到:更多 ()

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址