Симлинк на несуществующий диск в Windows

когда я пытаюсь создать соединение каталогов с диском windows, который еще не существует, я получаю следующее сообщение:

C:>mklink H H: /J
Local volumes are required to complete the operation.

Я хочу иметь каталог в windows, который подключает каждую букву диска к соответствующей букве в этом каталоге. Я хочу поделиться мультимедиа с любого внешнего устройства через приложение без необходимости изменять настройки при появлении" новых " букв диска.

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

одно из решений состоит в том, чтобы сделать символическую ссылку на каталог (используя флаг /D вместо флага /J), но это не то, что я ищу, мне нужно соединение каталогов.

13
задан Simon Streicher
18.02.2023 10:34 Количество просмотров материала 2906
Распечатать страницу

1 ответ

для этого возможны только развязки

Используйте SUBST, чтобы обмануть ОС.

Это довольно важно использовать родительскую папку с /deny Everyone:(S,RD) для того чтобы преградить OS от вползать в бесконечной петле пока делающ обслуживание. Как поиск, индексатор поиска, антивирус, История файлов, кто знает, что еще.

подробности и скрипт


Я вижу у тебя понимания большинства, поэтому давайте просто подведем для других.

ссылки

Каталог Sym-ссылок и соединений очень разные вещи.

Основное различие, которое должно касаться вас, заключается в том, что вы не можете получить доступ к sym-ссылкам на удаленном компьютере, который ссылается на локальные пути этого удаленного компьютера. Sym-link to F:\ на удаленном компьютере попытается открыть локальный компьютер вместо F:\.

Sym-link - это файл ссылок, который содержит информацию о пути к реальному объекту. Вы можете sym-link к неважно, даже относительные пути.

Вы можете создать директорию sym-link на несуществующий диск, но это вам не поможет по локальной сети

Junction - это понятие файловой системы NTFS. Но в то время как соединение должно быть в NTFS, оно может указывать на папку на других FS. Он "перенаправляет" доступ к junctioned папку. Можно получить доступ к соединениям на удаленных компьютерах, указывающим на удаленные папки.

Следите за разрешениями. оба из каталога цели и соединения. (icacls with /L)

для файлы есть файл SYM-ссылки и hardlinks. Там нет жестких ссылок для каталога, но Junction довольно близко к нему. Жесткие ссылки-это несколько записей файлов, указывающих на одну и ту же позицию на диске. По этой причине, вы не можете hardlink через диски.

Примечание: соединения не должны создаваться для связывания динамических мест. Это работает нормально, даже если другой FS установлен как та же буква, но это не поддерживаемый способ. Необходимо создать общую папку для каждого диска. Но это создаст беспорядок в сетевых местоположениях, и не будет никакого способа контролировать доступ с помощью разрешений.


это вырезать из моего сценария настройки. Это портативный, поместите его в файл bat и запустите от имени администратора.

  • создает общий доступ к дискам с точками соединения для дисков букв из всего алфавита. Общие диски будут доступны любому пользователю, прошедшему проверку подлинности. (не Гость и пользователь без пароля) пользователи будут иметь тот же доступ, что и при локальном входе, но UAC не будет предоставлять повышенный доступ даже для администраторов.
  • создает скачать-Private share для загрузки текущего пользователя-просто удалите раздел, если вы не хотите его
  • папки этих двух акций размещаются в" %PUBLIC%\Private shares", например. "c:\Users\Public\Private shares" эта папка будет напрямую недоступна, чтобы избежать фоновых служб в конечном итоге в цикле. Вы по-прежнему может получить доступ к папкам внутри него напрямую, написав полный путь в адресной строке, или путем создания ярлыка windows к нему
  • для настройки разрешений для всей папки редактировать "личные акции", но настроить для определенных букв диска, вы должны использовать icacls с параметром /L

echo. & echo === "Private shares"

echo *** Creating Folders
rem --- Private shares - inheriting Authenticated Users access from Public folder
if not exist "%PUBLIC%\Private shares" mkdir "%PUBLIC%\Private shares"
rem - remove DENY temporarily
icacls "%PUBLIC%\Private shares" /remove:d Everyone 2>nul
if not exist "%PUBLIC%\Private shares\Drives" mkdir "%PUBLIC%\Private shares\Drives"

echo *** Creating Downloads-Private share
echo *   Creating link
mklink /J "%PUBLIC%\Private shares\Downloads-%USERNAME%" "%USERPROFILE%\Downloads"
echo *   Creating shares
net share Downloads-Private /delete 2>nul
net share Downloads-Private="%PUBLIC%\Private shares\Downloads-%USERNAME%" /unlimited /remark:"Only for authenticated users" /grant:everyone,FULL

echo *** Creating Drives share
echo *   Creating link
for %%a in (A B C D E F G H I J K L M N O P Q R S T U V W X Y Z) do (
    subst %%a: \
    mklink /J "%PUBLIC%\Private shares\Drives\%%a" %%a:\
    subst %%a: /d
)

echo *   Creating shares
net share Drives /delete 2>nul
rem - /grant:everyone,FULL --- No worry, this is on Microsoft's recommendation. Grant full access to shares and handle access through permissions. It's more portable, safer and simpler.
net share Drives="%PUBLIC%\Private shares\Drives" /unlimited /remark:"Only for authenticated users" /grant:everyone,FULL

echo *** Changing "Private share" permissions
rem - this is the same way as Windows is handling legacy folders inside Users directory
rem   this must be done, or many services will keep crawling though an endless path loop
icacls "%PUBLIC%\Private shares" /deny Everyone:(S,RD)

Если вам нужно удалить папку, созданную с помощью этого скрипта, необходимо разблокировать с помощью Properties-Permission, либо командой run as Admin:icacls "%PUBLIC%\Private shares" /remove:d Everyone

Не держите эту папку разблокированной, удалите ее сразу после этого или заблокируйте ее снова с помощью icacls "%PUBLIC%\Private shares" /deny Everyone:(S,RD)

1
отвечен papo 2023-02-19 18:22

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]

Ваш ответ

Опубликуйте как Гость или авторизуйтесь

Имя
Вверх