Reportez-vous à la documentation de l'API Webservice de VMWare pour créer un utilisateur ESX|ESXi et attribuer un groupe d'utilisateurs à l'utilisateur.
Version : ESX|ESXi 4.0
Le code JAVA est le suivant :
afficher la copie ordinaire dans le presse-papiers ?
importer java.net.URL ;
importer com.vmware.vim25.HostAccountSpec ;
importer com.vmware.vim25.ManagedObjectReference ;
importer com.vmware.vim25.Permission ;
importer com.vmware.vim25.ServiceContent ;
importer com.vmware.vim25.VimPortType ;
importer com.vmware.vim25.VimServiceLocator ;
importer com.vmware.security.credstore.* ;
/**
* <p>
* Créer un utilisateur ESX ou ESXi (non-vCenter)
* </p>
* @auteur pour toujours
* @date 2009-12-31
*/
classe publique CreateUser {
/**
* Créer un utilisateur
* @param hostName adresse IP de l'hôte. Par exemple : 202.101.1.121
* @param userName Nom d'utilisateur de connexion. Par exemple : racine
* Mot de passe de connexion @param password. Par exemple : 123456
* @throwsException
*/
private void createUser (String hostName, String userName, String password) lève une exception {
ServerConn conn = new ServerConn();
conn.prepare (nom d'hôte, nom d'utilisateur, mot de passe);
ManagedObjectReference hostLocalAccountManager =
conn.get_sic().getAccountManager();
ManagedObjectReference hostAuthorizationManager =
conn.get_sic().getAuthorizationManager();
String new_userName = generateUserName();
Chaîne new_password = generatePassword();
HostAccountSpec hostAccountSpec = new HostAccountSpec();
hostAccountSpec.setId(new_userName);
hostAccountSpec.setPassword(new_password);
hostAccountSpec.setDescription("Ceci est un utilisateur nouvellement créé via l'API");
conn.get_service().createUser(hostLocalAccountManager,
hostAccountSpec);
System.out.println(new_userName + " " + new_password);
ManagedObjectReference rootFolder =
conn.get_sic().getRootFolder();
//Définir le groupe d'autorisations
Autorisation par = nouvelle autorisation ();
per.setGroup(false);
per.setPrincipal(new_userName);
per.setRoleId(-1);
per.setPropagate(true);
per.setEntity(rootFolder);
conn.get_service().setEntityPermissions(hostAuthorizationManager,
dossier racine,
nouvelle autorisation [] {per});
// CredentialStore csObj = CredentialStoreFactory.getCredentialStore();
// csObj.addPassword(getServerName(),userName,password.toCharArray());
System.out.println("Nouvel utilisateur créé avec succès");
}
public static void main (String [] args) lève une exception {
CreateUser createUser = new CreateUser();
createUser.createUser("202.101.1.121", "root", "123456");
}
}
Cet article provient du blog CSDN Veuillez indiquer la source lors de la réimpression : http://blog.csdn.net/forandever/archive/2009/12/30/5105408.aspx.