ऐसा लगता है कि ट्रिक (शायद कैविएट के साथ), उन सभी फ़ोल्डरों को खोजने के लिए जो उपयोगकर्ता "someuser" के पास C ड्राइव पर इस उदाहरण में, अंतर्निहित Windows icacls कमांड का उपयोग करने के लिए है:
icacls c:\*. /findsid someuser /t /c /l
निर्देशिकाओं की पुनरावृत्ति के लिए इसे बताने के लिए / t की आवश्यकता है। यह बताने के लिए भी कि यह त्रुटियों का सामना कर रहा है, यह बताने के लिए / c की आवश्यकता है। / L इसे प्रतीकात्मक लिंक (यदि कोई हो) के साथ काम करता है। (यह अंतिम एक एल है, और ये झंडे ऊपरी या निचले मामले में हो सकते हैं।)
*.
जिस तरह से कहने के लिए "देखो निर्देशिकाओं के लिए, फाइल नहीं" के रूप में डॉस पुराने टाइमर द्वारा मान्यता प्राप्त हो जाएगा। बेशक, यदि आप फ़ाइलों और फ़ोल्डरों को ढूंढना चाहते हैं, तो इसे बदल दें *.*
, और निश्चित रूप से आप इसे किसी भी ड्राइव पर इंगित कर सकते हैं, या इसे किसी भी फ़ोल्डर से चला सकते हैं और ड्राइव / फ़ोल्डर पथ को छोड़ सकते हैं और इसे उसके सापेक्ष खोज सकते हैं केवल फ़ोल्डर।
मैंने ओपी के समान ही उत्तर मांगा, और इस प्रविष्टि को पाया, लेकिन केवल डाउनलोड करने योग्य टूल पर आधारित प्रस्ताव को देखने के लिए चकित था। दूसरों की तरह, मैं कुछ निर्मित में उपयोग करना पसंद करता था, और मुझे यह आइकल्स टूल में मिला।
और मैंने पुष्टि की है कि यह विंडोज सर्वर 2012, 2008 और विंडोज 7 पर काम करता है, इसलिए मुझे संदेह है कि यह सर्वर 2003, विंडोज 8 और इसी तरह काम करेगा।
परिणामी सूची में लाइन के बाद संकेतित फ़ोल्डर होंगे, जैसे:
SID मिला: c: \ somedir \ somesubdir।
ध्यान दें कि यदि आप इसे एक ऐसे उपयोगकर्ता के रूप में चलाते हैं जिसके पास स्वयं नहीं है कि कुछ निर्देशिकाओं के लिए अनुमति दी गई है, तो आपको इस तरह के परिणामों में त्रुटियों को हल करना होगा:
c: \ System वॉल्यूम जानकारी: प्रवेश निषेध है।
और अगर आप एक संपूर्ण ड्राइव खोज रहे हैं, तो सैकड़ों ऐसी त्रुटियां हो सकती हैं, जिससे उनके परिणामों को खोजना मुश्किल हो जाता है।
कुछ लोग सोच सकते हैं कि उत्तर कमांड लाइन को प्रशासक के रूप में चलाने के लिए है, लेकिन इससे बस और अधिक ऐसी त्रुटियां सामने आएंगी, जैसा कि अब आप उन फ़ोल्डरों को ट्रेस कर रहे होंगे जो पहले छिपे हुए थे।
अब, यदि आप उन त्रुटियों को छिपाने में रुचि रखते हैं, तो आप केवल परिणामों को पाइप करने के लिए एक खोज आदेश का उपयोग करने में सक्षम नहीं होंगे, जो सफल होते हैं (जो कि "SID पाया गया" का उल्लेख करते हैं), क्योंकि त्रुटियों को फ़िल्टर नहीं किया जाएगा। पाइप द्वारा कमांड को ढूंढें। इसके बजाय, यदि आप सभी त्रुटियों को दूर करना चाहते हैं, तो आपको उपयोग करके "बिट बकेट" में त्रुटि धारा (stderr) को पुनर्निर्देशित करने के बजाय अस्पष्ट चाल का उपयोग करने की आवश्यकता है 2>nul:
। तो ऊपर का उदाहरण बन जाएगा:
icacls c:\*. /findsid someuser /t /c /l 2>nul:
बस इस बात से सावधान रहें कि कुछ फ़ोल्डर्स जो इस तरह की त्रुटियों को उत्पन्न करते हैं, जो अब गलतियां छिपी हुई हैं, वे अच्छी तरह से फ़ोल्डर हो सकते हैं जिन्हें "someuser" DOES की पहुंच है, लेकिन जो आप नहीं करते हैं। तो आप बस इन त्रुटियों को अनदेखा करने के बारे में दो बार सोचना चाहते हैं। लेकिन अगर आप चाहते हैं, तो आप इसे कैसे कर सकते हैं।
यह संभावना संभावित रूप से इस उत्तर के मूल्य को सीमित करती है, मुझे एहसास होता है। अगर किसी के पास अधिक परिचित चीजों के साथ विस्तार करना चाहते हैं या अपने उत्तर को सही करना चाहते हैं तो मैं इसका स्वागत करता हूं।