У меня возникли трудности с получением функции перенаправления папок удаленного рабочего стола Microsoft для работы с приложениями командной строки.
Я настроил папку для перенаправления в клиенте OS X RDP с полем «name» как «andrew» и полем «path» как / Users / andrew. Это работает правильно. Когда я подключаюсь к серверу, я вижу перенаправленную папку в разделе «Компьютер» и могу просматривать ее графически. В командной строке NET USE также показывает это:
C:\Users\Administrator>net use
New connections will not be remembered.
Status Local Remote Network
-------------------------------------------------------------------------------
\\TSCLIENT\andrew Microsoft Terminal Services
The command completed successfully.
Однако с папкой не связана буква диска. Для меня это блокиратор. Вся суть этого перенаправления состоит в том, чтобы позволить мне использовать утилиты сборки из командной строки на машине Windows, но редактировать и управлять исходным кодом на Mac. Оболочка cmd.exe не может обрабатывать пути UNC, а PowerShell не подходит, поскольку утилиты сборки неизбежно отправляют командную оболочку для выполнения таких действий, как запуск vcvars и т. Д., Что затем не удается, если CWD является путем UNC. Итак, к сожалению, мне действительно нужно сопоставить букву диска, иначе это невозможно.
Если я попытаюсь использовать NET USE или графическое отображение сетевого диска «Подключить сетевой диск», чтобы задать букву диска, это будет работать:
C:\Users\Administrator>net use Y: \\TSCLIENT\andrew
The command completed successfully.
Повторный запуск NET USE показывает, что диск присутствует:
C: \ Users \ Administrator> net use Новые подключения не запоминаются.
Status Local Remote Network
-------------------------------------------------------------------------------
Y: \\TSCLIENT\andrew Microsoft Terminal Services
\\TSCLIENT\andrew Microsoft Terminal Services
The command completed successfully.
Однако, если я попытаюсь получить доступ к диску Y, это не сработает:
C:\Users\Administrator>y:
The device is not connected.
Впоследствии, если я попытаюсь получить доступ к исходно работающей перенаправленной папке из графической оболочки, я обнаружу, что она также больше не работает правильно. Теперь я получаю диалог, в котором говорится
\\tsclient\andrew is not accessible. You might not have permissions to use this network resource.
Contact the administrator of this server to find out if you have access permissions.
Attempt to access invalid address.
Похоже, что я не единственный человек, столкнувшийся с этой трудностью, но "ответ" там совершенно бесполезен, как и документация, на которую он ссылается.
Без буквы диска перенаправление папки неприменимо для моих нужд, но было бы очень полезно, если бы есть способ заставить эту работу.
Любые идеи? Это избавит меня от необходимости rsync моих источников во время тестирования в Windows, что значительно повысит производительность.
Используйте символическую ссылку вместо буквы диска, поместите следующее в .BAT при входе на сервер TS:
MKLINK /D C:\Andrew \\tsclient\Andrew
Эта символическая ссылка будет постоянной при перезагрузке и устранит необходимость в букве диска.
Начать новый сеанс RDP (после выхода из текущего сеанса). Затем создайте командный файл, содержащий следующие строки:
net use \\tsclient\andrew /delete /persistent:yes
net use \\tsclient\andrew /delete
net use y: \\tsclient\andrew
Запустите этот командный файл.