Этот пост - короткий роман, так что терпите меня ...
Я хотел бы найти эффективный способ управления набором ярлыков, которые указывают на сетевые местоположения (например, \\server-name\folder
), которые технически не являются просто общими ярлыками (например, * .lnk-файлами), который спросит меня для учетных данных, если это необходимо. Я нашел жизнеспособное решение, но хотел, чтобы это сообщество провело свои идеи (и "решение"), чтобы посмотреть, есть ли лучший путь.
Итак, во-первых, создание общего ярлыка (файл * .lnk) для сетевых расположений прекрасно работает, и единственная причина, по которой я ищу альтернативу, заключается в использовании приложения StandaloneStacks (которое эмулирует сочетания клавиш OSX в Windows). С помощью ярлыков папок он пытается развернуть структуру папок, когда вместо этого я бы хотел, чтобы он просто показывал мне корневую папку в Проводнике.
Во всяком случае, еще несколько требований: я не могу присоединиться к домену. Я застрял, ковыряясь в сети, проходя аутентификацию на каждой машине по мере необходимости. Кроме того, мой сетевой пароль истекает каждый месяц, поэтому я не хочу, чтобы Windows навсегда запомнила мои учетные данные, иначе меня заблокируют (3 удара у вас нет).
Моей первой мыслью было просто использовать explorer.exe
для запуска сетевого расположения в окне проводника, например:
explorer.exe /e,/root,"\\server-name\folder"
Это работает довольно хорошо, но только когда я уже прошел проверку подлинности на сервере и Windows запоминает мои учетные данные. Если я еще не авторизован, выполнение этой команды приведет меня в мой домашний каталог (например, C:\Users\Me\
).
Я подумал об этом с помощью runas
с моей сетевой учетной записью:
runas.exe /netonly /user:domain\user "explorer.exe /separate,/e,/root,\\server-name\folder"
Не обращая внимания на тот факт, что мне приходилось вводить пароль каждый раз, когда я хотел запустить ярлык, это сблизило меня, за исключением того, что Windows не передает учетные данные так, как я ожидал; всегда отображается сообщение об ошибке аутентификации ("Неизвестное имя пользователя или неверный пароль"). Из-за моих быстро истекающих паролей я бы предпочел не передавать свой пароль.
После еще нескольких копаний я обнаружил встроенную команду start
. Я могу просто поместить следующее в командный файл, и он будет делать то, что я хочу:
start /max "Folder Title" \\server-name\folder
Это запустит проводник в развернутом окне, перенесет меня в папку и запросит учетные данные, если вы впервые входите в систему во время сеанса Windows. Самая раздражающая часть - это мигание командной строки перед запуском папки. Я попытался настроить командное окно для запуска свернутым, но затем оно также свернуло приглашение для ввода учетных данных.
Мое решение до сих пор состоит в том, что у меня есть папка, заполненная небольшими пакетными файлами с командами запуска, указывающими на все места в сети, которые я часто посещаю. Затем я создал ярлыки для этих командных файлов с более симпатичными значками для использования с StandaloneStacks.
Итак, помимо написания моей собственной маленькой утилиты для запуска ярлыков для сетевых расположений, есть ли в Windows какие-то другие встроенные функции, которые могли бы работать и могли бы быть проще, чем я решил? Я использую 64-битную Windows 7.
Другие предостережения: я прыгаю от клиента к клиенту, поэтому не могу постоянно настраивать свою машину. Это исключает создание сетевых расположений для нужных мне папок, а затем создание волшебных ярлыков для них (с использованием их GUID). Это также своего рода правило, позволяющее просто добавлять закладки в проводнике в эти места (функции стеков хороши, так что мне не нужно запускать проводник, а затем выбирать ярлык, но это не такая уж плохая идея).