سؤال

باستخدام Myper-V Manager، يمكنني الاتصال بمضيف VM بعيد، انتقل إلى إعدادات VM، وإضافة ملف .vhd موجود كقرص ثابت جديد. إذا كان مضيف VM قيد التشغيل Server 2008 R2، ويتم إرفاق القرص بوحدة تحكم SCSI، يمكنني حتى القيام بذلك أثناء تشغيل VM (انظر ما الجديد في Hyper-V R2).

القيام بذلك يدويا، كل شيء يعمل بشكل رائع. المشكلة هي، الآن أريد أتمتة ذلك حتى أتمكن من إرفاق VHDS مختلفة أثناء التنقل أثناء بعض الاختبارات الآلية.

لدي بالفعل رمز C # الذي يتصل بمضيف VM عن بعد عبر WMI ويبدأ / توقف VMS عن طريق الاتصال requeststerechange., وأود أن أقدمه لتتمكن من القول "هنا هو المسار إلى VHD، إرفاقه كمحرك SCSI إلى VM". ولكن النظر إلى قائمة WMI فصول المحاكاة الافتراضية, ، لا أستطيع معرفة كيفية القيام بذلك.

الأقرب وجدت هو تتعدد طريقة msvm_imagemanagementervice., ، ولكن هذا يبدو أنه جبل VHD داخل نظام التشغيل الحالي، وهو ما لا أريده.

هل كانت مفيدة؟

المحلول

من الضروري إضافة القرص الاصطناعية (نوع المورد.قرص, ، موارد ptype.disksynthetic.) استخدام msvm_virtualsystemmanagementervice.addvirtualsystemresourcesources. الوالد = مسار WMI للتحكم SCSI.

ManagementObject synthetic = Utilities.GetResourceAllocationSettingData(scope,
    ResourceType.Disk, ResourceSubType.DiskSynthetic);
synthetic["Parent"] = <ideControllerPath>; //or SCSI controller path (WMI path)
synthetic["Address"] = <diskDriveAddress>; //0 or 1 for IDE
string[] RASDs = new string[1];
RASDs[0] = synthetic.GetText(TextFormat.CimDtd20);

ثم لإرفاق القرص الصلب الظاهري (نوع المورد.StorageeTent., ، موارد ptype.VHD) استخدام msvm_virtualsystemmanagementervice.addvirtualsystemresourcesources. الوالد = مسار WMI للقرص الاصطناعي، اتصال = * مسار ملف .vhd.

ManagementObject hardDisk = Utilities.GetResourceAllocationSettingData(scope,  
    ResourceType.StorageExtent, ResourceSubType.VHD);
hardDisk["Parent"] = <syntheticPath>; //WMI path
string[] connection = { <vhdPath> }; //Path to *.vhd file
hardDisk["Connection"] = connection;
string[] RASDs = new string[1];
RASDs[0] = hardDisk.GetText(TextFormat.CimDtd20);

يستخدم المرافق المشتركة لعينات الافتراضية و WMI Explorer..

نصائح أخرى

أيضا إلقاء نظرة على http://hypervlib.codeplex.com. مثال.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top