Как взять владение файлов из командной строки?

Перейдите к средствам администрирования и посмотрите на журналы событий, Взгляд на системную вкладку и после сортировки по дате и время, найдите последнее сообщение перед перезагрузкой.

Другой более эффективный путь состоял бы в том, чтобы сначала завершить работу ПК, Взгляд на Ваши часы/часы/часы в точке, Вы думаете, что это отказало, затем перезагрузка, посмотрите в конечном счете журнал на системной вкладке, вид ко времени затем тщательно прочитал различные процессы, которые являются завершением работы. Сообщение об ошибке должно быть там.

Если Вы удачливы, это мог бы быть "pre-explorer-shutdown" (моя собственная чеканка) процесс поэтому при запуске диспетчера задач перед нажатием на завершение работы перейдите к вкладке процессов, виду CPU, то нажмите на завершение работы в запуске, наблюдающем за процессом, который является hogging CPU во время завершения работы. Это - только работы, если то независимо от того, что заставляет процесс отказывать, происходит в оболочке.

Поиск и устранение неисправностей является иногда больше искусством, чем наука.

34
задан 17 June 2009 в 18:52
10 ответов

subinacl является электроинструментом системного администратора Windows для того, чтобы сделать все, чтобы сделать с владением и ACLs. Можно изменить владение на любого кроме просто Вас (Вы не можете сделать этого с GUI).

subinacl /file test.txt /setowner=domain\foo

Это позволяет Вам установить разрешение на любого пользователя, которого Вы любите, не имея необходимость быть администратором (поскольку я полагаю, что takeown.exe требует).

25
ответ дан 28 November 2019 в 19:52

Для Windows 2003, 2008 или Vista или 7 использования Takeown.

Поскольку Windows 2000 используют Fileowners.pl.

3
ответ дан 28 November 2019 в 19:52

Вы ищете "TAKEOWN.EXE", который был первым в Windows Server 2003 как стандартный компонент, и я верю предшествующему объекту набора ресурса. Это доступно в Windows 7 и возможно более новых системах.

takeown /f <some-file-or-folder> /r

/r выполняет операцию рекурсивно на всех детях указанной папки. В отличие от этого, subinacl, необходимо войти в систему как пользователь, с которым Вы пытаетесь взять владение; или, можно просто присвоить владение группе "Администраторов".

Вот копия его документации, как сохранено на SS64:

Синтаксис TAKEOWN [/s Компьютер [/u [Домен] UserName [/p [Пароль]]]]/f FileName [/a] [/r [/d {Y|N}]]

Ключ/s Компьютер имя или IP-адрес удаленного компьютера (не используют обратные косые черты). значение по умолчанию = локальный компьютер. Этот параметр относится ко всем файлам и папкам, указанным в команде.

/u [Доменные] UserName Запускают скрипт с полномочиями указанной учетной записи пользователя. значение по умолчанию = системные полномочия.

/p [Пароль] пароль учетной записи пользователя, которая указана в/u параметре.

/f FileName имя файла, путь UNC или шаблон имени каталога. Принимает подстановочный символ *

/a Дайте владение Группе администраторов вместо текущего пользователя.

/r Выполните рекурсивную операцию на всех файлах в указанном каталоге и подкаталогах.

/d {Y | N} Подавляют подсказку подтверждения, которая отображена, когда текущий пользователь не имеет "разрешения" Папки Списка на указанном каталоге и вместо этого использует значение по умолчанию: Y: Возьмите владение каталога. N: Пропустите каталог. Обратите внимание, что необходимо использовать эту опцию в сочетании с/r опцией. Если/a параметр не указан, принадлежность файла дана пользователю, который в настоящее время зарегистрирован на компьютере.

Смешанное использование шаблонов (? и *), не поддерживаются командой takeown.

После изменения владельца для файла/папки можно затем присвоить полные полномочия файлам и впоследствии считать или удалить их.

26
ответ дан 28 November 2019 в 19:52

Вы могли бы хотеть смотреть на SetACL, швейцарский нож управления разрешением. Вот пример того, как присвоить владение всех файлов на диске C: "Администраторам" и удаляют защиту наследования от всех дочерних объектов сразу:

