Одит на собствениците на файлове, прозорци него реше

Системните администратори често ме питат дали е възможно да получите списък на всички файлове, създадени от конкретен потребител, работа с структура директория, която съдържа повече от 20000 файлове. На пръв поглед този въпрос изглежда абсурдно. единственият начин да получите тази информация ще бъде проучване на всеки файл, за да получи името на своя собственик, и изготвянето на списъка. Изпълнението на тази операция ще изисква цяла вечност. Въпреки това, се сетих, че преди няколко години, работещи с помощната програма, която е набор от ресурси, наречен subinacl.exe. С него смених собствениците на файлове. В същото време, аз открих, че в допълнение към други характеристики на тази програма, тя ви позволява да видите свойствата на файлове, включително идентификатор сигурност (SID) на потребителя, който е собственик на файла. Знаейки, че Subinacl полезност ще ми помогне да получите необходимата информация, аз създаде скрипт, наречен ownedby.cmd, за изпълнение на собствениците на одит на файлове.

Изпрати заявка за материал

Системните администратори често ме питат дали е възможно да получите списък на всички файлове, създадени от конкретен потребител, работа с структура директория, която съдържа повече от 20000 файлове. На пръв поглед този въпрос изглежда абсурдно - единственият начин да получите тази информация ще бъде проучване на всеки файл, за да получи името на собственика си, а съставянето на списъка. Изпълнението на тази операция ще изисква цяла вечност. Въпреки това, се сетих, че преди няколко години, работещи с помощната програма, която е набор от ресурси, наречен subinacl. Търсейки. С него смених собствениците на файлове. В същото време, аз открих, че в допълнение към други характеристики на тази програма, тя ви позволява да видите свойствата на файлове, включително идентификатор сигурност (SID) на потребителя, който е собственик на файла. Знаейки, че Subinacl полезност ще ми помогне да получите необходимата информация, аз създаде скрипт, наречен ownedby. CMD (тя е показана на Обява 1) за изпълнение на собствениците на одит на файлове.

Subinacl полезност. Търсейки

където името на файла I - е името на файла. Тъй като не е нужно цялата информация, предоставена от тази команда, можете да добавите параметъра / noverbose. за да се покаже обобщение на информацията от списъка с файлове за контрол на достъпа. Фигура 1 показва пример Subinacl команда с всички параметри. Както можете да видите, една от струните съдържа фразата «/ собственик = S-1-5-32-544», което означава, че SID на потребителя - «S -1-5-32-544».

Getsid полезност. Търсейки сравнява SIDS на двете сметки. Синтаксисът на командата е както следва:

където SERVER1 и SERVER2 изрази определят сървърите, които искате да заявка за информация относно идентификатори за сигурност, както и account1 и account2 - сметки, които искате да сравните. Ownedby сценарий. ПМС полезност използва Getsid. за да получите SID за определен потребителски акаунт, така че, в този случай, стойността на server1 и SERVER2 са едни и същи. както и на ценностите и account1 account2. Например, за да получите най-SID за потребителя с JDoe mydc домейн контролер. Влязох в командата

Принципа на работа на скрипта

Сега имате всички необходими инструменти за сценария. Subinacl полезност позволява да получите SID и Getsid полезност на потребителя връща SID за посочения потребителско име. С тези инструменти, можете да направите сравнение "собственика на файла потребителско име". Ownedby скрипт задача. ПМС е сключен и името на път за всеки файл в съответната структурата на директориите, принадлежащи към определен потребител. Сценарият използва твърдо кодирана параметър (домейн контролер) и три работни параметри: потребителско име (потребителско име), главната директория структура (root_directory) и изходния файл (outputfile). крайния Ownedby команден синтаксис е както следва:

Например, ако пиша

сценария показва резултатите във файл. TXT. информация за всички файлове, които принадлежат към потребителското JDoe, в Г на папката: потребителите и нейните поддиректории.

Когато изпълнението на скрипта трябва да определи идентификатор за защита на потребителя, каза, и после запишете този идентификатор в променлива Сид за бъдеща употреба, както е показано в блок А на Обява 1. Тази първа код изчиства променлива Сид. ако тя е била определена по-рано. След това сценария определя SID на потребителя от Getsid полезност използва в изходна линия филтър и който се използва за да се покаже само тези записи, които съдържат експресионния "S -" (префикс SID). Сценарият извлича стойността на идентификатора на седми ред ( "символи = 7") на получените изходни Getsid комунални услуги и съхранява тази стойност в променлива Sid. Постоянна стойност% DC% - контролера е твърдо кодирани имена на домейни, които преди това са организиране в сценария. Постоянна стойност% USERID% съдържа потребителското име, което сте въвели сред опциите на командния ред, когато стартирате скрипта.

След това, изпълнението на блока с етикета. checkowner за всеки файл, издаден от командата Dir. Това устройство е за първи път започна Subinacl полезност за името на файла и съхранява информация за собственика на променлива собственик. На следващо място, сценария определя дали определен потребител файл принадлежи, прехвърляне на стойност от екип Subinacl в командата Find. за да се гарантира, че същият, независимо дали SID на потребителя и СИД на собственика на файла. Ако стойността на променливата ERRORLEVEL е равен на 0, се счита, че има съвпадение, а сценарият определя променливата намерени в стойност от 1, както е показано на кода в блок D. Тъй като сценарият изчиства променливата намери, преди да инсталирате едно, вие ще бъдете в състояние да се прави разлика между случаите, когато знамето намерени комплекти по време на проверката на съвпадение, и когато стойността на променливата е настроен скрипт бе намерен. Ако променливата е 1, се счита, че не се намери съответствие, а сценарият добавя името на файла в изходния файл, както е видно от кода в блок Е.

Първи стъпки

Въпреки ownedby сценарий. ПМС сравнително кратко и просто, че има някои малки възможности. Цитирам няколко аспекта, които трябва да се обърне внимание да се гарантира правилното функциониране на сценария:

Списък 1. Ownedby.cmd сценарий

Сподели снимки с приятели и колеги