执行powershell脚本
打开powershell运行窗口:
powershell.exe C:\Users\Administrator\Desktop\a.ps1 -a $a。
-a $a : vbs脚本路径(如 C:\hyper.vbs)
例如:powershell.exe C:\Users\Administrator\Desktop\a.ps1 -a C:\hyper.vbs
a.ps1内容:
#传入本机脚本路径
param($a)
#通过配置文件得到远程服务器名称
$paths="C:\Users\Administrator\AppData\Roaming\Microsoft\Windows\Hyper-V\Client\"
$name=(Get-ChildItem $paths).Name
$paths=$paths+$name.Trim()
$xmldata = [xml](Get-Content $paths\VirtMgmt.VMBrowser.config)
#xml文件通过各个节点得到所取得值三级节点下name=“BrowserComputerNames”的值
$node =$xmldata.SelectNodes("configuration/Microsoft.Virtualization.Client.VMBrowser.BrowserConfigurationOptions/setting") | Where-Object { $_.Name -match "BrowserComputerNames" }
$values= $node.value
if($values -eq ""){
#执行本地脚本
cscript c:\hyper-v.vbs
}else{
foreach ($ServerName in $values)
{
#通过远程服务器名称得到服务器IP
$ip = (Get-WmiObject win32_networkadapterconfiguration -ComputerName $ServerName).IPAddress | Out-String
$ip= $ip.split(":")[0]
$ip=$ip.SubString(0,$ip.Length-4)
$ip= $ip-replace "\n",""
$ip= $ip.Trim()
#将本地主机上的Hyper.vbs复制到远程连接主机
copy-item –Path $a –Destination \\$ip\c$\hyper.vbs -Recurse
#定义会话
$session1 = new-pssession –computerName $ServerName
#在会话中远程执行脚本
Invoke-Command -Session $session1 -ScriptBlock {cscript c:\hyper.vbs}
#将远程主机上的执行结果文件复制到本地C盘
copy-item –Path \\$ip\c$\Users\Administrator\Documents\*_chk.xml –Destination C:\ -Recurse
#删除远程主机上的vbs文件和结果文件
del \\$ip\c$\Users\Administrator\Documents\*_chk.xml
del \\$ip\c$\hyper.vbs
}
}
执行powershell脚本的更多相关文章
- 云服务程序在启动的时候执行Powershell脚本
如果在云服务程序启动时候,需要执行Powershell脚本,我们需要将脚本嵌入到程序中,并且编写一个cmd来执行这个脚本,具体如下: 1.编写测试的Powershell脚本:每隔10分钟 检测dns ...
- Jenkins入门之执行Powershell脚本
之前章节提到过powershell,如果需要构建复杂的任务时,使用cmd不是很方便(也可能是由于笔者不太熟悉cmd命令,这里见笑了),这时候powershell就派上用场了,这里并不详细介绍power ...
- 【Azure Developer】调用SDK的runPowerShellScript方法,在Azure VM中执行PowerShell脚本示例
当需要通过代码的方式执行PowerShell脚本时,可以参考以下的示例. Azure SDK中提供了两个方法来执行PowerShell脚本 (SDK Source Code: https://gith ...
- 执行PowerShell脚本的时候出现"在此系 统上禁止运行脚本"错误
使用get-executionpolicy查看当前的脚本执行策略, 默认是Restricted, 也就是不允许任何脚本运行. 此时应该使用set-executionpolicy remotesigne ...
- PowerShell 脚本执行策略
为防止恶意脚本的执行,PowerShell 中设计了一个叫做执行策略(Execution Policy)的东西(我更倾向于把它叫做脚本执行策略).我们可以在不同的应用场景中设置不同的策略来防止恶意脚本 ...
- BSA Network Shell系列-通过NSH执行Powershell,VBScript或bat files脚本
参考:Running Powershell, VBScript, or bat files via NSH 如果你直接在NSH命令行执行的话,可以参考我翻译的下面的东东,如果想运行NSH 脚本作业的话 ...
- powershell脚本执行绕过powershell下脚本执行限制(cmd下执行)以及在cmd下隐藏脚本窗口
powershell脚本执行绕过powershell下脚本执行限制(cmd下执行) powershell脚本运行方式有两种,一种是powshell中运行,另一种是在cmd中(在某些情况下相当有用) p ...
- 使用PowerShell脚本部署定时器到MOSS2010
转:http://www.77site.com/tech/1087042010072906074113_2012050808152911.html 第一章 前言 在此次练习中,您将了解到如何使用Pow ...
- 数据库管理——Powershell——使用Powershell脚本找出消耗最多磁盘空间的文件
原文:数据库管理--Powershell--使用Powershell脚本找出消耗最多磁盘空间的文件 原文译自: http://www.mssqltips.com/sqlservertip/2774/p ...
随机推荐
- Annotation注解(有源代码)
注解(annotation)概述: ·从JDK5.0 开始,java增加了对元数据(MetaData)的支持,也就是Annotation(注解) ·Annotation其实就是代码里的特殊标记,这些标 ...
- HDU 3652 B-number
也是数位dp.考虑反面会简单很多. #include<iostream> #include<cstdio> #include<cstring> #include&l ...
- MAC上python+Eclipse+pydev环境搭建
转自:http://www.cnblogs.com/Bonker/p/3584707.html 本文重点介绍使用Eclipse+pydev插件来写Python代码, 以及在Mac上配置Eclipse ...
- inline-block
在CSS中,块级对象元素会单独占一行显示,多个block元素会各自新起一行,并且可以设置width,height属性:而内联对象元素前后不会产生换行,一系列inline元素都在一行内显示,直到该行排满 ...
- CI整合Smarty
1.到相应的站点下载smarty模板: 2.将源代码中的libs目录复制到项目的libraries目录下,改名为smarty3.0 3.在项目目录的libraries文件夹内新建文件ci_smarty ...
- 【转载】张逸--ThoughtWorks(中国)程序员读书雷达
原文地址:ThoughtWorks(中国)程序员读书雷达 软件业的特点是变化.若要提高软件开发的技能,就必须跟上技术发展的步伐.埋首醉心于项目开发与实战,固然能够锤炼自己的开发技巧,却难免受限于经验与 ...
- 关于如何使用Altium Designer 10以上版本官方库
开卷有益:如果本帖不适合在此板块,请斑竹自行删除,发帖的目的纯属报答各位Amofans. Altium公司的Altium Designer 09版本及以下还能到Altium官网下载第三方Labr ...
- mysql加单引号和不加单引号的性能比较
刚刚我们说过了,生活中难免会有一些不如意,比如,我们用一个字符串类型的字段来作为主键,表面上,这太不如意了,然而,事实也证明这是有用的.问题也就出来了,当在查询语句中对该字段值加上单引号和不加查询耗时 ...
- c#防止多次运行代码收集
1.原文:经过我的测试,还比较好用,但是有个问题,如果不注销,用另一个用户进入,则程序不能判断出已运行.所以只限于用在单用户环境,还是不太完美. class Program { [STAThread] ...
- python-RabbitMQ基础篇
一.RabbitMQ简单介绍 RabbitMQ是一个在AMQP基础上完整的,可复用的企业消息系统.他遵循Mozilla Public License开源协议. MQ全称为Message Queue, ...