Come visualizzare / modificare il proprietario di un file su Windows 7


14

C'è un modo per visualizzare il proprietario di cartelle e file dalla riga di comando nel prompt dei comandi di Windoews 7?

Puoi cambiare il proprietario di una cartella o di un file in un utente "arbitrario" che non è il tuo nome utente?

Ho alcune cartelle (e file) che probabilmente sono rimaste da un'app che ho rimosso. Se provo a visualizzare il contenuto delle cartelle, mi viene detto che non ho l'autorizzazione per farlo, anche se sto eseguendo come "amministratore".

Posso "Assumere la proprietà" (suppongo che avrà esito positivo ma non l'ho ancora provato) delle cartelle (file), ma se devo ripristinare la proprietà al precedente proprietario, devo conoscere il nome utente dell'originale proprietario e devo essere in grado di "assegnare la proprietà" a quell'utente.

È possibile farlo dal prompt dei comandi di Windows (o, in caso contrario, da uno strumento GUI)?


Vedi qui per una soluzione puramente usando cmd.exe: Ottieni informazioni sulla proprietà dalla riga di comando usando wmic
schletti2000,

Risposte:


17

È possibile acquisire la proprietà dalla riga di comando tramite il comando di eliminazione e tramite la GUI di Windows.

È possibile visualizzare il proprietario di un file / cartella utilizzando DIR con un parametro / q

È possibile visualizzare (e acquisire) la proprietà tramite la GUI di Windows facendo clic con il pulsante destro del mouse sull'oggetto in Esplora risorse (file o cartella), selezionando Proprietà e quindi passando alla scheda Sicurezza . Nella scheda Sicurezza , fai clic sul pulsante Avanzate e nella finestra di dialogo Impostazioni di sicurezza avanzate visualizzata successivamente , vai alla scheda Proprietario .

Dopo aver acquisito la proprietà di un file / cartella, Windows non tiene traccia del precedente proprietario, quindi non è possibile ripristinare il precedente proprietario. Inoltre, non esiste un concetto di proprietà o autorizzazioni per i file se si lavora con un tipo di file system che non supporta questi attributi estesi come FAT16, FAT32, exFAT, ecc.


5

È possibile utilizzare wmicper interrogare le informazioni sulla proprietà in questo modo:

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

Non utilizzare dirpoiché le informazioni sulla proprietà potrebbero essere troncate, come in questa directory di esempio.

Per ottenere un output formattato con DOMAIN\USERè possibile utilizzare il seguente script batch:

@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.exeti permette di impostare il proprietario. La sintassi è simile a:

SubInACL / file nomefile / setowner = NewOwner

Se non lo possiedi, puoi scaricarlo da Microsoft .

Ovviamente devi avere i diritti per poterlo fare.


2

caclse icalcspuò modificare le autorizzazioni e takeownconsente di diventare proprietario. AFAIK esistono anche in Windows 7. In genere, una volta eseguita una takeown, la si segue con caclsoicalcs concede le autorizzazioni all'oggetto.

Il modello di sicurezza di Microsoft non consente di concedere la proprietà a qualcuno, ma solo di accettarlo . In questo modo un amministratore (o un utente altrimenti privilegiato) non può assumere la proprietà di un file inaccessibile direttamente a lei, accedervi o modificarlo e restituirlo al proprietario originale senza preavviso al proprietario originale.

Modifica: il merito va a Art per la descrizione dell'uso di takeown.


1
cacls non consente di modificare o visualizzare il proprietario di un file. Si potrebbe utilizzare takeown per farlo. In genere, una volta effettuata una rimozione, la si segue con calc o icacls per concedere le autorizzazioni all'oggetto.
Art

Grazie, hai perfettamente ragione. Immagino che dimostri che sono stato fuori dal mondo Microsoft per troppo tempo per ricordare quelle cose. Modificherò la mia risposta di conseguenza.
David Foerster,

2
So che è vecchio, ma ho pensato che avrei aggiunto che puoi impostare il proprietario su qualcun altro usando icacls. icacls <percorso> / SETOWNER <nome> funziona. Ovviamente devi essere il proprietario o disporre delle autorizzazioni appropriate prima di poterlo fare in modo da poter attuare lo scenario di acquisizione della proprietà e restituzione a condizione che tu abbia la possibilità di assumere la proprietà in primo luogo.
Palehorse,

L'ultima volta che ho verificato, Windows proibisce il trasferimento della proprietà su un altro account tranne quello che esegue il trasferimento.
David Foerster,

@DavidFoerster - Secondo questo: Ripristino di "TrustedInstaller" come proprietario dell'eseguibile nella cartella Windows , sembra che funzionerà. Non l'ho ancora provato da solo.
Kevin Fegan,

-1

Se si utilizza solo DIRnel mondo Microsoft, provare l' /Qopzione.

Per esempio:

DIR *.xlsx /Q

Questo è un duplicato della risposta di Art.
fixer1234,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.