نمایش نتایج 1 تا 2 از 2

نام تاپیک: به دست آوردن نام پارتیشن های کامپیوترها در شبکه

  1. #1
    کاربر دائمی آواتار sadaf_
    تاریخ عضویت
    مهر 1388
    محل زندگی
    اصفهان
    پست
    845

    به دست آوردن نام پارتیشن های کامپیوترها در شبکه

    چطوری می تونم نام سیستم مقصد را بدم و لیست پارتیشنهای اون را به دست بیارم؟
    ممنون

  2. #2
    کاربر دائمی آواتار RED-C0DE
    تاریخ عضویت
    بهمن 1384
    محل زندگی
    31 4E 20 20 54 48 33 20 20 28 72 59 70 54 30 47 33 4E 31 28 20 20 5C 2F 30 52 31 7C 7C 29 20 20 7C 2
    پست
    551

    نقل قول: به دست آوردن نام پارتیشن های کامپیوترها در شبکه

    اولا اینکه منظورتون دقیقا آیا لیست پارتیشن هاست یا لیستی از Volume ها یا همون درایو های روی یک سیستم؟
    خود برگردوندن لیست اسامی درایوها و پارتیشن ها کاری نداره.چند راهشو می گم:

    با استفاده از متودهای زیر :
    Environment:
    string[] drivesName = Environment.GetLogicalDrives();


    System.IO:
    DriveInfo[] allDrivesInfo = DriveInfo.GetDrives();


    WMI:
     private const double _BYTES_IN_GIG = 1073741824;

    private void button1_Click(object sender, EventArgs e)
    {
    // اگه بخواین لیست درایو ها رو از یک سیستم دیگه غیر از سیستم محلی بگیرین نیاز دارین برای این کار، ب اینصورت زیر، احراز هویت کنین
    // در غیر اینصورت اگه بخواین لوکال کار کنین نیازی ب این کار نیست
    ConnectionOptions con2TargetOrMayBVictim = new ConnectionOptions
    {
    Username = "TargetSystemUserName",
    Password = "TargetSystemPassword"
    };
    ManagementScope scope = new ManagementScope("\\TargetSystem", con2TargetOrMayBVictim);

    ObjectQuery queryEnumerateLogicalDisks = new ObjectQuery("SELECT FreeSpace,Size,Name FROM Win32_LogicalDisk");
    ManagementObjectSearcher moSearcher = new ManagementObjectSearcher( scope,queryEnumerateLogicalDisks);
    ManagementObjectCollection logicalDrives= moSearcher.Get();

    foreach (ManagementObject volumeInfo in logicalDrives)
    {
    // size , freespace is in byte, convert to Gigabyte
    MessageBox.Show(string.Format("VolumeName:{0} Size:{1:0.00} FreeSpace:{2:0.00}"
    , volumeInfo["Name"]
    , ((ulong)volumeInfo["Size"] / _BYTES_IN_GIG)
    , ((ulong)volumeInfo["FreeSpace"] /_BYTES_IN_GIG)
    ));
    }
    }




    با کمک ابزار DiskPart خود ویندوز:




    اما برای هدفی! ک شما دارین (بخواین این لیست رو از سیستم دیگه ای بدست بیارین) ، کارای دیگه ای باید کرد.
    یا
    باید بتونین برنامه ای روی سیستم مقصد نصب کنین (یکجور Listener ) ک گوش ب زنگ باشه، شما بهش درخواست/دستور بدین ، اون براتون تو سیستم هدف با مجوز محلی اجرا کنه، نتیجش رو براتون بفرسته (ک جزئیات تمام این بخش ها قابل بحثه)
    یا
    مجوز روی اون سیستم داشته باشین تا بتونین بصورت ریموت اجرا کنین دستوراتتون رو.
    توی مثال مربوط ب WMI ک گذاشتم بالاتر، همین اتفاق می افته، یعنی با مجوزی ک رو سیستم هدف دارین می تونین لیست مورد نظر رو بدست بیارین

تاپیک های مشابه

  1. به دست آوردن نام textBox های موجود بر روی یک فرم
    نوشته شده توسط kitcat_m18 در بخش برنامه نویسی در 6 VB
    پاسخ: 5
    آخرین پست: دوشنبه 19 تیر 1396, 17:53 عصر
  2. به دست آوردن نام و IP سیستم های متصل به شبکه ؟؟؟
    نوشته شده توسط butterfly8528 در بخش برنامه نویسی مرتبط با شبکه و وب در VB6
    پاسخ: 9
    آخرین پست: جمعه 11 بهمن 1392, 18:19 عصر
  3. سوال: به دست آوردن نام پورت های قابل دسترس سیستم(راهنمایی کنید)
    نوشته شده توسط amir22448 در بخش C#‎‎
    پاسخ: 2
    آخرین پست: پنج شنبه 22 تیر 1391, 17:40 عصر
  4. بدست آوردن نام جدول های اکسس با وی بی
    نوشته شده توسط masoud_583 در بخش برنامه نویسی در 6 VB
    پاسخ: 1
    آخرین پست: شنبه 23 اردیبهشت 1385, 06:50 صبح
  5. به دست آوردن آیکونهای برنامه های متفرقه
    نوشته شده توسط بابک زواری در بخش برنامه نویسی در 6 VB
    پاسخ: 5
    آخرین پست: سه شنبه 13 اردیبهشت 1384, 22:50 عصر

برچسب های این تاپیک

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •