जब पूर्ण अनुमतियों वाला उपयोगकर्ता इसे साझा के माध्यम से हटाता है, तो साझा-फ़ाइल रीड लॉक को स्वचालित रूप से बंद करना विंडोज को कॉन्फ़िगर करना संभव है? मुझे पता है कि मैन्युअल रूप से ऐसा करने के तरीके हैं, लेकिन मैं चाहता हूं कि यह स्वचालित रूप से हो।
अधिक विवरण जोड़ने के लिए, मेरे पास Windows Server 2012 R2 में एक होस्ट मशीन है। होस्ट हाइपर-वी में विंडोज 10 वीएम चला रहा है। मेजबान भी अनुमतियों के साथ एक फ़ोल्डर साझा कर रहा है जैसे कि "सभी" के पास रीड-एक्ज़ीक्यूट एक्सेस है, और वीएम पर एक उपयोगकर्ता की पूर्ण पहुंच है। जब मैं किसी दूसरी मशीन (एक "हर कोई" उपयोगकर्ता के रूप में) से शेयर से जुड़ता हूं, तो मैं उम्मीद के मुताबिक फाइलों (केवल पढ़ने के लिए) का उपयोग कर सकता हूं, उन्हें शेल, नोटपैड, आदि में खोल सकता हूं, लेकिन अगर, मेरे पास फाइलें खुली हैं , मैं उन्हें वीएम उपयोगकर्ता का उपयोग करते हुए शेयर से हटाने का प्रयास करता हूं, सिस्टम लटका रहता है क्योंकि फ़ाइल पर एक रीड-लॉक है। यदि, हालांकि, मैं उन्हें होस्ट सर्वर से हटाता हूं, तो रीड लॉक आमतौर पर हैं(लेकिन हमेशा नहीं) जबरन हटाया जाता है। क्या मेजबान पर या वीएम उपयोगकर्ता के माध्यम से उन्हें हटाते समय लगातार इस व्यवहार को प्राप्त करने का एक तरीका है, उदाहरण के लिए "राइट-एक्सेस-ओवरराइड्स-रीड-लॉक" साझा ध्वज?
संपादित करें:
क्या मैं वास्तव में चाहता हूँ करने के लिए सक्षम है, दोनों मेजबान सर्वर और VM से, दोनों के माध्यम से शेल और कमांड प्रॉम्प्ट, फ़ाइलों का नाम बदलें और हटाएं और ऑपरेशन हमेशा सफल रहें, भले ही अन्य उपयोगकर्ताओं के पास पढ़ने के लिए फ़ाइलें खुली हों। भाग।
EDIT2:
स्पष्ट करने के लिए मैं क्या मतलब स्वचालित , मैं जब मानक आदेशों का उपयोग करते हैं (जैसे पढ़ने के ताले भी ध्यान नहीं दिया जा करने की जरूरत है rmdir
, erase
आदि) के साथ-साथ खोल इंटरफ़ेस, और आदर्श भी Win32 API (हालांकि उनसे आवश्यक नहीं है) । स्क्रिप्ट या अन्य कस्टम कमांड का उपयोग करना, भले ही वह सटीक समान सिंटैक्स का उपयोग करता हो, तब तक काम नहीं करेगा जब तक कि कस्टम कमांड का उपयोग करने के लिए मानक कमांड को हुक करने का कोई तरीका नहीं है। कारण यह है कि मैं तृतीय-पक्ष बैच फ़ाइलों और निष्पादन योग्य फ़ाइलों को चला रहा हूं, जो साझा की गई फ़ाइलों को संशोधित करते हैं, और यदि वे लक्ष्य फ़ाइलों को संशोधित करने में सक्षम नहीं हैं, तो वे स्क्रिप्ट और प्रोग्राम विफल हो जाते हैं। कस्टम लॉक-ब्रेकिंग कमांड का उपयोग करने के लिए तृतीय-पक्ष फ़ाइलों को संशोधित करना एक विकल्प नहीं है।
मुझे पता है कि इस सब के विकल्प के रूप में मैं आंतरिक मंचन निर्देशिका का उपयोग करके तीसरे पक्ष के कार्यक्रमों को चला सकता हूं, फिर उनके आउटपुट के टुकड़ों को स्थानांतरित कर सकता हूं क्योंकि उन्हें अंतिम रूप दिया गया है, लेकिन मेरा लक्ष्य उत्पादन को शेयर पर उपलब्ध कराना है। उत्तरोत्तर, प्रत्येक टुकड़ा समाप्त होने के बाद नहीं।
x-del
औरx-ren
आदेश को हुक करने का कोई तरीका नहीं है, यह मेरे लिए काम नहीं करेगा। ऐसा इसलिए है क्योंकि फ़ाइलों को संस्करण नियंत्रण के तहत अन्य बैच फ़ाइलों द्वारा नया नाम और हटा दिया जाएगा और संशोधित नहीं किया जा सकता है। मैं इन विवरणों को प्रश्न में जोड़ दूंगा।