首页 > 代码库 > 玩转PowerShell第二节——【利用PsExec进行远程调用】-技术&分享
玩转PowerShell第二节——【利用PsExec进行远程调用】-技术&分享
概述
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) 直接调用
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中调用
1 $Job = Start-Job -ArgumentList $WorkPath,$MachineIP,$DomainUser,$Password,$WorkPath,$Param -ScriptBlock {2 param($WorkPath,$MachineIP,$DomainUser, $Password,$WorkPath,$Param)3 Set-Location $WorkPath4 .\PsExec \\$MachineIP -u $DomainUser -p $Password -h -i 0 -s -w $WorkPath powershell "$WorkPath\Scripts\test.ps1 $Param"5 }
5.实例
test.ps1的路径:D:\01_360Cloud\02_MyBlogs\PowerShell\Source\test.ps1
test.ps1脚本
1 Write-Host "abc"2 Read-Host a
PsExec.exe路径:D:\01_360Cloud\02_MyBlogs\PowerShell\Source
键入以下命令
1 $WorkPath = "D:\01_360Cloud\02_MyBlogs\PowerShell\Source"2 cd $WorkPath3 .\PsExec -i -s -w $WorkPath powershell ".\test.ps1"
结果如下图所示:
玩转PowerShell第二节——【利用PsExec进行远程调用】-技术&分享
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。