Для нескольких версий OS X я использовал:
/usr/bin/osascript -e mount volume "smb://yourserver" as user name "yourusername" with password “yourpassword”
Это отлично сработало, приятное и тихое монтирование общего сетевого ресурса, если оно доступно, конечно.
Недавно я установил macOS Sierra (публичная бета-версия 10.12, сборка 16A238m), и сценарий все еще работает, однако теперь он внезапно будет всегда отображать диалоговое окно входа в систему, предварительно заполненное значениями «имя-пользователя» и «ваш пароль». Пользователю все равно придется нажать «Подключить», чтобы смонтировать общий ресурс.
Кто-нибудь знает, является ли это «ошибкой» в бета-версии (я сообщал об этом с помощью приложения Apple для обратной связи), или это ожидается и / или что будет «исправить» для этого?
macos
applescript
mount
disk-volume
sierra
Hanzaplastique
источник
источник
/Volumes
папку, в которой сетевой ресурс подключен только к корневому доступу, что требует авторизации пользователя для создания точки подключения. К сожалению, в настоящее время я не знаю, как обойтись, хотя я собираюсь поиграть с изменением sudoers на компьютере. У меня есть Open Radar на openradar.appspot.com/radar?id=4948585099558912, где Apple подтвердила, что она заблокирована.Ответы:
Как Apple ответила на билет, указанный в ссылке на открытый радар mattdwen выше, начиная с macOS Sierra 10.12,
Кроме того, мое лучшее понимание команды тома AppleScript для монтирования состоит в том, что она не может указать точку монтирования и, следовательно, она монтирует тома только
/Volumes
через стандартный механизм Finder. Так что я не думаю, что вы можете сделать это через AppleScript.Но есть и другой способ. Вы можете сделать то же самое, используя команду более низкого уровня
mount
:После монтирования тома таким образом вы должны увидеть обычный значок «громкость» на рабочем столе, и
~/mnt
каталог будет отображаться как «общий доступ », когда вы просматриваете каталог пользователя через Finder.Единственное, чего не хватает в этом подходе, - это сохранить учетные данные для входа в связку ключей. Чтобы сделать это, вы должны сделать немного больше сценариев. Что-то вроде этого.
Сохраните пароль:
Восстановите пароль и смонтируйте общий ресурс:
ПРИМЕЧАНИЕ. Если в вашем пароле есть специальные символы, вам, вероятно, потребуется URL-кодирование, возможно, так:
источник
/Volumes/share
?Это было исправлено Apple в macOS Sierra 10.12.2:
https://support.apple.com/en-us/HT207112
источник
sudo defaults delete /Library/Preferences/com.apple.NetworkAuthorization AllowUnknownServers
(убрал запись в этой строке).