Windows 7'de bir dosyanın sahibi nasıl görüntülenir / değiştirilir


14

Windoews 7 komut isteminde komut satırından klasörlerin ve dosyaların sahibini görüntülemenin bir yolu var mı?

Bir klasör veya dosyanın sahibini kendi kullanıcı adınız olmayan "keyfi" bir kullanıcı olarak değiştirebilir misiniz?

Büyük olasılıkla kaldırdığım bir uygulamadan kalan bazı klasör (ve dosyalar) var. Klasörlerin içeriğini görüntülemeye çalışırsam, "Yönetici" olarak çalışsam bile bunu yapma iznim olmadığını söylüyorum.

Klasörleri (dosyaları) "Sahiplik" alabilirim (bunun başarılı olacağını ancak henüz denemedim), ancak sahipliği önceki sahibine geri döndürmem gerekirse, orijinalin kullanıcı adını bilmem gerekir ve bu kullanıcıya "sahiplik" verebilmem gerekiyor.

Bunu Windows komut isteminden (veya eğer değilse, bir GUI Aracından) yapmak mümkün mü?


Tamamen cmd.exe kullanarak bir çözüm için buraya bakın: wmic kullanarak komut satırından sahiplik bilgilerini alın
schletti2000

Yanıtlar:


18

Sahipliği takeown komutu ve Windows GUI aracılığıyla komut satırından alabilirsiniz .

/ Q parametresiyle DIR kullanarak bir dosyanın / klasörün sahibini görüntüleyebilirsiniz

Sen seçerek Windows Explorer (dosya veya klasör) içinde sağ tıklayarak nesneyi, Windows GUI aracılığıyla sahipliğini görüntülemek (ve almak) olabilir Özellikler ' giderek sonra ve Güvenlik sekmesine. On Güvenlik sekmesine tıklayın Gelişmiş düğmesini ve ardından görüntülenen Gelişmiş Güvenlik Ayarları üzere iletişim kutusu, gezinmek Sahibi sekmesi.

Bir dosya / klasörün sahipliğini aldıktan sonra, Windows önceki sahibi izlemez, bu nedenle önceki sahibine geri dönmenin bir yolu yoktur. Ayrıca, FAT16, FAT32, exFAT gibi bu genişletilmiş öznitelikleri desteklemeyen bir dosya sistemi türüyle çalışıyorsanız, sahiplik veya dosya izinleri kavramı yoktur.


5

wmicSahiplik bilgilerini şu şekilde sorgulamak için kullanabilirsiniz :

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

dirBu örnek dizinde olduğu gibi sahiplik bilgileri kırpılabileceğinden kullanmayın .

Biçimlendirilmiş bir çıktı almak DOMAIN\USERiçin aşağıdaki toplu komut dosyasını kullanabilirsiniz:

@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.exesahibini ayarlamanızı sağlar. Sözdizimi şuna benzer:

SubInACL / dosya dosya adı / setowner = NewOwner

Elinizde yoksa, Microsoft'tan indirebilirsiniz .

Elbette bunu yapabilmek için haklara sahip olmalısınız.


2

caclsve icalcskutu düzenleme izinleri ve takeownsahipliğini almak için izin verir. AFAIK, Windows 7'de de var. Tipik olarak, bir kez yaptıktan sonra, nesneyi kendinize izin vermek için veya takeownile takip edersiniz .caclsicalcs

Microsoft'un güvenlik modeli birisine sahiplik vermesine izin vermez , sadece almasına izin verir . Bu şekilde, bir yönetici (veya başka bir şekilde ayrıcalıklı bir kullanıcı) kendisine erişilemeyen bir dosyanın sahipliğini alamaz, bu dosyaya erişemez veya değiştiremez ve orijinal sahibine bildirimde bulunmadan orijinal sahibine geri veremez.

Düzenleme: Kredi kullanım açıklaması için Sanat gider takeown.


1
cacls, dosyanın sahibini değiştirmesine veya görüntülemesine izin vermez. Sen kullanacağı takeown bunu yapmaya. Tipik olarak, bir kez kalkış yaptığınızda, nesneye izin vermek için onu calcs veya icacls ile takip edersiniz.
Sanat

Teşekkürler, tamamen haklısın. Sanırım bu şeyleri hatırlamak için çok uzun süredir Microsoft dünyasının dışında olduğumu gösteriyor. Cevabımı buna göre düzenleyeceğim.
David Foerster

2
Bu eski olduğunu biliyorum, ama ben icacls kullanarak sahibini başkasına ayarlayabilirsiniz ekleyebilirsiniz ekleyeceğini düşündüm. icacls <yol> / SETOWNER <ad> çalışır. Tabii ki sahip olmanız veya bunu yapmadan önce uygun izinlere sahip olmanız gerekir, böylece ilk etapta sahiplik alabilmeniz koşuluyla sahiplik alma ve geri verme senaryosunu yürürlüğe koyabilirsiniz.
soluk

En son kontrol ettiğimde, Windows sahipliğin aktarımı gerçekleştiren hesap dışında başka bir hesaba aktarılmasını yasaklar.
David Foerster

@DavidFoerster - Buna göre: 'TrustedInstaller'ı Windows klasöründe yürütülebilir dosyanın sahibi olarak geri yüklemek , çalışacağı anlaşılıyor. Henüz kendim denemedim.
Kevin Fegan

-1

Yalnızca DIRMicrosoft dünyasında kullanıyorsanız , /Qseçeneği deneyin .

Örneğin:

DIR *.xlsx /Q

Bu Sanat'ın cevabının bir kopyası.
fixer1234
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.