- PR -

ドメインアカウントのパスワード失効期限調査

1
投稿者投稿内容
りおん
会議室デビュー日: 2008/03/31
投稿数: 2
投稿日時: 2008-03-31 18:20
はじめまして。
今回ははじめて投稿させていただきます。

パスワード失効期限が一ヶ月以内のユーザーアカウントをリストアップし、対象ユーザーにパスワード変更願いを出すことになりました。

案としては、DCサーバーでユーザー一覧をエクスポートし、それをもとにnet userコマンドのバッチで一括出力する・・・というものがあるのですが、数千名分の出力結果から対象のユーザーをなかなかうまく抽出できません。
ただし、無理やり整形してエクセルでフィルタすればできないことはないのですが・・・とても運用レベルにもっていけるような作業内容ではありません・・・。

何かいい方法をご存知の方がいましたらご教授していただけないでしょうか。
よろしくお願い致します。
プラネッツ
常連さん
会議室デビュー日: 2006/10/06
投稿数: 26
投稿日時: 2008-04-01 11:45
参考になるか分かりませんが、CSVDEを使ってファイル出力し、
pwdlastset列から導き出せるような気がします。
パスワード変更期間が1年として現在から11か月以上のユーザをピックアップすれば
残り1カ月以内のユーザがでるのではないでしょうか?12カ月以上は切れてたりするのかも・・・自社環境が期間制限がないので試したことはないのですが・・・
ぴよこ
ベテラン
会議室デビュー日: 2006/12/11
投稿数: 61
投稿日時: 2008-04-03 10:24
AD環境で動いてると仮定してですが。

「コンピュータポリシー」-「Windowsの設定」-「セキュリティの設定」
-「ローカルポリシー」-「セキュリティオプション」で
対話型ログオン:パスワードが無効になる前にユーザに変更を促す。
値:X日前

X日前になるとログイン直後にパスワード期限切れるよメッセージがでます。

#「向こう」を「無効」に修正

[ メッセージ編集済み 編集者: ぴよこ 編集日時 2008-04-03 10:25 ]
りおん
会議室デビュー日: 2008/03/31
投稿数: 2
投稿日時: 2008-04-03 14:11
ご回答ありがとうございます。

プラネッツ様

CSVDEで出力→エクセルにてpwdlastsetで絞込みを行おうとしたのですが、pwdlastsetの値を日付データに変更しようとしたところ化けてしまい、うまくいきませんでした。
一応、MSサイトにてpwdlastsetについて触れてありましたが・・・1600年を基準に100ナノ秒単位で計測している値だそうで、うまい変更手段が思いつきませんでした・・・。

ぴよこ様

すみません・・・ちょっと説明不足のようでした・・・。
ドメインアカウントでログインしている一般ユーザーにはこの方法で対応しております。
しかし、中には『通常はローカルユーザーでログイン、ファイルサーバーにアクセスするときのみドメインアカウントを使用』という特殊なユーザーも存在しています。
今回は、そういった特殊ユーザーへの通知を行うために質問させていただきました。
IKE
常連さん
会議室デビュー日: 2008/03/24
投稿数: 46
投稿日時: 2008-04-03 19:20
Excelだと下記で1601/1/1からの経過日数がでますね。

=({pwdlastset}/(60*10000000)+540)/1440

これを1601/1/1に足してあげればOKかと。
プラネッツ
常連さん
会議室デビュー日: 2006/10/06
投稿数: 26
投稿日時: 2008-04-07 11:26
http://www.microsoft.com/japan/technet/scriptcenter/topics/win2003/lastlogon.mspx
ここを読めばOKかと・・・

+540となっているのは日本標準時に補正していると認識して良いですよね?
お恥ずかしながら私は補正をしてませんでした・・・勉強になりました。
http://ja.wikipedia.org/wiki/%E6%A8%99%E6%BA%96%E6%99%82#UTC_.2B_9
IKE
常連さん
会議室デビュー日: 2008/03/24
投稿数: 46
投稿日時: 2008-04-07 18:37
仰るとおり、UTC+9 なので +540 としています。
Excelだと1900年1月1日がシリアル値1となるので、Cellで単純に足すと
おかしな事になりますね。。下記でOKだと思います。

=({pwdlastset}/(60*10000000)+540)/1440 - 109205

※ 109205 は、1601/1/1 から 1900/1/1 までの経過日数です。
tachi
会議室デビュー日: 2006/01/22
投稿数: 18
お住まい・勤務地: 横浜・東京
投稿日時: 2008-04-08 00:45
この際ですのでスクリプトを勉強されたらいかがですか?
何万人のユーザだろうと、簡単に対応できます。

スクリプトでADのすべてのユーザを抽出し、PasswordLastChanged 属性を参照します。
このPasswordLastChangedは普通に日時が表示され扱いが楽です。

dateadd()などを使用して現時点から何日経過したか計算し、残り1か月のユーザをリストするようにします。「vbscriptポケットリファレンス」という本とMSのスクリプトセンターを参照すれば作成は大丈夫です。

チャレンジしてみてください!
1

スキルアップ/キャリアアップ(JOB@IT)