`
tangkuo
  • 浏览: 100322 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
文章分类
社区版块
存档分类
最新评论

jPowerShell 执行PowerShell脚本,环境必须为Windows系统

 
阅读更多
https://github.com/profesorfalken/jPowerShell


Installation

To install jPowerShell you can add the dependecy to your software project management tool: http://mvnrepository.com/artifact/com.profesorfalken/jPowerShell/1.7

For example, for Maven you have just to add to your pom.xml:

maven工程依赖导入第三方jar

  <dependency>
        <groupId>com.profesorfalken</groupId>
        <artifactId>jPowerShell</artifactId>
        <version>1.7</version>
    </dependency>

Instead, you can direct download the JAR file and add it to your classpath. https://repo1.maven.org/maven2/com/profesorfalken/jPowerShell/1.7/jPowerShell-1.7.jar
Basic Usage

The best way to document is providing a good example:
Single command execution

   //Execute a command in PowerShell session
   PowerShellResponse response = PowerShell.executeSingleCommand("Get-Process");

   //Print results
   System.out.println("List Processes:" + response.getCommandOutput());

Executing one or multiple commands using the same PowerShell session

   PowerShell powerShell = null;
   try {
       //Creates PowerShell session (we can execute several commands in the same session)
       powerShell = PowerShell.openSession();

       //Execute a command in PowerShell session
       PowerShellResponse response = powerShell.executeCommand("Get-Process");

       //Print results
       System.out.println("List Processes:" + response.getCommandOutput());

       //Execute another command in the same PowerShell session
       response = powerShell.executeCommand("Get-WmiObject Win32_BIOS");

       //Print results
       System.out.println("BIOS information:" + response.getCommandOutput());
   } catch(PowerShellNotAvailableException ex) {
       //Handle error when PowerShell is not available in the system
       //Maybe try in another way?
   } finally {
       //Always close PowerShell session to free resources.
       if (powerShell != null)
         powerShell.close();
   }

Configure jPowerShell Session

We can easily configure the jPowerShell session:

    By project creating a jpowershell.properties file in the classpath of your project and settings the variables you want to override.
    By call, using a map that can be chained to powershell call.

For example:

    //Set the timeout when waiting for command to terminate to 30 seconds instead of 10 (default)
    Map<String, String> myConfig = new HashMap<>();
    myConfig.put("maxWait", "30000");
    response = powerShell.configure(myConfig).executeCommand("Get-WmiObject Win32_BIOS");

The three variables that can be configured in jPowerShell are:

maxThreads: the maximum number of thread to use in pool. 3 is an optimal and default value

waitPause: the pause in ms between each loop pooling for a response. Default value is 10

maxWait: the maximum wait in ms for the command to execute. Default value is 10000

remoteMode: it should be true when we are executing a command in remote. Otherwise the execution will finish in timeout.
Executing PowerShell Script

In order to execute a PowerShell Script it is recommended to use the executeScript() method instead of executeCommand():

   PowerShellResponse response = null;
   try {
       //Creates PowerShell session
       PowerShell powerShell = PowerShell.openSession();
       //Increase timeout to give enough time to the script to finish
       Map<String, String> config = new HashMap<String, String>();
       config.put("maxWait", "80000");

       //Execute script
       response = powerShell.configuration(config).executeScript("./myPath/MyScript.ps1");

       //Print results if the script
       System.out.println("Script output:" + response.getCommandOutput());
   } catch(PowerShellNotAvailableException ex) {
       //Handle error when PowerShell is not available in the system
       //Maybe try in another way?
   } finally {
       //Always close PowerShell session to free resources.
       if (powerShell != null)
         powerShell.close();
   }


PowerShell 打开一个Session会话,一个会话对象可以执行多个脚本命令,站点验证连通性的办法,直接执行SCMMServer  判断返回的IsConnect是否为True
获取VM,获取Hosts,GetCluster ,GetNetWork



分享到:
评论

相关推荐

    PowerShell脚本:Windows系统管理的瑞士军刀

    本文将详细介绍PowerShell脚本在Windows系统管理中的作用,包括其基本语法、核心概念、实际应用案例,以及如何编写和执行PowerShell脚本。 PowerShell脚本是Windows系统管理的得力助手。通过自动化日常的系统管理...

    powershell脚本转exe文件

    在IT行业中,有时我们需要将PowerShell脚本转换为可执行(EXE)文件,以便于在没有PowerShell环境或者需要更安全分发的环境中运行。标题和描述中提到的"powershell脚本转exe文件"就是这个过程。下面将详细解释如何...

    Python-PowerLessShell依赖MSBuildexe来远程执行PowerShell脚本和命令不需要调用powershellexe

    【Python-PowerLessShell依赖MSBuildexe来远程执行PowerShell脚本和命令不需要调用powershellexe】 在IT行业中,Python是一种广泛使用的编程语言,因其简洁、易读的语法和丰富的库支持而受到青睐。当涉及到系统管理...

    精通Windows PowerShell 脚本编程 的配套脚本资源

    中文版本精通windows powershell 脚本编程 的随书配套的脚本资源,原资源出版社无法下载了。所以找了半天,然后下载以后发现安装文件在WIN7无法安装就找到了其他机器安装然后直接提取了其中的脚本资源 所以现在无需...

    PowerShell脚本:Windows自动化的瑞士军刀

    PowerShell脚本是使用PowerShell语言编写的可执行程序,它们在Windows环境中提供了一种灵活且强大的自动化方式。 PowerShell脚本是Windows自动化的强大工具,它通过提供对系统管理任务的深入控制,极大地提高了IT...

    Windows_PowerShell脚本编程

    Windows PowerShell™ 是专为系统管理员设计的新 Windows 命令行外壳程序。该外壳程序包括交互式提示和脚本环境,两者既可以独立使用也可以组合使用。 本文档介绍了 Windows PowerShell 的基本概念和功能,并提供了...

    PowerShell 未经数字签名 系统将不执行该脚本

    PowerShell因为在此系统中禁止执行脚本的解决方法 //www.jb51.net/article/95022.htm Powershell 脚本数字签名实现方法 您可能感兴趣的文章:Powershell 脚本数字签名实现方法史上最全的Android build.gradle配置...

    java+powershell 控制windows

    Java 是一种跨平台的编程语言,而 PowerShell 是微软开发的一种命令行脚本环境,尤其适合管理系统资源。在这个场景下,我们可以利用 Java 编写的程序来调用 PowerShell 命令,实现对 Windows 的各种操作。 首先,让...

    2022中职网络搭建windows powershell脚本创建题答案

    2022中职网络搭建windows powershell脚本创建题答案,需要在poweshell上运行,视频有完整演示过程

    《精通windows powershell 脚本编程》脚本资源安装文件

    《精通windows powershell 脚本编程》脚本资源安装文件,运行该程序可以将书上的样例脚本文件安装到本地硬盘的一个文件夹里边。

    Python-ps1scriptify用于将Python脚本转换为Powershell脚本的工具

    然而,在Windows环境中,Powershell作为默认的命令行工具,有时更适用于执行系统级别的任务。`ps1scriptify`是一个实用的工具,它允许开发者将Python脚本转换为等效的Powershell(`.ps1`)脚本,从而在Powershell...

    dotnet-将一个PowerShell脚本嵌入到PNG文件的像素中并生成一个oneliner来执行

    标题中的“dotnet-将一个PowerShell脚本嵌入到PNG文件的像素中并生成一个oneliner来执行”是一个高级技巧,它涉及到.NET开发、PowerShell编程以及数据隐藏技术。这种技术通常用于隐蔽通信或者在限制环境中执行代码,...

    win系统自带游戏删除powershell脚本

    win系统自带游戏删除powershell脚本

    C#调用PowerShell

    PowerShell是一种命令行shell和脚本语言,由Microsoft开发,旨在增强系统管理员对操作系统及应用程序的管理能力。本文将深入探讨如何在C#中调用PowerShell以及执行PowerShell命令。 首先,要从C#代码中调用...

    批量执行SQL脚本工具-PowerShell.7z

    在"批量执行SQL脚本工具-PowerShell.7z"这个压缩包中,包含了适用于Windows 2012和Windows 2016操作系统的PowerShell脚本,旨在帮助用户批量处理SQL Server中的SQL脚本执行。以下是这个工具的主要知识点: 1. **...

    exchange/powershell,Java调用powershell开通邮箱

    2. **PowerShell脚本**:用于在Exchange环境中创建邮箱的PowerShell脚本。 3. **配置文件**:可能包含连接信息,如Exchange服务器的地址、认证凭据等。 4. **文档**:说明如何使用这些代码,可能包括安装步骤、配置...

    powershell-scripts:Windows Windows Server的Powershell脚本

    有用的PowerShell脚本,用于配置基本的Windows Server2016。此存储库的目的是具有一些可以用来设置自己的服务器的有效配置。 如果发现任何错误,可以随意将代码用于自己的目的,并为该存储库做出贡献。 支持的角色...

Global site tag (gtag.js) - Google Analytics