У нас есть файловый сервер Windows 2008 R2, на котором размещены домашние папки примерно для 600 пользователей. Эти папки сопоставляются с общим диском для каждого пользователя, когда они входят в систему на своих рабочих станциях, и этот подключенный диск, в свою очередь, устанавливается в качестве местоположения по умолчанию в библиотеке документов в окнах в профиле каждого пользователя, включая профиль по умолчанию на каждом из наших машины. Войдите в систему на новом компьютере в первый раз, и ваша библиотека документов будет указывать на файловый сервер. Для пользователей ноутбуков мы также используем функцию автономных файлов, чтобы они отслеживали их, даже когда они не на работе.
Моя проблема в том, что при просмотре этих папок на сервере все они отображаются в проводнике как «Мои документы», а не как фактическое имя папки (заданное в соответствии с именем пользователя). Как я могу предотвратить это в проводнике Windows?
Есть гораздо более простой метод, неразрушающий, который нацелен на фактическую запись Desktop.ini, отвечающую за такое поведение. Перейти к:
Групповая политика -> Конфигурация пользователя -> Настройки -> Настройки Windows -> Ini-файлы
Создайте новую запись файла Ini со следующими настройками:
Действие: Удалить
Путь файла: % homeshare% \ desktop.ini
Название раздела: .ShellClassInfo
Имя свойства: LocalizedResourceName
УБЕДИТЕСЬ, что вы включили Запуск в контексте вошедшего в систему пользователя под Общие таб.
Это удалит оскорбительную строку из папки desktop.ini пользователя, исправит поведение отображаемого имени папки и оставит все остальное нетронутым, включая любые другие настройки представления папок, заданные пользователем, и т. Д. Без беспорядка, без суеты.
Это Explorer, интерпретирующий desktop.ini
файлы, расположенные в каждой папке. Это сводит с ума и бесполезно, и Microsoft признает это, но не дает никаких полезных советов. Старое оправдание потери «Такое поведение является преднамеренным» ...
Я предпринял реструктуризацию иерархии общих каталогов при новых установках, чтобы она была ориентирована на пользователя, а не на тип каталога. Вместо того, чтобы иметь иерархию каталогов «Документы» и каталогов «Профили» (каталоги рабочего стола и т. Д.), Я решил создать подкаталог для каждого пользователя и подкаталоги ниже этого для их различных каталогов, например:
[ UserData ]
|
|- [ Bob ]
| |
| | - [ AppData ]
| | - [ Desktop ]
| | - [ Documents ]
| | - [ Downloads ]
| | - [ Profile ]
| | - [ Profile.V2 ]
... ...
Мне очень нравится этот метод, лучше загорать по старинке. Мне особенно нравится, что мой сценарий инициализации может устанавливать один ACL в каталоге «Bob», а не по одному в каждом каталоге, когда они хранились в своей собственной иерархии. Это также значительно упрощает просмотр общего использования пространства человеком, потому что мне нужно только du
один каталог.
Мои политики перенаправления папок должны немного измениться, как и пути к профилям пользователей (заканчивающиеся на %username%\Profile
а не просто %username%
), но это незначительное изменение. Я занимаюсь этим всего несколько месяцев, но пока все работает хорошо.
(Из Spiceworks)
Затем вы получите дополнительный столбец, показывающий настоящее имя файла. Сделав это, вы можете сделать это значение по умолчанию для папок.
Запретите себе (или своей группе безопасности) доступ для чтения к desktop.ini - в следующий раз, когда вы обновите папку, в ней будут отображаться настоящие имена папок, а не «Мои документы».
Просто удалите desktop.ini из всех пользовательских папок (подкаталогов общего ресурса). Я проверил это, и он сразу же показал правильное имя.
desktop.ini по умолчанию скрыт, что делает его немного сложнее, но я не вижу ничего, что пользователи пропустили бы, если бы он исчез; Там есть все три строки информации.
Изменить: чтобы быстро удалить все файлы desktop.ini из всей структуры общих папок, используйте следующую команду: (ПРЕДУПРЕЖДЕНИЕ: это УБЕДИТ пользовательские настройки для их папок, значков, настроек макета? И т. Д.)
C:\Users\> del desktop.ini /s /a:h
Чтобы «быстро исправить» это (это мгновенно вернет им их имена, но если вы не установите новую политику ini, как предлагает Uthacalthing, когда пользователь входит в систему, она изменится), используйте CMD или Powershell для удаления рабочего стола. ini или переименуйте его во что-нибудь другое.
foreach ($brokenDir in (Get-ChildItem "PATH\TO\HOMEFOLDERS" -Directory)) {
$iniPath = "$($brokenDir.FullName)\desktop.ini"
Rename-Item $iniPath ($iniPath.Replace('.ini','.ini.txt')) -Force
}
Добавьте столбец «Имя файла» в проводнике, и вы увидите имена пользователей.