会社で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/