Consulte a documentação da API Webservice do VMWare para criar um usuário ESX|ESXi e atribuir um grupo de usuários ao usuário.
Versão: ESX|ESXi 4.0
O código JAVA é o seguinte:
visualizar cópia simples para impressão da área de transferência?
importar java.net.URL;
importar com.vmware.vim25.HostAccountSpec;
importar com.vmware.vim25.ManagedObjectReference;
importar com.vmware.vim25.Permission;
importar com.vmware.vim25.ServiceContent;
importar com.vmware.vim25.VimPortType;
importar com.vmware.vim25.VimServiceLocator;
importar com.vmware.security.credstore.*;
/**
* <p>
* Criar usuário ESX ou ESXi (não vCenter)
*</p>
* @autor para sempre
* @data 31/12/2009
*/
classe pública CriarUsuário {
/**
* Criar usuário
* @param hostName Endereço IP do host. Por exemplo: 202.101.1.121
* @param userName Nome de usuário da conexão. Por exemplo: raiz
* @param senha senha de conexão. Por exemplo: 123456
* @throwsException
*/
private void createUser(String hostName, String userName, String password) lança exceção {
ServerConn conn = new ServerConn();
conn.prepare (hostName, nome de usuário, senha);
ManagedObjectReference hostLocalAccountManager =
conn.get_sic().getAccountManager();
ManagedObjectReference hostAuthorizationManager =
conn.get_sic().getAuthorizationManager();
String new_userName = generateUserName();
String nova_senha = gerarSenha();
HostAccountSpec hostAccountSpec = new HostAccountSpec();
hostAccountSpec.setId(new_userName);
hostAccountSpec.setPassword(nova_senha);
hostAccountSpec.setDescription("Este é um usuário recém-criado através da API");
conn.get_service().createUser(hostLocalAccountManager,
hostAccountSpec);
System.out.println(new_userName + " " + new_password);
ManagedObjectReference rootFolder =
conn.get_sic().getRootFolder();
//Definir grupo de permissões
Permissão por = new Permissão();
per.setGroup(falso);
per.setPrincipal(new_userName);
por.setRoleId(-1);
per.setPropagate(true);
per.setEntity(rootFolder);
conn.get_service().setEntityPermissions(hostAuthorizationManager,
pasta raiz,
nova permissão [] {por});
// CredentialStore csObj = CredentialStoreFactory.getCredentialStore();
// csObj.addPassword(getServerName(),userName,password.toCharArray());
System.out.println("Novo usuário criado com sucesso");
}
public static void main(String [] args) lança exceção {
CreateUser createUser = new CreateUser();
createUser.createUser("202.101.1.121", "raiz", "123456");
}
}
Este artigo vem do blog CSDN. Por favor, indique a fonte ao reimprimir: http://blog.csdn.net/forandever/archive/2009/12/30/5105408.aspx.