Всегда нравилось использовать команду SUBST . Удобно это. И для старых программ, и для, например, “укорачивания” пути к сетевым папкам. Частенько пользователи создают пути такой длины, что только диву даешься.
И никак не ожидал, что тут рассыпаны “грабли” Microsoft.
В чем же это выражается. А в том, что теперь есть два типа сессий с которыми можно работать: standard и, так называемая, elevated (когда программа запускается от имени Администратора)
И вот что происходит. В standard сессии создаем (замещаем) папку буквой диска
Например так
SUBST T: C:TEMP
Что получается?
Из стандартной командной строки – «новый» диск виден
И в Windows Explorer тоже виден
А теперь запустем elevated command promt и Oops! А нет диска Т, как будто ничего не делали
Может сделать наоборот? Выполнить SUBST в elevated сессии?
Пробуем – работает
Запускаем Windows Explorer и … нет такой буквы
Запускаем стандартную командную строку … снова нет
Ничего не напоминает? А мне напомнило. Точно также «не видны» сетевые шары подключенные командой NET USE как было описано в статье https://remontka.com/nework-disk-access-from-elevated-programs/
И там было решение. Здесь, по идее, тоже должно быть, подумалось мне. Далее была пара часов и экспериментов и вот что получается. Выхода стандартного нет. Рекомендаций нет. Но «костыли» забить можно.
Итак, по порядку.
Метод 1: «Метод» Microsoft
«Метод» Microsoft – это я так это решение назвал. Оно заключается в предложении … Отключите UAC!
Ну совсем костыль, на безопасность наплевали, но зато работает
Можно почитать об этом в TechNet — https://social.technet.microsoft.com/wiki/contents/articles/13953.windows-server-2012-deactivating-uac.aspx
Или просто:
"HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentVersionpoliciessystem"
REGEDIT4
[HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentVersionPoliciesSystem] "EnableLUA"=dword:00000000
Проверено – работает.
Метод 2: Подсмотрено в сети
Один из вариантов, до которых додумались в сети. Запустить SUBST два раза. В простой и elevated сессиях
Проверено – работает.
Метод 3: «Голь на выдумки хитра»
Этот метод мой собственный Напоминает старый анекдот «А у нас гланды удаляют. Автогеном. Через задний проход»
В чем суть. Используется не SUBST, а NET USE
Проверено — работает
Метод 4: Подсмотрено в сети (itpro)
Вбиваем «костыль» в реестр
reg add "HKLMSYSTEMCurrentControlSetControlSession ManagerDOS Devices" /v Z: /t REG_SZ /d "?? C:DirectoryName " /f
Где
Примечания:
Проверено — работает. Диск появляется в системе, как после команды SUBST, с той лишь разницей, что его видно из всех сессий
И из Windows Explorer
На каком из методов остановиться – решать вам.
Zulip — программное обеспечение для реализации корпоративного чата. Разработан в 2012 году, в 2014 был…
Zookeeper — cервис-координатор, который позволяет обеспечить контроль синхронизации данных. Разработан на Java компанией Apache Software…
Zimbra — программное обеспечение для реализации почтового сервиса или, если сказать точнее, автоматизации совместной деятельности…
Zabbix — бесплатная система мониторинга. Позволяет отслеживать состояние сетевых узлов, компьютеров и серверов. Возможности: Поддержка…
YouTube — компания-владелец одноименного портала для просмотра и хранения видео. Чтобы пользоваться данным порталом достаточно…
Yota — провайдер, предоставляющий доступ к сети Интернет по беспроводной связи. Впервые, сервис начал работать…