2

我编写了运行“mount -t smbfs”命令的 AppleScript 应用程序来安装我们员工使用的 Windows 共享驱动器。

该应用程序已经成功使用了几个月,直到今天。如果用户的密码中有@ 符号,则应用程序将失败。路径被拒绝。

这是脚本:

-- Teaching Drive Access

--Get The Shortname and PC Password of current user 
--set PCusername to (short user name of (system info))
set PCusername to "benstaff"
--set PCPassword to text returned of (display dialog "What's your PC Password?" default answer "" with title "T Drive" with icon stop with hidden answer)

--Create Sharepoint on Desktop
set FolderTarget to (path to desktop folder as text) & "DoNotUseTeachingDrive"

try
    FolderTarget as alias
on error
    do shell script "mkdir /Users/" & PCusername & "/Desktop/DoNotUseTeachingDrive/"
end try

set mountcommand to "mount -t smbfs "
set mountuser to "//" & PCusername & ":" & PCPassword
set mountuser to "//" & PCusername & ":" & PCPassword
set mountvolume to "@ncs-srv-fs3.ncs.local/Teaching"
set machomepath to "/Users/" & PCusername & "/Desktop/DoNotUseTeachingDrive/"

set mountwindowshome to mountcommand & mountuser & mountvolume & " " & machomepath as string
do shell script mountwindowshome

的完整输出mountwindowshome是:

mount -t smbfs //mystaff:PE91XA!!@@ncs-srv-fs3.ncs.local/Teaching /Users/mystaff/Desktop/DoNotUseTeachingDrive/

如果我在没有密码的情况下在终端中运行命令,则会要求我输入密码并且共享已正确安装。

任何帮助/指针将不胜感激。

4

1 回答 1

2

根据这个站点,您必须在特殊字符上使用 url 转义。对于@将是 %40 的字符,这会将挂载行变为:

mount -t smbfs //mystaff:PE91XA!!%40@ncs-srv-fs3.ncs.local/Teaching /Users/mystaff/Desktop/DoNotUseTeachingDrive/
于 2013-11-01T13:06:28.363 回答