Hallo
Ich habe folgende Fragen zum SDK:
- Wie kann man die Privilegien auf einem Managedobject auslesen?
Beispiel: Kann der User die VM ausschalten?
- Wie setze ich beim klonen einer VM die Netzwerkkarte?
- Kann man den Netbiosnamen einer VM über das SDK auslesen?
Ich benutze das SDK mit .Net. Wäre nett wenn mir jemand helfen könnte.
Die Foren-SW läuft ohne erkennbare Probleme. Sollte doch etwas nicht funktionieren, bitte gerne hier jederzeit melden und wir kümmern uns zeitnah darum. Danke!
SDK Fragen
- Tschoergez
- Moderator
- Beiträge: 3476
- Registriert: 23.02.2005, 09:14
- Wohnort: Burgberg im Allgäu
- Kontaktdaten:
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:
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
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
Hallo Jörg
Danke für die schnelle Hilfe.
Die Methode RetrieveEntityPermission habe ich schon entdeckt.
Aber wie kann ich damit ein Privileg ermitteln?
Ich möchte prüfen ob z.B. vor dem PowerOn der Benutzer das Privileg "VirtualMachine.Interact.PowerOn" hat.
Hintergrund ist der, das ich nicht in einen AuthorizationError laufen möchte.
Gruß
Harald
Danke für die schnelle Hilfe.
Die Methode RetrieveEntityPermission habe ich schon entdeckt.
Aber wie kann ich damit ein Privileg ermitteln?
Ich möchte prüfen ob z.B. vor dem PowerOn der Benutzer das Privileg "VirtualMachine.Interact.PowerOn" hat.
Hintergrund ist der, das ich nicht in einen AuthorizationError laufen möchte.
Gruß
Harald
Zurück zu „vCenter / VMware VirtualCenter“
Wer ist online?
Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast