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中的输出和输入的重定向是在使用中经常用到的一个功能,非常实用,今天就为 ...
随机推荐
- visual studio各种新建项目和新建项简介
一.新建项目 二.新建项 用户控件和自定义控件的区别 1.WinForm中的用户控件继承自 UserControl,主要用于开发 Container 控件,Container控件可以添加其他Contr ...
- asp.net mvc 5 蛋疼的问题
看图,debugger显示匹配路径没有错. html开源码看 显示没有实现IController. 然而我的确实现了. 关闭vs 重启
- 【三分法】hdu2438 Turn the corner
Problem Description Mr. West bought a new car! So he is travelling around the city.One day he comes ...
- 入门干货之Grpc的.Net实现-MagicOnion
此文章简单残暴,学习成本较低,你可以跟着我一起撸代码,一起吐槽,一起砸键盘.以下操作均为 core2.0 环境. 0x01.Grpc 1.介绍 Google主导开发的RPC框架,使用HTTP/2协议 ...
- HashSet源码阅读
HashSet的实现基于HashMap 看几个简单的初始化方法 public HashSet() { map = new HashMap<>(); } public HashSet(Col ...
- [].slice.call(arguments,1)
[转] 前言 今天偶然翻资料看到一个叫做软绑定的函数,用来确定this的; 原代码 if(!Function.prototype.softBind){ Function.prototype.softB ...
- 高通secury boot过程
整理内容网盘地址: 链接:https://share.weiyun.com/79c3920b4f2097d93b719b3149a7f3f9 (密码:4jm9cx) 相关内容网站: http://bl ...
- I2C通讯协议
1.基本概念 主机 初始化发送,产生时钟信号和终止发送的器件 从机 被主机寻址的器件 发送器 发送数据到总线的器件 接收器 ...
- 初窥Flask
初窥Flask Flask是一个基于Python开发并且依赖jinja2模板和Werkzeug WSGI服务的一个微型框架,对于Werkzeug本质是Socket服务端,其用于接收http请求并对请求 ...
- BZOJ 1041: [HAOI2008]圆上的整点【数论,解方程】
1041: [HAOI2008]圆上的整点 Time Limit: 10 Sec Memory Limit: 162 MBSubmit: 4210 Solved: 1908[Submit][Sta ...