前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >玩转PowerShell第二节——【利用PsExec进行远程调用】-技术&分享

玩转PowerShell第二节——【利用PsExec进行远程调用】-技术&分享

作者头像
悟空聊架构
发布2018-05-18 12:45:42
1.5K0
发布2018-05-18 12:45:42
举报

概述

  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) 直接调用

代码语言:javascript
复制
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中调用

代码语言:javascript
复制
1 $Job = Start-Job -ArgumentList $WorkPath,$MachineIP,$DomainUser,$Password,$WorkPath,$Param -ScriptBlock {
2          param($WorkPath,$MachineIP,$DomainUser, $Password,$WorkPath,$Param)
3          Set-Location $WorkPath
4          .\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脚本

代码语言:javascript
复制
1 Write-Host "abc"
2 Read-Host a

PsExec.exe路径:D:\01_360Cloud\02_MyBlogs\PowerShell\Source

键入以下命令

代码语言:javascript
复制
1 $WorkPath = "D:\01_360Cloud\02_MyBlogs\PowerShell\Source"
2 cd $WorkPath
3 .\PsExec -i -s -w $WorkPath powershell ".\test.ps1"

结果如下图所示:

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2014-12-28 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 概述
  • 1.首次运行PowerShell.exe
  • 2.查看PowerShell帮助
  • 3.常用参数
  • 4.例子程序
    • 1) 直接调用
      • 2)在Job中调用
      • 5.实例
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档