BSA Network Shell系列-通过NSH执行Powershell,VBScript或bat files脚本
参考: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"
参考:
How to run a PowerShell script within a DOS batch file
BSA Network Shell系列-通过NSH执行Powershell,VBScript或bat files脚本的更多相关文章
- BSA Network Shell系列-nexec | runcmd | runscript | scriptutil的异同
说明下nexec.runcmd.runscript.scriptutil的异同 相同点: 四者都可以在远程机器执行命令.或者调用脚本. 不同点: nexec支持NSH命令,可以执行远程机的本地命令(非 ...
- BSA Network Shell系列-nexec命令
# nexec ## 1 说明:nexec是远程命令接口引擎 ,用于在远程主机执行命令 nexec [-?] [-t term] [-o] [-i] [-l] [-nohup hostname &qu ...
- BSA Network Shell系列-nsh命令
nsh nsh命令软链接到zsh,直接运行nsh可进入Network Shell,所有的Network Shell命令都需要运行nsh进入Network Shell执行 1 使用cd命令访问远程主机和 ...
- BSA Network Shell系列-runcmd/runscript命令
runcmd和runscript ## 1 功能概述 runcmd/runscript:runcmd在一台或多台机器执行Network Shell命令(单个命令),而runscript执行的是脚本,二 ...
- BSA Network Shell系列-scriptutil命令
scriptutil ## 1 功能概述 scriptutil复制脚本到远程机的某个目录,然后在该目录执行脚本. 它的优点就是脚本是non-NSH的脚本.不支持NSH命令,执行起来的效果和runscr ...
- BSA Network Shell系列-redi命令
redi ## 1 功能概述 redi将输出重定向到一个文件中 ## 2 语法 redi [-?] [-a] filename ## 3 使用示例 1 将输出重定向到隐式路径所在主机的/tmp/hah ...
- BSA Network Shell系列-nlogin命令
nlogin 1 说明 nlogin 是一种通过RSCD Agent的通信的安全远程登录,使用和NSH工具相同的加密协议.可以作为telnet.rlogin或者ssh的替代工具(假如这些端口或协议禁用 ...
- Linux Shell系列教程之(十七) Shell文件包含
本文是Linux Shell系列教程的第(十七)篇,更多Linux Shell教程请看:Linux Shell系列教程 通过文件包含,可以引用其他文件的内容,也可以将复杂内容分开,使程序结构更加清晰. ...
- Linux Shell系列教程之(十六) Shell输入输出重定向
本文是Linux Shell系列教程的第(十六)篇,更多Linux Shell教程请看:Linux Shell系列教程 Shell中的输出和输入的重定向是在使用中经常用到的一个功能,非常实用,今天就为 ...
随机推荐
- 安卓电量优化之JobScheduler使用介绍
版权声明:本文出自汪磊的博客,转载请务必注明出处. 一.JobScheduler概述 JobScheduler是安卓5.0版本推出的API,允许开发者在符合某些条件时创建执行在后台的任务.在Andro ...
- 工作流调度器azkaban(以及各种工作流调度器比对)
1:工作流调度系统的作用: (1):一个完整的数据分析系统通常都是由大量任务单元组成:比如,shell脚本程序,java程序,mapreduce程序.hive脚本等:(2):各任务单元之间存在时间先后 ...
- tcp链接断开的探测
有资料说,read.write都可以探测tcp的断开,但都不是实时的. 但是实际在某些设备上测试发现,即使开一个线程每隔一小段时间发一次心跳包(write),write也不能探测连接已经断开,而且这个 ...
- UML中类图的一些基本知识
一.类 类(class)封装了数据和行为,是面向对象的重要组成部分,他是具有相同操作.属性.关系的对象集合的总称. 在软件运行时,类被实例化成对象(object),对象对应某个具体的事物,是类的实例( ...
- JS 获取字符串实际长度
解决思路,把中文转换为两个字节的英文,再计算长度. function getStrLength(str) { return str.replace(/[\u0391-\uFFE5]/g,"a ...
- python函数高级特性
掌握了Python的数据类型.语句.函数,基本可以编写出很多有用的程序了.但是Python中,代码不是越多越好,而是越少越好.代码不是越复杂越好,而是越简单越好.基于这一思想,我们来介绍python中 ...
- Laravel ORM 数据model操作
1.ORM操作需要创建对应的model class User extends Eloquent 2.有两种方式使用数据操作对象 a. 使用new关键字创建对象 ...
- 关于 AutomationProperties.Name 的一些总结
在 XAML 代码中,我们偶尔会看到 AutomationProperies 的代码,如 AutomationProperties.Name="xxxxx", Automation ...
- Django普通文件上传
前端代码: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF ...
- deeplearning.ai 构建机器学习项目 Week 2 机器学习策略 II 听课笔记
1. 误差分析(Error analysis) 误差分析的目的是找到不同误差源的比重,从而指引我们接下来往哪个方向努力改进.NG建议手工统计随机100个错误的误差源,比如对于猫分类器,错误的照片可能是 ...