参考:Running Powershell, VBScript, or bat files via NSH

如果你直接在NSH命令行执行的话,可以参考我翻译的下面的东东,如果想运行NSH 脚本作业的话,可以参考上面链接。

一步步来

## 1 执行Powershell脚本

1.1 首先需要在远程机上修改Powershell的执行策略,使远程机可以运行受信任的脚本

打开Powershell,执行:Set-ExecutionPolicy RemoteSigned

1.2 创建Powershell脚本

假设脚本名为a.ps1,位于c:/tmp/路径下,脚本内容为:echo "hello baby"

1.3 执行NSH命令运行脚本

此处可以使用NSH 脚本作业执行,也可以直接使用命令,命令如下:

nexec -i 10.200.108.92 cmd /c "echo . | powershell C:\\tmp\\a.ps1"

或者

nexec -i 10.200.108.92 cmd /c "powershell -inputformat none c:\\tmp\\a.ps1"

返回结果:

cloudexpress# nexec -i 10.200.108.92 cmd /c "echo . | powershell C:\\a.ps1"    

hellow baby

cloudexpress#

## 2 在BAT脚本中嵌入执行Powershell脚本

当windows机器只能执行bat脚本时,可以在这里面嵌入powershell脚本来执行

@findstr/v "^@f.*&" "%~f0"|powershell -&goto:eof

Write-output "Hello World"

Write-output "Hello some&com & again"

替换第二、三行为你要执行的powershell脚本即可

解释下脚本的意思:

@:关闭本行显示

goto:eof:执行完毕后退出

%~f0:指这个批处理本身

findstr/v:则是不打印匹配到的行

## 3 执行VBScripts/JScript

nexec -i vm1 cmd /c "cscript //nologo C:/tmp/a.js"

其中a.js脚本内容为:

WScript.StdOut.Write("Hello World")

## 4 执行BAT脚本

nexec <hostname> cmd /c "<batchFilePath>"

其中

<hostname> is the IP address of the host machine

<batchFilePath> is the Windows file path of the batch file

例如:

nexec 10.20.47.91 cmd /c "c:\\cli\\test.bat"

参考:

goto :eof作用

How to run a PowerShell script within a DOS batch file

Frequently used NSH commands

BSA Network Shell系列-通过NSH执行Powershell,VBScript或bat files脚本的更多相关文章

  1. BSA Network Shell系列-nexec | runcmd | runscript | scriptutil的异同

    说明下nexec.runcmd.runscript.scriptutil的异同 相同点: 四者都可以在远程机器执行命令.或者调用脚本. 不同点: nexec支持NSH命令,可以执行远程机的本地命令(非 ...

  2. BSA Network Shell系列-nexec命令

    # nexec ## 1 说明:nexec是远程命令接口引擎 ,用于在远程主机执行命令 nexec [-?] [-t term] [-o] [-i] [-l] [-nohup hostname &qu ...

  3. BSA Network Shell系列-nsh命令

    nsh nsh命令软链接到zsh,直接运行nsh可进入Network Shell,所有的Network Shell命令都需要运行nsh进入Network Shell执行 1 使用cd命令访问远程主机和 ...

  4. BSA Network Shell系列-runcmd/runscript命令

    runcmd和runscript ## 1 功能概述 runcmd/runscript:runcmd在一台或多台机器执行Network Shell命令(单个命令),而runscript执行的是脚本,二 ...

  5. BSA Network Shell系列-scriptutil命令

    scriptutil ## 1 功能概述 scriptutil复制脚本到远程机的某个目录,然后在该目录执行脚本. 它的优点就是脚本是non-NSH的脚本.不支持NSH命令,执行起来的效果和runscr ...

  6. BSA Network Shell系列-redi命令

    redi ## 1 功能概述 redi将输出重定向到一个文件中 ## 2 语法 redi [-?] [-a] filename ## 3 使用示例 1 将输出重定向到隐式路径所在主机的/tmp/hah ...

  7. BSA Network Shell系列-nlogin命令

    nlogin 1 说明 nlogin 是一种通过RSCD Agent的通信的安全远程登录,使用和NSH工具相同的加密协议.可以作为telnet.rlogin或者ssh的替代工具(假如这些端口或协议禁用 ...

  8. Linux Shell系列教程之(十七) Shell文件包含

    本文是Linux Shell系列教程的第(十七)篇,更多Linux Shell教程请看:Linux Shell系列教程 通过文件包含,可以引用其他文件的内容,也可以将复杂内容分开,使程序结构更加清晰. ...

  9. Linux Shell系列教程之(十六) Shell输入输出重定向

    本文是Linux Shell系列教程的第(十六)篇,更多Linux Shell教程请看:Linux Shell系列教程 Shell中的输出和输入的重定向是在使用中经常用到的一个功能,非常实用,今天就为 ...

随机推荐

  1. 安卓电量优化之JobScheduler使用介绍

    版权声明:本文出自汪磊的博客,转载请务必注明出处. 一.JobScheduler概述 JobScheduler是安卓5.0版本推出的API,允许开发者在符合某些条件时创建执行在后台的任务.在Andro ...

  2. 工作流调度器azkaban(以及各种工作流调度器比对)

    1:工作流调度系统的作用: (1):一个完整的数据分析系统通常都是由大量任务单元组成:比如,shell脚本程序,java程序,mapreduce程序.hive脚本等:(2):各任务单元之间存在时间先后 ...

  3. tcp链接断开的探测

    有资料说,read.write都可以探测tcp的断开,但都不是实时的. 但是实际在某些设备上测试发现,即使开一个线程每隔一小段时间发一次心跳包(write),write也不能探测连接已经断开,而且这个 ...

  4. UML中类图的一些基本知识

    一.类 类(class)封装了数据和行为,是面向对象的重要组成部分,他是具有相同操作.属性.关系的对象集合的总称. 在软件运行时,类被实例化成对象(object),对象对应某个具体的事物,是类的实例( ...

  5. JS 获取字符串实际长度

    解决思路,把中文转换为两个字节的英文,再计算长度. function getStrLength(str) { return str.replace(/[\u0391-\uFFE5]/g,"a ...

  6. python函数高级特性

    掌握了Python的数据类型.语句.函数,基本可以编写出很多有用的程序了.但是Python中,代码不是越多越好,而是越少越好.代码不是越复杂越好,而是越简单越好.基于这一思想,我们来介绍python中 ...

  7. Laravel ORM 数据model操作

    1.ORM操作需要创建对应的model         class User extends Eloquent   2.有两种方式使用数据操作对象            a. 使用new关键字创建对象 ...

  8. 关于 AutomationProperties.Name 的一些总结

    在 XAML 代码中,我们偶尔会看到 AutomationProperies 的代码,如 AutomationProperties.Name="xxxxx", Automation ...

  9. Django普通文件上传

    前端代码: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF ...

  10. deeplearning.ai 构建机器学习项目 Week 2 机器学习策略 II 听课笔记

    1. 误差分析(Error analysis) 误差分析的目的是找到不同误差源的比重,从而指引我们接下来往哪个方向努力改进.NG建议手工统计随机100个错误的误差源,比如对于猫分类器,错误的照片可能是 ...