ESX|ESXi ユーザーを作成し、そのユーザーにユーザー グループを割り当てるには、VMWare の Webservice API のドキュメントを参照してください。
バージョン: ESX|ESXi 4.0
JAVAコードは次のとおりです。
プレーンコピーをクリップボードプリントに表示しますか?
java.net.URLをインポートします。
com.vmware.vim25.HostAccountSpec をインポートします。
com.vmware.vim25.ManagedObjectReference をインポートします。
com.vmware.vim25.Permission をインポートします。
com.vmware.vim25.ServiceContent をインポートします。
com.vmware.vim25.VimPortType をインポートします。
com.vmware.vim25.VimServiceLocator をインポートします。
com.vmware.security.credstore.* をインポートします。
/**
*<p>
* ESX または ESXi ユーザーの作成 (非 vCenter)
*</p>
* @author forandever
* @日付 2009-12-31
*/
パブリック クラス CreateUser {
/**
* ユーザーの作成
* @param hostName ホストの IP アドレス。例: 202.101.1.121
* @param userName 接続ユーザー名。例: ルート
* @param パスワード接続パスワード。例: 123456
* @throwsException
*/
private void createUser(String hostName, String userName, String password) throws Exception {
ServerConn conn = 新しい ServerConn();
conn.prepare(ホスト名、ユーザー名、パスワード);
ManagedObjectReference hostLocalAccountManager =
conn.get_sic().getAccountManager();
ManagedObjectReference hostAuthorizationManager =
conn.get_sic().getAuthorizationManager();
文字列 new_userName = generatedUserName();
文字列 new_password =generatePassword();
HostAccountSpec hostAccountSpec = 新しい HostAccountSpec();
hostAccountSpec.setId(新しいユーザー名);
hostAccountSpec.setPassword(new_password);
hostAccountSpec.setDescription("これは API を通じて新しく作成されたユーザーです");
conn.get_service().createUser(hostLocalAccountManager,
ホストアカウント仕様);
System.out.println(新しいユーザー名 + " " + 新しいパスワード);
管理対象オブジェクト参照ルートフォルダー =
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,
ルートフォルダー、
新しい権限 [] {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", "ルート", "123456");
}
}
この記事は CSDN ブログからのものです。転載する場合は出典を明記してください: http://blog.csdn.net/forandever/archive/2009/12/30/5105408.aspx