玩转PowerShell第二节——【利用PsExec进行远程调用】-技术&分享
2014-12-28 22:00
435 查看
概述
PowerShell用的最多的地方就是远程调用,在远程机器上执行脚本,监控远程机器的状态,如NLB状态,EventLog,SqlServer DataBase状态等。本篇将讲到用PsExec.exe这个工具进行远程调用。
1.首次运行PowerShell.exe
双击PowerShell.exe,同意licence条款。2.查看PowerShell帮助
3.常用参数
computer 计算机名称,如果省略,则在本机执行,如果是\\*,则在域里面的所有的机器上执行脚本-u 远程机器的域用户名称Domain\UserName
-p 远程机器的域用户密码Password
-i 指定远程机器运行某程序所在的桌面会话session,如果未指定,则在控制台会话中执行
-s 指定在系统账户中运行程序
-w 指定运行程序的工作路径
program 指定运行的程序,如PowerShell,cmd
4.例子程序
1) 直接调用
.\PsExec \\$MachineIP -u $DomainUser -p $Password -i 0 -s -w $WorkPath powershell "$WorkPath\Scripts\test.ps1 $Param"
注意:
1.远程机器磁盘上需要有“$WorkPath\Scripts\test.ps1”这个文件;
2.远程机器上不需要有PsExec.exe文件。
2)在Job中调用
$Job = Start-Job -ArgumentList $WorkPath,$MachineIP,$DomainUser,$Password,$WorkPath,$Param -ScriptBlock { param($WorkPath,$MachineIP,$DomainUser, $Password,$WorkPath,$Param) Set-Location $WorkPath .\PsExec \\$MachineIP -u $DomainUser -p $Password -h -i 0 -s -w $WorkPath powershell "$WorkPath\Scripts\test.ps1 $Param" }
5.实例
test.ps1的路径:D:\01_360Cloud\02_MyBlogs\PowerShell\Source\test.ps1test.ps1脚本
Write-Host "abc" Read-Host a
PsExec.exe路径:D:\01_360Cloud\02_MyBlogs\PowerShell\Source
键入以下命令
$WorkPath = "D:\01_360Cloud\02_MyBlogs\PowerShell\Source" cd $WorkPath .\PsExec -i -s -w $WorkPath powershell ".\test.ps1"
结果如下图所示:
相关文章推荐
- 玩转PowerShell第三节——【SCOM Maintenance Mode】-技术&分享
- 玩转PowerShell第一节——【后台任务处理】-技术&分享
- 玩转PowerShell第一节——【后台任务处理】-技术&分享
- 利用powershell进行远程服务器管理(命令行模式)
- ASP.NET 3.5核心编程学习笔记(58):利用页面方法来进行远程调用
- 【技术分享】利用 Flash 远程检测客户端安装的杀软
- 一起谈.NET技术,JAVA与.NET的相互调用——利用JNBridge桥接模式实现远程通讯
- 【技术分享】Windows环境渗透技巧之PowerShell Payload的远程执行
- 利用CreateRemoteThread进行远程代码注入的技术在64位机上可能遇到的问题
- 利用js进行跨页面调用
- 远程调用技术代码追踪(webservice)
- Linux操作系统下利用SSH进行远程控制
- 用RMI进行远程方法调用
- 利用终端服务进行远程访问控制
- 利用远程安装服务(RIS)进行操作系统部署
- 利用SSH对主机进行远程控制
- 利用.NET Remoting基础架构中的真实代理/透明代理技术实现了不针对具体类型、具体方法的通用方法调用拦截机制
- 远程调用技术代码追踪(Remobjects第三方控件)
- 利用Castle IOC实现远程调用的接口统一(上)
- 利用xmlhttp和adodb.stream加缓存技术下载远程Web文件