2016-02-17 36 views
1
-- Applescript to ask for username/password. repeats if incorrect. 
repeat 

-- Ask for user name 
set userName to text returned of (display dialog "enter your user name" with title "User Name" default answer "" buttons {"Cancel", "Okay"} default button 2) 

-- Asks for password  
set myPassword to text returned of (display dialog "enter your password" with title "User Name" default answer "" buttons {"Cancel", "Okay"} default button 2 with hidden answer) 

-- Sets users network share path  
set userShare to "smb://" & userName & ":" & myPassword & "@ourserver/usershare/" & userName & "" 


try 
    -- Attempts to mount the above location 
    mount volume userShare 
    -- This where the script pauses on the OSX connect to server prompt 


    --checks to see if users share is mounted in /volumes/ 
    if " & userName & " is in (do shell script "/bin/ls /volumes") then 
     --exits loop 
     exit repeat 
    end if 
end try 
end repeat 

我维护一个iMac实验室,教师现在需要学生使用本地帐户,但访问其网络共享。 iMac已加入Active Directory,但在这种情况下,孩子们正在以通用的本地“学生”帐户登录。苹果脚本在连接到smb分享时检查用户名和密码

我有一个询问用户用户名和密码的applescript,但只有在提供的用户名和密码都正确时才有效。其他方面,当用户名或密码输入错误时,“连接到服务器”提示将启动。

我想看看是否有办法来处理这个提示,或者如果输入的用户名不正确,可以完全跳过它。提示似乎现在基本上是“暂停”脚本。如果我按取消,脚本再次启动,用户可以重新输入用户名和密码。

年轻的小学生正在使用它,所以限制错误对教师很有帮助。

任何想法?我认为我正在寻找的是将证书传递给我们的服务器的方法,看看它们是否正确,然后尝试安装网络共享。

+0

我认为问题是指令“挂载卷服务器”。字服务器没有定义。你不会得到脚本错误,因为你在'尝试'区块。我建议改为“挂载音量UserShare”。 (UserShare在上面定义)。 – pbell

+0

我对原始文件进行了一些编辑,使得这些名称对于问题目的而言更通用一些,并且错过了一个。编辑在这里有正确的名称。 –

+0

自编辑以来,我现在按预期工作? – pbell

回答

0

我最终通过使用ldapsearch绑定到AD并验证用户名和密码来找到我正在寻找的内容。