У меня есть скрипт в OS X, который выглядит примерно так:

tell application "Finder"
    try
        mount volume "SMB://myuser:mypwd@myhost/sharedfolder"
    end try
end tell

Он работает нормально, но теперь есть дополнительная доля с учетными данными, например:

myuser1@mydomain.com 

Если я добавлю следующую строку в сценарий, произойдет сбой:

tell application "Finder"
    try
        mount volume "SMB://myuser:mypwd@myhost/sharedfolder"
        mount volume "SMB://myuser:myuser1@mydomain.com@myhost/sharedfolder1"
    end try
end tell

Кто-нибудь может сказать, как мне настроить мой скрипт, чтобы он работал?

3 ответа3

0

Стандартный способ кодирования @ в URL-адресах - это использование URL-кодировки, что приводит к %40 (@ - это ASCII 40h), поэтому используйте myuser%40mydomain.com .

0

Вы можете получить доступ к общему ресурсу SMB, указав свой логин Windows и IP-адрес компьютера, например:

mount -t cifs -o username=winuser,password=winpass //192.168.0.105/myshare /mnt/share
0

Одно из этих решений может работать (на данный момент нет доступа к Mac):

  1. Побег первый @

    mount volume "SMB://myuser:myuser1\@mydomain.com@myhost/sharedfolder1"`
    
  2. Играть с цитатами. Пытаться

    mount volume "SMB://myuser:'myuser1@mydomain.com'@myhost/sharedfolder1"
    

    или же

    mount volume 'SMB://myuser:"myuser1@mydomain.com"@myhost/sharedfolder1'
    

Вы уверены, что вам нужно указать домен? Не понимаю, почему первого монтирования удается. Если фактическое имя пользователя не myuser1@mydomain.com которое, если я не пропускаю что-то очевидное, кажется глупым.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .