Mahlzeit!
Passend zum Wochenende noch knackige Fragen, so is fein

...
Aaaalso:
Benutzerberechtigungen gehen über den AuthorizationManager, evtl. hilft Dir das weiter:
http://vmware-forum.de/viewtopic.php?t=13796
Zum Auslesen gibts die Mehtode RetrieveEntityPermission()..
Netzwerkkarte beim Clonen is a bisserl schwieriger:
Man gibt dem cloneVM_Task() eine VirtualMachineCloneSpec mit, die hat (seit API4.0 glaub ich) eine VirtualMachineConfigSpec , in der man unter deviceChange änderungen an der virtuellen HArdware der Ziel-VM mitgeben kann.
Hier mal mein Script zum ändern der MAC-Adresse in der Ziel-VM (unter Java im VMware Orchestrator, sollte aber mit.net ähnlich funktionieren:
Code: Alles auswählen
System.log("start changeMac");
var devicearr = new Array();
//Neues Portgruppen-Objekt erstellen
var nic = new VcVirtualEthernetCardNetworkBackingInfo();
nic.deviceName = newNetwork;
var devicespec = new VcVirtualDeviceConfigSpec();
var devices = vm.config.hardware.device;
var connectInfo = new VcVirtualDeviceConnectInfo();
connectInfo.startConnected = true;
for( var i in devices) {
//System.log("Loop through devicearray...: " + i);
var curDevice = devices[i];
//System.log("current Device: " + curDevice);
if(curDevice instanceof VcVirtualPCNet32 || curDevice instanceof VcVirtualE1000 || curDevice instanceof VcVirtualVmxnet2 || curDevice instanceof VcVirtualVmxnet3) {
//System.log("Current Device is Network Card...");
devicespec.device = curDevice;
devicespec.operation = VcVirtualDeviceConfigSpecOperation.edit;
devicespec.device.addressType = "Manual";
devicespec.device.macAddress = newMAC;
devicespec.device.connectable = connectInfo;
devicespec.device.backing = nic;
devicearr[0] = devicespec;
// System.log("First Network Card changed, breaking loop.");
break;
}
}
System.log("end changeMac");
return devicearr;
Netbiosnamen: Da muss ich passen! Die Tools lesen ja den DNS-Namen aus, der steht dann via API unter VirtualMachine.Guest.hostname zur Verfügung.
Evtl. kann man über die VIX-Api was auslesen....
Viele Grüße,
Jörg