打开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脚本的更多相关文章

  1. 云服务程序在启动的时候执行Powershell脚本

    如果在云服务程序启动时候,需要执行Powershell脚本,我们需要将脚本嵌入到程序中,并且编写一个cmd来执行这个脚本,具体如下: 1.编写测试的Powershell脚本:每隔10分钟 检测dns ...

  2. Jenkins入门之执行Powershell脚本

    之前章节提到过powershell,如果需要构建复杂的任务时,使用cmd不是很方便(也可能是由于笔者不太熟悉cmd命令,这里见笑了),这时候powershell就派上用场了,这里并不详细介绍power ...

  3. 【Azure Developer】调用SDK的runPowerShellScript方法,在Azure VM中执行PowerShell脚本示例

    当需要通过代码的方式执行PowerShell脚本时,可以参考以下的示例. Azure SDK中提供了两个方法来执行PowerShell脚本 (SDK Source Code: https://gith ...

  4. 执行PowerShell脚本的时候出现"在此系 统上禁止运行脚本"错误

    使用get-executionpolicy查看当前的脚本执行策略, 默认是Restricted, 也就是不允许任何脚本运行. 此时应该使用set-executionpolicy remotesigne ...

  5. PowerShell 脚本执行策略

    为防止恶意脚本的执行,PowerShell 中设计了一个叫做执行策略(Execution Policy)的东西(我更倾向于把它叫做脚本执行策略).我们可以在不同的应用场景中设置不同的策略来防止恶意脚本 ...

  6. BSA Network Shell系列-通过NSH执行Powershell,VBScript或bat files脚本

    参考:Running Powershell, VBScript, or bat files via NSH 如果你直接在NSH命令行执行的话,可以参考我翻译的下面的东东,如果想运行NSH 脚本作业的话 ...

  7. powershell脚本执行绕过powershell下脚本执行限制(cmd下执行)以及在cmd下隐藏脚本窗口

    powershell脚本执行绕过powershell下脚本执行限制(cmd下执行) powershell脚本运行方式有两种,一种是powshell中运行,另一种是在cmd中(在某些情况下相当有用) p ...

  8. 使用PowerShell脚本部署定时器到MOSS2010

    转:http://www.77site.com/tech/1087042010072906074113_2012050808152911.html 第一章 前言 在此次练习中,您将了解到如何使用Pow ...

  9. 数据库管理——Powershell——使用Powershell脚本找出消耗最多磁盘空间的文件

    原文:数据库管理--Powershell--使用Powershell脚本找出消耗最多磁盘空间的文件 原文译自: http://www.mssqltips.com/sqlservertip/2774/p ...

随机推荐

  1. asp.net生成缩略图

    /// <summary> /// 生成缩略图 /// </summary> /// <param name="orginalImagePat"> ...

  2. 《Java中的单例模式--两种》

    //单例模式:饿汉式和懒汉式 //单例模式 /* 设计模式:解决某一类问题行之有效的解决办法(思想). 单例(Singleton):设计模式: 学习设计模式必须先弄清楚它是解决什么问题的. 单例模式是 ...

  3. watir学习系列--Watir API介绍

    文本框:          <INPUT id="email" name="_fmu.u._0.e" value="" />   ...

  4. tensorflow3

    参考文献:tensorflow_manual_cn.pdf 一.tensorflow和caffe对应: graph-->.prototxt定义的网络结构 session-->solver( ...

  5. 转:配置nodemanager启动weblogic服务器

    下面仅供参考,里面表格还有文件目录我是写的linux,刚刚看到原作者是windows, 后面我会把自己配置nodemanager的经过记录上来,我搞得是linux. (一)通过nodemanager本 ...

  6. vim文本编辑器

    一.vim相对于vi所做的提升 1.支持多级撤销(字母u, vi中只能撤销一部) 2.支持跨平台(unix为内核系统,windows也可以) 3.语法高亮 4.支持图形界面 二.vi编辑器的操作模式 ...

  7. java端口扫描(原创)

    项目需要扫描占用的端口来判断服务是否启动,通过查资料发现大多数方法都是ServerSocket socket = new ServerSocket(port);代码如下: package com.fr ...

  8. Android遇到的错误记录

    解决小米手机无法收到开机广播的问题 http://blog.csdn.net/ksr12333/article/details/16116627 怎样在Android Studio中打开DDMS窗口? ...

  9. linux 中printf的使用

    linux 中printf的使用printf "helloworld\n"printf 中换行必须加上\n printf '%d %s\n' 1 "abc" c ...

  10. 微信公众平台开发教程(十一)微信"企业号“上线

    什么是企业号? 企业号是微信为企业客户提供的移动应用入口 关注更安全 只有企业通讯录的成员才能关注企业号,分级管理员.保密消息等各种特性确保企业内部信息的安全. 应用可配置 企业可自行在企业号中可配置 ...