2
Sep 2016
by
内立 良介
社内でActive Directoryを使用しているんですが、パスワード変更するのが非常に面倒くさい。。。
VMでWindows起動して、パスワード変更だなんて。たったこれだけの作業のために時間使いたくないと思い、スクリプト作っちゃいました。
#!/bin/bash echo -n "ユーザ名を入力してください。 > "; read NAME; read -sp "古いパスワードを入力してください。 > " OLD_PASSWD; echo read -sp "新しいパスワードを入力してください。 > " NEW_PASSWD; echo read -sp "新しいパスワードを入力してください。(確認用) > " NEW_PASSWD_RE; echo if [ ${NEW_PASSWD} != ${NEW_PASSWD_RE} ]; then echo "### 新しいパスワードが一致しません。 ###"; exit 1; fi sudo dscl /Active\ Directory/[ドメイン名]/All\ Domains/ -passwd /Users/${NAME} ${OLD_PASSWD} ${NEW_PASSWD} 1>/dev/null 2>/dev/null; RESULT=$?; if [ ${RESULT} = 0 ]; then echo "### パスワードが変更されました。 ###"; elif [ ${RESULT} = 11 ]; then echo "### パスワードの変更に失敗しました。 ###"; exit 11; elif [ ${RESULT} = 185 ]; then echo "### ユーザが存在しません。###"; exit 185; else echo "### パスワードの変更に失敗しました。 ###"; exit 1; fi
※[ドメイン名]のところはよしなに変更してください!
スクリプト起動してユーザ名、旧パスワード、新パスワード、新パスワード(再)を順に入力するだけです!
ちなみに本当にパスワード変更できたの?って疑問に思ったそこのあなた!
そんなときは次のコマンドで確認しちゃってください!
sudo dscl -u [ユーザ名] /Active\ Directory/[ドメイン名]/All\ Domains/
パスワードを入力して、「>」が表示されれば正常に変更されております!