# winrm4j
**Repository Path**: liangzai951/winrm4j
## Basic Information
- **Project Name**: winrm4j
- **Description**: Java 远程登录windows并可以执行命令的工具包
- **Primary Language**: Java
- **License**: Apache-2.0
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 0
- **Created**: 2024-10-23
- **Last Updated**: 2024-10-23
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# winrm4j
`winrm4j` is a project which enables Java applications to execute batch or PowerShell commands on a remote Windows server
using [WinRM](https://msdn.microsoft.com/en-us/library/aa384426(v=vs.85).aspx)
You can download the latest binaries [here](http://mvnrepository.com/artifact/io.cloudsoft.windows/winrm4j), which also gives the details
for adding winrm4j as a dependency to your project.
If you wish to build the binaries yourself, you can clone this project, and build it using [Maven](https://maven.apache.org/):
`mvn clean install`
### Maven dependency
Add the following to your `pom.xml`:
```
io.cloudsoft.windows
winrm4j
0.13.0-SNAPSHOT
```
### Java client usage
To use winrm4j in Java code, you first create a `WinRmTool` object via the static `WinRmTool.Builder` class.
`WinRmTool.Builder` has several options which you might consider setting before instantiating a `WinRmTool`:
* `workingDirectory(String)`
* `environment(Map)`
* `authenticationScheme(String)`
* `disableCertificateChecks(boolean)`
* `useHttps(boolean)`
* `port(int)`
A `WinRmTool` instance supports the basic `executeCommand(String)` method which executes windows native commands.
Through `executeCommand(String)` method supports:
* `executeCommand(List)` execute a list of commands concatenated with &
* `executePs(String)` execute a PowerShell command with the native windows command
* `executePs(List)` execute a list of PowerShell commands
``` java
WinRmClientContext context = WinRmClientContext.newInstance();
WinRmTool tool = WinRmTool.Builder.builder("my.windows.server.com", "Administrator", "pa55w0rd!")
.authenticationScheme(AuthSchemes.NTLM)
.port(5985)
.useHttps(false)
.context(context)
.build();
tool.executePs("echo hi");
context.shutdown();
```
### Contacts
Commercial support for the library is provided as part of [Cloudsoft AMP](https://cloudsoft.io/products/). See the [contacts page](https://cloudsoft.io/support) for the various ways to contact us.
### License
Copyright 2015-2019 by Cloudsoft Corporation Limited
> Licensed under the Apache License, Version 2.0 (the "License");
> you may not use this file except in compliance with the License.
> You may obtain a copy of the License at
>
> http://www.apache.org/licenses/LICENSE-2.0
>
> Unless required by applicable law or agreed to in writing, software
> distributed under the License is distributed on an "AS IS" BASIS,
> WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
> See the License for the specific language governing permissions and
> limitations under the License.