通过“服务”菜单运行“工作流”的“完全磁盘访问”


1

我有一个Automator工作流作为服务安装,我运行Finder → Services → My Automator Workflow

该工作流将一些文件复制到DOS格式的拇指驱动器,并在弹出它之前尝试从中删除不可见的目录。然后使用此驱动器的设备不喜欢像点目录/.Spotlight-V100/

在Workflow内部是一个AppleScript步骤,其中包含一个do shell script命令,该/bin/rm命令使用一条失败的命令:

The action Run AppleScript encountered an error: rm: /Volumes/MERCEDES/.Spotlight-V100: Operation not permitted

如果我在Automator中启动工作流程,我会收到相同的错误。

但是,如果我添加Automator.app System Preferences → Security & Privacy → Privacy → Full Disk Access,当我从Automator运行工作流程时,我不会再出现错误,但是当我从Finder运行时仍然可以得到它。

所以,当然,我认为当脚本由“服务”菜单运行时,运行它的过程就不同了,而且我一直试图弄清楚(通过观察活动监视器)什么过程,所以我可以列入白名单。进程我尝试过失败:

  • com.automator.runner.xpc
  • ScriptMonitor.app
  • R M

有谁知道哪个进程需要列入此用例的白名单?

Answers:


2

问题是automator服务继承了它运行的应用程序的权限。

Automator具有完全磁盘访问权限。所以,如果你从Automator运行它,它的工作原理!

但是,假设您正在运行Chess.app,并从顶部菜单中选择Chess→Services→My Automator Workflow。Chess.app没有完整的磁盘访问权限,因此工作流程失败。我希望如果您在系统偏好设置中授予Chess.app完全磁盘访问权限,则从Chess.app运行时工作流程将起作用,但从DVD Player.app运行时则不行。

是的,我认识到这令人非常沮丧。😠


我不敢相信我必须将Finder添加到全盘访问,但我做到了,它的确有效!谢谢!
jaydisc
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.