سؤال متكررة تغيير صاحب ويندوز 7


بطريقة ما ، أقوم بطريق الخطأ بتعيين جميع الملفات في مجلد فرعي إلى "لا مالك" ولا يمكنني تغيير جميع الأذونات ، ويمكنني تغييرها يدويًا عن طريق تغيير المالك ثم إعداد الأذونات ، ولكن كيف يمكنني تغيير مالك جميع الملفات في هذا الدليل في وقت واحد؟


87
2018-03-05 18:23


الأصل




الأجوبة:


استعمال takeown من موجه الأوامر للحصول على ملكية مجلد وكافة مجلداته الفرعية وملفاته بشكل متكرر:

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

يعمل هذا جيدًا ، ولكن إذا لم تقم بتشغيل وحدة تحكم سطر الأوامر كمسؤول فقد يفشل في الملفات التي لا تملكها.


83
2018-03-05 18:37





لإصلاح أذونات معطلة حقًا ، من الأفضل تشغيل هاتين الأمرين واحدة تلو الأخرى:

takeown /f "C:\path\to\folder" /r
icacls "C:\path\to\folder" /reset /T

الأول سيعطيك ملكية جميع الملفات ، ولكن هذا قد لا يكون كافيا ، على سبيل المثال إذا كانت جميع الملفات لديها أذونات القراءة / الكتابة / exec مضبوطة على "رفض". أنت تملك الملفات ولكنك لا تزال لا تستطيع فعل أي شيء معها.

في هذه الحالة ، شغّل الأمر الثاني ، الذي سيعمل على إصلاح الأذونات المعطلة.


94
2018-01-01 11:16



نصيحة تقنية ممتازة ... كان الحل الوحيد الذي عمل. شكرا لك مرة أخرى. - carrabino
أفضل نصيحة ، تحتاج إلى استخدام كل من takeown و icacls. - gnac
يكون الخيار / A مفيدًا إذا كنت ترغب في منح "ملكية مجموعة المسؤولين بدلاً من المالك الحالي". يجب أن يكون لديك امتيازات المسؤول للقيام بذلك. قد تحتاج إلى فتح نافذة cmd باستخدام السيطرة ، shift- أدخل. - PeterVermont
لقد أضفت /D Y المعلمة ل takeown لذلك يؤكد تلقائي الدلائل العودية حيث ليس لديك أذونات 'list list' لـ. - Jeroen Wiert Pluimers
JeroenWiertPluimers ، على الرغم من أنها نصيحة جيدة لقد أزلت التعديل لأنه (بغباء بما فيه الكفاية) معلمة مترجمة حتى على ويندوز الإنجليزية سوف تكون /D Yعلى الفرنسية /D O، ربما على الأسبانية /D Sوما إلى ذلك - this.lau_


لاحظ أن cacls موقوف (منذ Windows Vista؟) وتنصح باستخدامه icacls.

سيقوم هذا الأمر بشكل متكرر بإعادة تعيين الأذونات على مجلد:

icacls "C:\path\to\folder" /reset /T

26
2017-10-05 07:47





يمكنك استخدام cacls من موجه الأوامر:

cacls "C: \ path \ to \ folder" / E / T / C / G "Administrator": F

ال /T التبديل يسمح لها بالعمل بشكل متكرر. يحل محل Administrator مع المستخدم الذي ترغب في منح أذونات له.


5
2018-03-05 18:37





لقد واجهت مشاكل في الملفات ذات المسارات الطويلة جدًا (أكبر من 256 حرفًا). الأمرين

takeown /f "C:\path\to\really_long_folder_name" /r
icacls "C:\path\to\really_long_folder_name" /reset /T

عملت باستثناء هذه الملفات مع مسارات وأسماء طويلة حقا. انتهيت من إعادة تسمية

"C:\path\to\really_long_folder_name"

إلى

"C:\path\to\r"

ثم الجري

takeown /f "C:\path\to\r" /r /D Y
icacls "C:\path\to\r" /grant Everyone:(F) /t /c /q

بعد ذلك يمكنني إعادة تسمية المجلدات إلى شيء أكثر منطقية. يأخذ استبعاد / D Y نعم للمطالبات. بالنسبة إلى icacls ، قمت باستخدام / منح إمكانية الوصول الكامل إلى الجميع (حيث أنني كنت أحاول الوصول إلى البيانات الموجودة على محرك الأقراص الثابتة من جهاز كمبيوتر خامد) ، مع / t لمعالجة المجلدات الفرعية والملفات ، / q للتشغيل في الوضع الصامت (إخفاء النجاحات) و / ج لإظهار الأخطاء. كرر العملية ، إعادة تسمية المجلدات حتى يتم تحديث كافة أذونات الملفات بنجاح.

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


1
2018-01-11 10:36





بفضل @ this.lau_ لطرف / reset ، هذا هو بالضبط ما احتاجه لاستكمال النص البرمجي الخاص بي لأخذ ملكية CSC وإجراء نسخة احتياطية منه. بعد الحصول على ملكية C: \ Windows \ CSC ، فإن الأذونات تميل إلى أن تصبح غير متناسقة للغاية فيما يتعلق بالميراث - فإن مفتاح التبديل / reset تم إصلاحه بشكل مستقيم بالنسبة لي.

Function Copy-CSCData {
    $Datetime = Get-Date -Format yyyyMMdd.hhmmss
    $LogPath = 'PATH TO LOG'
    $CSCSource = 'C:\Windows\CSC\v2.0.6\namespace'
    $Dest = 'DESTINATION PATH'
    $icaclsource = "\\?\" + $CSCSource

    $CSCLogfile = "$LogPath\" + "$Datetime" + "_CSCRobocopy.log"

    icacls.exe $icaclsource /reset /T
    icacls.exe $icaclsource /grant :r "Everyone:(OI)(CI)F"

    Robocopy $CSCSource $Dest /Copy:DATSO /E /XO /Z /LOG+:$CSCLogfile /V /FP /NP /R:2 /W:2 /XF "~$*","*.tmp"
}

Thesle Williams - إذا قمت بفحص المتغير $ icaclsource من الأعلى الذي قمت بإجرائه ، فأضفت "\؟" أمام المسار المصدر. بإضافة هذا في المقدمة ، فإنه سيتم قبول أسماء ملفات أطول. هذه أيضا مشكلة لدي لكن هذا ثابت! في صحتك.

جوش


0
2018-06-15 23:16



مرحبًا بك في Super User! فقط لنعلمك أن مستخدمي "pinging" لا يعمل إلا في التعليقات على المنشورات ، لا في الوظائف الفعلية. للأسف لا يمكنك التعليق على مشاركات أخرى غير مشاركاتك ، أو على إجابات لأسئلتك ، حتى تحصل عليها 50+ سمعة. نرى كيف يعمل تعليقreplies؟. لاحظ أنه لا يمكنك إجراء اختبار ping لأي شخص في تعليق. فقط صاحب المنشور وأي مستخدم آخر قام بالتعليق بالفعل. - robinCTS