Win32: API يدعو إلى قائمة أسهم الشبكة المتاحة على خادم؟
-
23-08-2019 - |
سؤال
افترض أن لدي إمكانية الوصول إلى خادم SMB عند IP 1.2.3.4، كيف يمكنني تحديد قائمة الأسهم المتاحة؟
يمكن ل Windows Explorer القيام بذلك عند إدخال مسار UNC 1.2.3.4 - لكن موجه الأوامر "Dir 1.2.3.4 " فشل!
لقد جربت مكالمات FindFirstFile / FindNext المعتادة - التي أستخدمها بنجاح لقراءة الملفات والدلائل على كل مشاركة، لكنها لا تعمل مباشرة على جذر الخادم.
من الناحية المثالية، أحتاج إلى شيء يعمل مع XP فصاعدا.
يحرر: أريد أن أفعل هذا برمجيا، بدلا من سطر الأوامر. إعادة توجيه وتحليل الإخراج من "عرض صافي 1.2.3.4" ستعمل، لكنني أبحث بشكل مثالي عن API لهذه الوظيفة.
المحلول
وفقا للمستندات هناك NetShareEnum
و WNetEnumResource
وظيفة.
نصائح أخرى
Net View 1.2.3.4
الدفع http://www.ss64.com/nt/net_share.html.
تحرير: إذا كنت ترغب في القيام بذلك برمجيا، يبدو netshareenum. سوف تعمل.
يبدو أنه يمكنك استخدام WMI للحصول على هذه المعلومات. يفحص هذا المشنور بالنسبة لبعض البرامج التعليمية NeAn PowerShell التي تظهر الآن لاستخدام كائن WMI Win32_Share.
لا تستخدم WMI أبدا (غير مثبت أصلي)
استخدم واجهة برمجة تطبيقات Win32 لتعداد الأسهم، ونشرت ملايين الأوقات على مجموعات Google (Win32)