Consulte la documentación de la API de servicio web de VMWare para crear un usuario ESX|ESXi y asignarle un grupo de usuarios.
Versión: ESX|ESXi 4.0
El código JAVA es el siguiente:
¿Ver copia simple en el portapapeles?
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>
* Crear usuario ESX o ESXi (no vCenter)
*</p>
* @autor para siempre
* @fecha 2009-12-31
*/
clase pública CrearUsuario {
/**
* Crear usuario
* @param hostName dirección IP del host. Por ejemplo: 202.101.1.121
* @param userName Nombre de usuario de conexión. Por ejemplo: raíz
* @param contraseña contraseña de conexión. Por ejemplo: 123456
* @throwsException
*/
private void createUser (String hostName, String nombre de usuario, String contraseña) lanza una excepción {
Conexión ServerConn = nueva ServerConn();
conn.prepare(nombre de host, nombre de usuario, contraseña);
ManagedObjectReference hostLocalAccountManager =
conn.get_sic().getAccountManager();
ManagedObjectReference hostAuthorizationManager =
conn.get_sic().getAuthorizationManager();
Cadena new_userName = generarUserName();
Cadena nueva_contraseña = generarContraseña();
HostAccountSpec hostAccountSpec = nueva HostAccountSpec();
hostAccountSpec.setId(new_userName);
hostAccountSpec.setPassword(nueva_contraseña);
hostAccountSpec.setDescription("Este es un usuario recién creado a través de API");
conn.get_service().createUser(hostLocalAccountManager,
especificación de cuenta de host);
System.out.println(nuevo_nombre_usuario + " " + nueva_contraseña);
ManagedObjectReference carpeta raíz =
conn.get_sic().getRootFolder();
//Establecer grupo de permisos
Permiso por = nuevo Permiso();
por.setGroup (falso);
per.setPrincipal(new_userName);
por.setRoleId(-1);
per.setPropagate(verdadero);
per.setEntity(carpeta raíz);
conn.get_service().setEntityPermissions(hostAuthorizationManager,
carpeta raíz,
nuevo permiso [] {por});
// CredentialStore csObj = CredentialStoreFactory.getCredentialStore();
// csObj.addPassword(getServerName(),userName,password.toCharArray());
System.out.println("Nuevo usuario creado exitosamente");
}
public static void main (String [] args) lanza una excepción {
CrearUsuario crearUsuario = nuevo CrearUsuario();
createUser.createUser("202.101.1.121", "raíz", "123456");
}
}
Este artículo proviene del blog de CSDN. Indique la fuente al reimprimir: http://blog.csdn.net/forandever/archive/2009/12/30/5105408.aspx.