0

我管理当地学校的 IT 基础设施。最近想到了一个我们在系统中加入苹果电脑后可能会遇到的情况。它处理本地存储在 mac 上的网络用户主文件夹。每年我们有 500 多名新学生,所以我只能假设在某些时候新用户名将与前一年的某个人相同。这很好。除了我不希望在使用他们的网络帐户登录到 mac 时加载以前的用户文件/数据。

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

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

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

4

1 回答 1

0

OP找到了解决方案:

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

脚本的目的:删除 Mac 上的特定用户帐户主文件夹,这些不是移动帐户,并且仅删除那些与给出的名称不匹配的用户帐户。

平台:苹果 iMac

操作系统版本: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

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

-not -name "usernamegoeshere"

在第一个 -not -name " . " 开关之后的任何位置切换到命令。

我确信有一种方法可以从用户名的文件列表中读取它,但由于我是初学者,所以我不会走得更远。我通过终端运行它来让它工作。我还没有在 ARD 上进行测试。

我还首先进行了测试,以确保它提取了正确的名称,并且只有我想通过使用此脚本 FIRST 删除的名称,该脚本仅根据-not -name "username"脚本中开关定义的给定标准显示要删除的名称。

#!/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

echo "$a"

done
于 2014-08-09T18:08:05.690 回答