SetACL.exe -on "C:\\" -ot file -actn setprot
           -op "dacl:np;sacl:nc"
           -rec cont_obj
           -actn setowner -ownr "n:S-1-5-32-544;s:y"

Можно также добавить -silent.

6
ответ дан 28 November 2019 в 19:52

В Windows Server 2003 R2 (и позже) можно использовать в своих интересах встроенный инструмент icacls.exe для изменения владения из командной строки, а также всех традиционных манипуляций cacls.exe, после которых это расширяется...

Обратите внимание что значения по умолчанию icacls.exe, чтобы "отредактировать" режим, в то время как значения по умолчанию cacls.exe для "заменения" режима - долгожданное изменение к тем из нас укушенный (несколько раз) тем небольшим нюансом cacls!

3
ответ дан 28 November 2019 в 19:52

Другая альтернатива является fileacl, Это является маленьким и может установить/сбросить, "наследовались/, наследовали" флаг на объекте, в отличие от большинства окон utils.

1
ответ дан 28 November 2019 в 19:52

Я нашел решение с помощью инструментов Windows: cacls

cacls <file or directory> /E /T /G <user>:F
0
ответ дан 28 November 2019 в 19:52
  1. откройте командную строку от имени администратора и перейдите в проблемный каталог
  2. и станьте владельцем всех файлов там ... пример: takeown / f * .jpg
  3. предоставить права доступа пользователям по вашему выбору ... пример: icacls * .jpg / grant «Все»: F (обратите внимание, что в неанглийской Windows «Все» может не существовать, например, в немецкой Windows он работает только с «Jeder» - настоящий облом, что Windows переводит параметры команды!)
0
ответ дан 28 November 2019 в 19:52

Получите право собственности и полные права на папку и все внутри:

takeown /F somedir /A /R
icacls somedir /grant:r User:F /T

Убедитесь, что запустить командную строку от имени администратора!

Мне пришлось запустить командную строку от имени администратора, у меня это сработало в Windows 8.1. Из-за неудобства Windows 8.1 мне пришлось искать «команда», щелкнув правой кнопкой мыши значок командной строки. Для меня, чтобы увидеть вариант «Запуск от имени администратора». У меня была командная строка, закрепленная на моей панели задач, но при щелчке правой кнопкой мыши по ней не отображалась опция «Запуск от имени администратора».

В Windows 10 «Запуск от имени администратора» должен быть доступен вам как параметр, вызываемый правой кнопкой мыши.

Синтаксис Takeown :

takeown [/s <Computer> [/u [<Domain>\]<User name> [/p [<Password>]]]] /f <File name> [/a] [/r [/d {Y|N}]]

Takeown Ссылка .

Синтаксис Icacls :

icacls <FileName>[/GRANT [: r] <Sid>: <Perm> [...]] [/ Denegar <Sid>: <Perm> [...]] [/Remove [:g|:d]] <Sid> [...]] [/ t] [/ c] [/ l] [/ q] [/ setintegritylevel <Level>: <Policy> [...]]Icacls <Directory>[/ sustituir <SidOld><SidNew>[...]] [/ restore <ACLfile>[/ c] [/ l] [/q]]

Ссылка на icacls .

17
ответ дан 28 November 2019 в 19:52

Я знаю, что это действительно старый пост, но есть способ, встроенный в Windows 7 и новее (может быть в Windows Vista, но я не уверен). Выполните следующее из расширенной командной строки в папке, которую вы хотите сбросить. / t указывает icacls выполнять операцию рекурсивно.

icacls .\* /setowner %UserDomain%\%UserName% /t
icacls .\* /reset /t

Первая команда сбрасывает владельца, который когда-либо вошел в систему через переменные среды. Конечно, вместо этого можно использовать конкретное имя.

Вторая команда затем принудительно передает права доступа вниз по дереву для всех дочерних папок и файлов.

Надеюсь, это поможет кому-то в будущем.

8
ответ дан 28 November 2019 в 19:52

Теги

Похожие вопросы