私は、スタックオーバーフローとインターネットに関する多くのスクリプトに関する質問がある解決策を見つけるために最善を尽くしましたが、必要な解決策を見つけることができません。OS Xの管理者権限でスクリプトを実行する
私がしたいことは、システム上のすべてのモバイルキャッシュされたユーザーアカウントを削除するための、より自動化されたソリューションを作成することです。私はログインしていて、手動でユーザーアカウントに行き、 " - "ボタンをクリックしてから一度に1つずつユーザーを削除してから、ユーザーデータの "すぐに削除"をクリックしています。これは機能しますが、時間がかかり、私は自分の時間とより良いことがあります。だから私はスクリプトでこれを行う方法がなければならないことを知っていた。
私は、このコードに出会っ:
for cuser in `dscl . -list /Users AuthenticationAuthority | grep LocalCachedUser | awk '{print $1}' | tr '/n' ' '`; do
dscl . -delete /Users/$cuser
done
私はターミナルでこれを実行すると、私は権限エラーが発生します。だから私はsudoで実行する必要があると思った。だから私はスクリプトを実行するためにAppleScriptsを作ることに目を向け始めましたが、私はそれを行う正しい方法を見つけることができないようです。
アイデア?ちなみに、私はMacでスクリプトを書くのが初めてだから、コードを書き留めておいてください。何が起こっているのか分かりますので、スクリプトのコードを実行するだけで何をするのか分かりません。 :)
おかげ
私はリンゴスクリプトで実行しようとしましたが、削除しようとしている各ユーザのために「削除:無効なパス」がたくさんあります。 AppleScriptファイルはデスクトップにあります。他の場所にする必要がありますか? deleteコマンドにもっと有効なパスを与える必要がありますか? – ScottN
ターミナルでlistコマンドを実行しているときに、コマンドから "| tr '/ n' ''"を削除しました。しかし、今私は別の問題があります。 AppleScriptを初めて実行したときにエラーが発生しなかったので、私はそれがうまくいっていると思いました。システム環境設定のアカウント一覧を確認すると、ユーザーの一覧が表示されるため、削除によってユーザーアカウントがシステムから完全に削除されることはありません。しかし、再度listコマンドを実行すると、ターミナルウィンドウにユーザーが表示されないので、スクリプトには何も実行されません。私は今何が間違っていますか? "dscl。-delete"コマンドはGUIと同じ働きをしていますか? – ScottN
私はシステムを再起動するまでシステム設定にまだ表示されていましたが、もはやそこにはありませんでした。手動でユーザーフォルダを削除する必要がありました。しかし、それはほんの数回のクリックを必要とします。私はこれに満足するかもしれません。ユーザーフォルダを同時に削除するといいでしょう。 – ScottN