通過VMWare的Webservice API建立ESX/ESXi使用者的JAVA源碼

來源:互聯網
上載者:User

@for & ever 2009-12-31

 

參考VMWare的Webservice API的文檔,實現建立ESX|ESXi使用者並給使用者賦予使用者組。

版本: ESX|ESXi 4.0

 

JAVA代碼如下:

import java.net.URL;</p><p>import com.vmware.vim25.HostAccountSpec;<br />import com.vmware.vim25.ManagedObjectReference;<br />import com.vmware.vim25.Permission;<br />import com.vmware.vim25.ServiceContent;<br />import com.vmware.vim25.VimPortType;<br />import com.vmware.vim25.VimServiceLocator;<br />import com.vmware.security.credstore.*;</p><p>/**<br /> * <p><br /> * 建立ESX or ESXi使用者(非vCenter)<br /> * </p><br /> * @author forandever<br /> * @date 2009-12-31<br /> */<br />public class CreateUser {</p><p>/**<br /> * 建立使用者<br /> * @param hostName 主機IP地址。例如: 202.101.1.121<br /> * @param userName 串連使用者名稱。例如: root<br /> * @param password 串連密碼。例如:123456<br /> * @throws Exception<br /> */<br /> private void createUser(String hostName, String userName, String password) throws Exception {<br /> ServerConn conn = new ServerConn();<br /> conn.prepare(hostName, userName, password);</p><p> ManagedObjectReference hostLocalAccountManager =<br /> conn.get_sic().getAccountManager();</p><p> ManagedObjectReference hostAuthorizationManager =<br /> conn.get_sic().getAuthorizationManager(); </p><p> String new_userName = generateUserName();<br /> String new_password = generatePassword();</p><p> HostAccountSpec hostAccountSpec = new HostAccountSpec();<br /> hostAccountSpec.setId(new_userName);<br /> hostAccountSpec.setPassword(new_password);<br /> hostAccountSpec.setDescription("這是通過API新建立的使用者"); </p><p> conn.get_service().createUser(hostLocalAccountManager,<br /> hostAccountSpec);</p><p> System.out.println(new_userName + " " + new_password);</p><p> ManagedObjectReference rootFolder =<br /> conn.get_sic().getRootFolder();</p><p> // 設定許可權組<br /> Permission per = new Permission();<br /> per.setGroup(false);<br /> per.setPrincipal(new_userName);<br /> per.setRoleId(-1);<br /> per.setPropagate(true);<br /> per.setEntity(rootFolder);<br /> conn.get_service().setEntityPermissions(hostAuthorizationManager,<br /> rootFolder,<br /> new Permission [] {per});</p><p>// CredentialStore csObj = CredentialStoreFactory.getCredentialStore();<br />// csObj.addPassword(getServerName(),userName,password.toCharArray());<br /> System.out.println("新使用者建立成功");<br /> }</p><p> public static void main(String [] args) throws Exception {<br /> CreateUser createUser = new CreateUser();<br /> createUser.createUser("202.101.1.121", "root", "123456");<br /> }<br />}<br />

 

 

 

@forandever 2009-12-31

 

 

 

 

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.