पॉवरशेल के साथ पुन: मालिक को बदलें?


10

मैं एक फ़ोल्डर के मालिक को पुनरावर्ती रूप से बदलने के लिए Powershell का उपयोग करने का प्रयास कर रहा हूं।

मैं मूल रूप से इस कोड का उपयोग कर रहा हूं:

$acct1 = New-Object System.Security.Principal.NTAccount('DOMAIN\Enterprise Admins')
$profilefolder = Get-Item MyFolder
$acl1 = $profilefolder.GetAccessControl()
$acl1.SetOwner($acct1)
set-acl -aclobject $acl1 -path MyFolder

यह पहले स्तर पर स्वामित्व बदल देगा, लेकिन किसी भी सबफ़ोल्डर या फ़ाइलों के लिए नहीं। क्या सभी सामग्री का दायरा बढ़ाने का कोई तरीका है MyFolder?

जवाबों:


18

टेकऑन कमांड ठीक वही करता है जो आप करने की कोशिश कर रहे हैं। यह एक नियमित विंडोज़ उपयोगिता है।

यह स्निपेट वर्तमान उपयोगकर्ता के लिए स्वामित्व लागू करेगा, लेकिन आप इसे अपने इच्छित उपयोगकर्ता पर सेट कर सकते हैं।

http://technet.microsoft.com/en-us/library/cc753024(v=ws.10).aspx

takeown /f "c:\folder\subfolder" /r

यदि आप मुसीबत में हैं, तो सुनिश्चित करें कि आप व्यवस्थापक अनुमतियों के साथ cmd / पावरशेल विंडो चला रहे हैं। वही अन्य शक्तियां विशिष्ट उत्तर पर लागू होती है।


1
यह doe snot मालिक को एक समूह में स्थापित करने के लिए काम करता है ("प्रशासक" के अलावा)
Gert van den Berg

5

सेट-एसीएल cmdlet पाइप से पथ पैरामीटर लेगा, इसलिए अनुशंसित तरीका प्रत्येक आइटम पर स्वामी को सेट करने के लिए एक निर्देशिका की सामग्री को पाइप करने के लिए है:

dir -r c:\Users\goyuix\temp | set-acl -aclobject $acl1

यह अस्थायी रूप से मेरी प्रोफ़ाइल में अस्थायी निर्देशिका में सभी फ़ोल्डर / फ़ाइलों पर स्वामी को सेट करेगा।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.