【问题标题】:AppleScript to delete all user home folders except specific ones?AppleScript 删除除特定文件夹外的所有用户主文件夹?
【发布时间】:2014-07-25 06:12:19
【问题描述】:

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

我需要帮助的是一个脚本,可能是 ARD 的 unix 脚本,我可以用它来删除所有用户的主文件夹(或我应该删除的任何其他信息),除了指定的列表。 真实用户示例: 管理员 贝克尔 呸呸呸

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

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

【问题讨论】:

  • 在回答您自己的问题时,最好将答案作为答案而不是在问题本身中发布。这样您就可以将您的答案标记为已回答。
  • 我已将您的解决方案作为正确答案发布。允许甚至鼓励自我回答问题。随意这样做,如果你这样做了,请告诉我,在这种情况下,我会删除我发布的答案。

标签: applescript conditional directory home-directory


【解决方案1】:

OP 找到了解决方案:

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

脚本的目的:删除 Mac 上的特定用户帐户主文件夹, 不是移动帐户,只有不匹配的帐户 不删除的名字。

平台:Apple 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 仅根据@987654323 定义的给定标准显示要删除的名称@ 在脚本中切换。

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

【讨论】:

    猜你喜欢
    • 2012-12-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多