AppleScript删除除特定用户以外的所有用户主文件夹?

时间:2014-06-04 14:23:16

标签: applescript conditional directory home-directory

我管理当地学校的IT基础设施。最近想到了我们可能遇到的情况,因为我们已将Apple计算机整合到系统中。它处理在mac上本地存储的网络用户主文件夹。每年我们有500多名新生,所以我只能假设新用户名与前一年的用户名相同。哪个好。除了我不希望以前的用户文件/数据加载时,用他们的网络帐户登录到mac。

我想要一些帮助的是一个脚本,可能是ARD的unix脚本,我可以用来删除所有用户的主文件夹(或我应删除的任何其他信息),除了指定的列表。 用户的真实例子: dadmin dbaker jdunn

同样,我不知道这是否是做这种事情的最佳方式,但那就是我要问的原因。

此外,我们不使用移动帐户。网络用户登录,创建本地配置文件/主文件夹。我猜它需要删除钥匙串数据,以及任何其他用户特定信息。

1 个答案:

答案 0 :(得分:0)

OP找到了解决方案:

  

---------------------------脚本信息------------------ ---------

     

脚本的目的:删除mac上的特定用户帐户主文件夹,   这不是移动帐户,只有那些不匹配的帐户   给予不删除的名称。

     

平台:Apple iMac

     

OS VERSION:10.6.8

     

测试和工作:真实

    #!/bin/sh

echo "Deleting home directory for the following users…"

userList=`find /Users -type d -maxdepth 1 -mindepth 1 -not -name "*.*" -not -name "username" -not -name "Shared" -not -name "Guest" -mtime +7 | awk -F'/' '{print $NF}'`

for a in $userList ; do

rm -r /Users/"$a"; #delete the home directory

done

这将在User目录中找到用户,忽略隐藏文件。这将忽略“共享”帐户文件夹。这将忽略“访客”帐户文件夹。并且它将忽略您将“用户名”区域更改为的任何名称。要添加更多用户名而不删除,只需添加更多

-not -name "usernamegoeshere"

在第一个-not -name“”开关之后的任何地方切换到命令。

我确信有一种方法可以从用户名的文件列表中读取它,但是因为我是初学者,所以我不会再进一步​​了。我通过终端运行它来实现这一点。我还没有在ARD上进行测试。

我还首先做了一个测试,以确保它删除了正确的名称,并且只使用了这个脚本FIRST删除的名称,除了根据{{{{{{{{[{ 1}}在脚本中切换。

#!/ bin / sh的

-not -name "username"