Sco*_*ttN 3 macos scripting applescript dscl
我已尽力找到Stack Overflow和互联网上的许多脚本问题的解决方案,但我似乎找不到我需要的解决方案.
我想要做的是创建一个更自动化,更少点击的解决方案,以删除系统上的所有移动缓存用户帐户.我一直在登录并手动转到用户帐户并通过单击" - "按钮逐个删除用户,然后单击"立即删除"以获取用户数据.这是有效的,但是很耗时,而且我有更好的时间与我的时间有关.所以我知道必须有一种方法可以用脚本来做到这一点.
我跑过这段代码:
for cuser in `dscl . -list /Users AuthenticationAuthority | grep LocalCachedUser | awk '{print $1}' | tr '/n' ' '`; do
dscl . -delete /Users/$cuser
done
Run Code Online (Sandbox Code Playgroud)
如果我在终端运行这个我得到权限错误.所以我想我需要用sudo运行它.所以我开始考虑创建AppleScripts来运行脚本,但我似乎无法找到正确的方法来执行它.
有任何想法吗?顺便说一下,我是Mac上脚本的新手,所以请注释你的代码,以便我知道发生了什么,所以我不会只是运行一些脚本代码而不知道它会做什么.:)
谢谢
要执行带有sudo或具有管理员权限的shell脚本,请附加with administrator privileges到行的末尾do shell script.例如:
do shell script "/path/to/script/file.sh" user name "adminusershortname" password "password" with administrator privileges
Run Code Online (Sandbox Code Playgroud)
您可以在Apple的技术手册上找到更多信息 do shell script
也就是说,将其保存为shell脚本并使用sudo运行shell脚本也可以.
#! /bin/sh
for cuser in `/usr/bin/dscl . -list /Users AuthenticationAuthority | grep LocalCachedUser | awk '{print $1}' | tr '/n' ' '`; do
/usr/bin/dscl . -delete /Users/$cuser
done
Run Code Online (Sandbox Code Playgroud)
保存为removeUser.sh,用于chmod将其设置为executable(chmod 755)然后运行它(sudo ./removeUser.sh)
| 归档时间: |
|
| 查看次数: |
15220 次 |
| 最近记录: |