วิธีแสดง / เปลี่ยนแปลงเจ้าของไฟล์ใน Windows 7


14

มีวิธีแสดงเจ้าของโฟลเดอร์และไฟล์จากบรรทัดคำสั่งในพรอมต์คำสั่ง Windoews 7 หรือไม่?

คุณสามารถเปลี่ยนเจ้าของโฟลเดอร์หรือไฟล์เป็นผู้ใช้ "โดยพลการ" ซึ่งไม่ใช่ชื่อผู้ใช้ของคุณเองได้หรือไม่?

ฉันมีบางโฟลเดอร์ (และไฟล์) ที่อาจหลงเหลือจากแอพที่ฉันลบออกไป หากฉันพยายามที่จะดูเนื้อหาของโฟลเดอร์ที่ฉันบอกว่าฉันไม่ได้รับอนุญาตให้ทำแม้ว่าฉันจะทำงานเป็น "ผู้ดูแลระบบ"

ฉันสามารถ "ใช้ความเป็นเจ้าของ" (ฉันคิดว่านี่จะประสบความสำเร็จ แต่ยังไม่ได้ลอง) ของโฟลเดอร์ (ไฟล์) แต่ถ้าฉันต้องการเปลี่ยนความเป็นเจ้าของกลับไปเป็นเจ้าของคนก่อนหน้าฉันต้องรู้ชื่อผู้ใช้ของต้นฉบับ เจ้าของและฉันต้องสามารถ "ให้ความเป็นเจ้าของ" แก่ผู้ใช้รายนั้นได้

เป็นไปได้ไหมที่จะทำสิ่งนี้จากพรอมต์คำสั่ง Windows (หรือถ้าไม่ใช่จาก GUI-Tool)


ดูที่นี่สำหรับวิธีการแก้ปัญหาอย่างหมดจดโดยใช้ cmd.exe: รับข้อมูลความเป็นเจ้าของจากบรรทัดคำสั่งโดยใช้ wmic
schletti2000

คำตอบ:


18

คุณสามารถเป็นเจ้าของจากบรรทัดคำสั่งผ่านทางtakeownคำสั่งและผ่านทางใช้ Windows GUI

คุณสามารถดูเจ้าของไฟล์ / โฟลเดอร์โดยใช้DIRพร้อมกับพารามิเตอร์ / q

คุณสามารถดู (และรับ) ความเป็นเจ้าของผ่าน Windows GUI ได้โดยคลิกขวาที่วัตถุใน Windows Explorer (ไฟล์หรือโฟลเดอร์) เลือกคุณสมบัติจากนั้นไปที่แท็บความปลอดภัย บนแท็บความปลอดภัยให้คลิกปุ่มขั้นสูงและในกล่องโต้ตอบการตั้งค่าความปลอดภัยขั้นสูงที่ปรากฏขึ้นในภายหลังให้ไปที่แท็บเจ้าของ

เมื่อคุณได้เป็นเจ้าของไฟล์ / โฟลเดอร์แล้ว Windows จะไม่ติดตามเจ้าของคนก่อนดังนั้นจึงไม่มีทางที่จะเปลี่ยนกลับเป็นเจ้าของก่อนหน้าได้ นอกจากนี้ยังไม่มีแนวคิดเรื่องความเป็นเจ้าของหรือการอนุญาตไฟล์หากคุณทำงานกับประเภทระบบไฟล์ที่ไม่รองรับคุณสมบัติเพิ่มเติมเหล่านี้เช่น FAT16, FAT32, exFAT เป็นต้น


5

คุณสามารถใช้wmicเพื่อสอบถามข้อมูลการเป็นเจ้าของเช่นนี้:

wmic path Win32_LogicalFileSecuritySetting where Path="C:\\windows\\winsxs" ASSOC /RESULTROLE:Owner /ASSOCCLASS:Win32_LogicalFileOwner /RESULTCLASS:Win32_SID

อย่าใช้dirเนื่องจากข้อมูลความเป็นเจ้าของอาจถูกตัดเช่นเดียวกับไดเรกทอรีตัวอย่างนี้

ในการรับเอาต์พุตที่จัดรูปแบบด้วยDOMAIN\USERคุณสามารถใช้สคริปต์ชุดต่อไปนี้

@ECHO OFF
SETLOCAL EnableDelayedExpansion
REM Escpe the backslash with \\
SET ESCAPED=%~f1
SET ESCAPED=!ESCAPED:\=\\!

