当前位置: 首页 > 知识库问答 >
问题:

Applescript-使用显示对话框以管理员权限执行脚本

甄越
2023-03-14

有没有一种方法可以像使用“do shell脚本”一样,用管理员权限编写“to do脚本”?我正在编写一个脚本,打开一个终端窗口,获取另一个用户帐户的大小,但我得到了拒绝权限的错误。我可以通过在命令之前输入sudo来轻松解决这个问题,但我不想在终端窗口中输入密码。我想得到一个对话框的提示,这样我就可以像使用“do shell脚本”一样输入密码

这是我的剧本的一部分:

告诉应用程序“终端”

激活do脚本“sudo du-sh/Users/示例”

结束讲述

我知道你也可以这样解决这个问题:

使用管理员权限执行shell脚本“du-sh/Users/example”

但是这样做会打开一个终端窗口,但不启动命令。

共有2个答案

梁成双
2023-03-14

您的第二个选项是正确的,但它根本不应该与告知“终端”块一起使用。

使用下面的脚本(只有2行),终端将不会打开,唯一的窗口将是询问您的管理员密码的窗口。

set UserSize to do shell script "du -sh /Users/test" with administrator privileges
display dialog UserSize
孟福
2023-03-14

你完全可以不用Terminal.app

set userSize to do shell script "du -sh /Users/example | awk '{print $1}'" with administrator privileges

awk命令从结果中去除大小部分。

 类似资料:
  • 根据管理员的权限显示 前端检测权限显示按钮 例子: <if condition="\Libs\System\RBAC::ableAccess('Content', 'Content', 'edit')"> <a href="javascript:;;" onClick="javascript:openwinx('{:U("Content/edit", ["catid" =>$vo['ca

  • 除了为每一个用户设置权限,权限管理员 为连接及其数据库对象的权限提供另一查看方式。注意:只限于 MySQL、Oracle、PostgreSQL、SQL Server 和 MariaDB。 从用户的对象列表工具栏点击 权限管理员 并按照下列步骤进行: 在查看树展开节点直至到达目标对象。 选择对象并点击 添加权限 以打开窗口。 勾选用户以显示网格在右边的面板上。 在网格里,对照在 权限 列出的权限,勾

  • 除了在每个用户中设置权限,“权限管理员”提供另一种方式查看连接和其数据库对象的权限。 【注意】仅适用于 MySQL、Oracle、PostgreSQL、SQL Server、MariaDB 和 MongoDB。 若要添加权限,请在用户对象工具栏点击“权限管理员”并按照下列步骤: 在树视图展开节点直至到达目标对象。 选择对象并点击 “添加权限”以打开窗口。 在左侧窗格勾选用户。 在网格中,对照在“权

  • 除了在每个用户中设置权限,“权限管理员”提供另一种方式查看连接和其数据库对象的权限。 【注意】仅适用于 MySQL、Oracle、PostgreSQL、SQL Server、MariaDB 和 MongoDB。 若要添加权限,请在用户对象工具栏点击 并按照下列步骤: 在树视图展开节点直至到达目标对象。 选择对象并点击 以打开窗口。 在左侧窗格勾选用户。 在网格中,对照在“权限”列出的权限,勾选相关

  • 除了在每个用户中设置权限,“权限管理员”提供另一种方式查看连接和其数据库对象的权限。 【注意】仅适用于 MySQL、Oracle、PostgreSQL、SQL Server、MariaDB 和 MongoDB。 若要添加权限,请在用户对象工具栏点击“权限管理员”并按照下列步骤: 在树视图展开节点直至到达目标对象。 选择对象并点击 “添加权限”以打开窗口。 在左侧窗格勾选用户。 在网格中,对照在“权

  • 最近接了需求,需要在electron中,在调用exec时候使用管理员权限 electron child_process.exec() 如何使用管理员权限运行?

  • 我目前正在开发适用于Android的即时应用程序,我想使用相机。我在片段中请求相机权限,但没有出现权限请求对话框。 这就是我在片段中请求权限的方式: 现在,我希望显示权限请求对话框,就像应用程序本身(com.android.Application)一样。不幸的是,它没有出现在即时应用程序(com.android.instantapp)中。 此外,我发现 调用,但使用grantResults[0]=

  • 问题内容: 到目前为止,我已经制作了一个Java应用程序,并在我的PC和铸造的PC中对其进行了测试。但是当我将我的应用程序“安装”到他的PC上时,该应用程序是我的另一个有迪斯科舞厅的朋友( Windows Vista 32位)无法正常工作,然后我继续搜索并发现问题是特权…我安装了Vista 32位和XP 32位虚拟机进行一些测试,我我无法使用管理员权限来运行我的应用程序。 有什么方法可以创建批处理