تعداد مشاركات شبكة Windows وجميع الأذونات المخصصة الموجودة أو داخلها

StackOverflow https://stackoverflow.com/questions/115649

سؤال

لدينا العديد من الخوادم التي تحتوي على العديد من الأدلة المشتركة.من السهل إلقاء نظرة على متصفح المشاركة لمعرفة ما هي مشاركات "المستوى الأعلى"، ولكن يوجد أدناه فوضى مختلطة من الأذونات المخصصة، ولم يتم توثيق أي منها.

أرغب في تعداد جميع المشاركات الموجودة في المجال (بالتأكيد جميع "الخوادم"، وستكون أجهزة الكمبيوتر المحلية لطيفة) ثم أكرر كل واحدة منها وأبلغ عن أي انحراف عن الأصل.إذا كان لدى الطفل نفس الأذونات، فلا داعي للإبلاغ عن ذلك مرة أخرى.

أفضّل حلاً نصيًا بسيطًا لكتابة تطبيق C# كبير، ولكن أي طريقة ناجحة ستفي بالغرض (حتى البرامج الموجودة).

على سبيل المثال، أود الحصول على:

SERVER1\
 \-- C: (EVERYONE: Total control, ADMINs, etc. etc.)
   \-- (skip anything that is not the same as above)
   \-- SuperSecretStuff (Everyone: NO access; Bob: Read access)
SERVER2\ 
 \-- Stuff (some people)

إلخ.

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

المحلول

أعلم أنها ليست برمجة نصية، لكن هل جربت ShareEnum؟ http://technet.microsoft.com/en-us/sysinternals/bb897442.aspx ومن ثم تصديره؟يمكنك أيضًا المقارنة مع الأشواط الأقدم.لا أعتقد أن هناك واجهة خط cmd (وهي سيئة)، ولكنها ستوفر لك المعلومات التي تحتاجها

نصائح أخرى

هذا البرنامج النصي بوويرشيل يحقق هدفك.

كما جاء:

سيقوم هذا البرنامج النصي الصغير بتعداد جميع المشاركات الموجودة على جهاز الكمبيوتر، وسيدرج أذونات مستوى المشاركة لكل مشاركة.ويستخدم WMI لاسترداد المشاركات ولسرد الأذونات.

لاحظ أن هذا البرنامج النصي يسرد أذونات مستوى المشاركة، وليس أذونات NTFS.

يقبل عددًا من أجهزة الكمبيوتر كمدخل له، أو عنوان IP واحد، أو تشغيله في النظام المحلي:

       .EXAMPLE 
       C:\PS> .\Get-SharePermissions # Operates against local computer. 

       .EXAMPLE 
       C:\PS> 'computerName' | .\Get-SharePermissions 

       .EXAMPLE 
       C:\PS> Get-Content 'computerlist.txt' | .\Get-SharePermissions | Out-File 'SharePermissions.txt' 
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top