wmic path Win32_LogicalFileSecuritySetting where Path="!ESCAPED!" ASSOC /RESULTROLE:Owner /ASSOCCLASS:Win32_LogicalFileOwner /RESULTCLASS:Win32_SID > "%temp%\wmi.tmp"

for /F "skip=2 delims=€" %%G in ('type %temp%\wmi.tmp') do (call     :process_wmioutput "%%G")
goto :continue
:process_wmioutput
SET UNDELIMITED=%1
SET DELIMITED=!UNDELIMITED:  =€!
FOR /F "delims=€ tokens=10,12" %%G in ("!DELIMITED!") DO (ECHO %%H\%%G)
exit /B

:continue

3

SubInACL.exeอนุญาตให้คุณตั้งค่าเจ้าของ ไวยากรณ์ดูเหมือนว่า:

SubInACL / ชื่อไฟล์ไฟล์ / setowner = NewOwner

ถ้าคุณไม่ได้คุณสามารถดาวน์โหลดได้จากไมโครซอฟท์

แน่นอนคุณต้องมีสิทธิ์ในการทำเช่นนี้


2

caclsและicalcsสามารถแก้ไขการอนุญาตและtakeownอนุญาตให้เป็นเจ้าของได้ AFAIK มีอยู่ใน Windows 7 เช่นกัน โดยทั่วไปเมื่อคุณทำคุณจะtakeownติดตามcaclsหรือicalcsให้สิทธิ์กับวัตถุด้วยตนเอง

รักษาความปลอดภัยแบบไมโครซอฟท์ไม่อนุญาตให้มีการให้ความเป็นเจ้าของให้กับใครบางคนเท่านั้นที่จะใช้มัน ด้วยวิธีนี้ผู้ดูแลระบบ (หรือผู้ใช้ที่ได้รับสิทธิพิเศษ) ไม่สามารถเป็นเจ้าของไฟล์ไม่สามารถเข้าถึงได้โดยตรงเข้าถึงหรือแก้ไขและมอบให้กับเจ้าของดั้งเดิมโดยไม่ต้องแจ้งให้เจ้าของดั้งเดิมทราบ

แก้ไข: เครดิตไปที่ศิลปะtakeownสำหรับรายละเอียดของการใช้งานของ


1
cacls ไม่อนุญาตให้เปลี่ยนหรือดูเจ้าของไฟล์ คุณจะใช้takeownทำเช่นนั้น โดยทั่วไปเมื่อคุณทำการซื้อกิจการคุณจะติดตามด้วย calcs หรือ icacls เพื่อให้สิทธิ์แก่วัตถุ
ศิลปะ

ขอบคุณคุณพูดถูก ฉันเดาว่ามันแสดงให้เห็นว่าฉันไม่ได้อยู่ในโลกของ Microsoft นานเกินกว่าจะจำสิ่งเหล่านั้นได้ ฉันจะแก้ไขคำตอบของฉัน
David Foerster

2
ฉันรู้ว่านี่เก่า แต่ฉันคิดว่าฉันจะเพิ่มว่าคุณสามารถตั้งเจ้าของให้กับคนอื่นโดยใช้ icacls icacls <path> / SETOWNER <name> ใช้งานได้ แน่นอนว่าคุณต้องเป็นเจ้าของหรือได้รับการอนุญาตที่เหมาะสมก่อนที่คุณจะสามารถทำเช่นนั้นได้ดังนั้นคุณจึงสามารถแสดงสถานการณ์การเป็นเจ้าของและให้สิทธิ์คืนได้หากคุณมีความสามารถในการเป็นเจ้าของในตอนแรก
palehorse

ครั้งสุดท้ายที่ฉันตรวจสอบ Windows จะห้ามการโอนความเป็นเจ้าของไปยังบัญชีอื่นยกเว้นบัญชีที่ดำเนินการถ่ายโอน
David Foerster

@DavidFoerster - ตามสิ่งนี้: การกู้คืน 'TrustedInstaller' ในฐานะเจ้าของสำหรับปฏิบัติการในโฟลเดอร์ Windowsปรากฏว่ามันจะทำงานได้ ฉันยังไม่ได้ลองด้วยตัวเอง
Kevin Fegan

-1

หากใช้เพียงDIRในโลกของ Microsoft ลอง/Qตัวเลือก

ตัวอย่างเช่น:

DIR *.xlsx /Q

นี่คือคำตอบซ้ำซ้อนของ Art
fixer1234
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.