过VMWare的Webservice API创建ESX\ESXi用户的JAVA源码

王朝学院·作者佚名  2009-12-31
窄屏简体版  字體: |||超大  

参考VMWare的Webservice API的文档,实现创建ESX|ESXi用户并给用户赋予用户组。

版本: ESX|ESXi 4.0

JAVA代码如下:

view plaincopy to clipboardprint?

import java.net.URL;

import com.vmware.vim25.HostAccountSpec;

import com.vmware.vim25.ManagedObjectReference;

import com.vmware.vim25.Permission;

import com.vmware.vim25.ServiceContent;

import com.vmware.vim25.VimPortType;

import com.vmware.vim25.VimServiceLocator;

import com.vmware.security.credstore.*;

/**

* <p>

* 创建ESX or ESXi用户(非vCenter)

* </p>

* @author forandever

* @date 2009-12-31

*/

public class CreateUser {

/**

* 创建用户

* @param hostName 主机IP地址。例如: 202.101.1.121

* @param userName 连接用户名。例如: root

* @param password 连接密码。例如:123456

* @throws Exception

*/

private void createUser(String hostName, String userName, String password) throws Exception {

ServerConn conn = new ServerConn();

conn.prepare(hostName, userName, password);

ManagedObjectReference hostLocalAccountManager =

conn.get_sic().getAccountManager();

ManagedObjectReference hostAuthorizationManager =

conn.get_sic().getAuthorizationManager();

String new_userName = generateUserName();

String new_password = generatePassword();

HostAccountSpec hostAccountSpec = new HostAccountSpec();

hostAccountSpec.setId(new_userName);

hostAccountSpec.setPassword(new_password);

hostAccountSpec.setDescription("这是通过API新创建的用户");

conn.get_service().createUser(hostLocalAccountManager,

hostAccountSpec);

System.out.println(new_userName + " " + new_password);

ManagedObjectReference rootFolder =

conn.get_sic().getRootFolder();

// 设置权限组

Permission per = new Permission();

per.setGroup(false);

per.setPrincipal(new_userName);

per.setRoleId(-1);

per.setPropagate(true);

per.setEntity(rootFolder);

conn.get_service().setEntityPermissions(hostAuthorizationManager,

rootFolder,

new Permission [] {per});

// CredentialStore csObj = CredentialStoreFactory.getCredentialStore();

// csObj.addPassword(getServerName(),userName,password.toCharArray());

System.out.println("新用户创建成功");

}

public static void main(String [] args) throws Exception {

CreateUser createUser = new CreateUser();

createUser.createUser("202.101.1.121", "root", "123456");

}

}

本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/forandever/archive/2009/12/30/5105408.aspx

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航