人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

Windows2003Server Active Directoryについて質問です。
「ユーザは次回ログオン時にパスワード変更が必要」のオプションを使い使用者にパスワードを設定してもらおうと思っています。
対象ユーザー毎に設定したいことと、
対象ユーザーが1,000人位いるので手作業では大変なこともあり。
スクリプト等(WSH)で、外部テキスト(TXT)からユーザーを読み込み抽出し対象ユーザーに設定したいと思っております。可能であれば、OU単位で設定が出来れば尚可です。
100ptずつ配分しますので、ソース付で回答願います。

●質問者: anim130M
●カテゴリ:ビジネス・経営 コンピュータ
✍キーワード:Active Directory txt WSH オプション スクリプト
○ 状態 :終了
└ 回答数 : 2/2件

▽最新の回答へ

1 ● ManalTencho
●100ポイント

http://www.microsoft.com/japan/technet/windowsserver/2003/techno...

上のページの「すべてのユーザーを対象としたパスワードのリセット制御の委任」という項目を参照してください。

◎質問者からの返答

タスクにより自動実行検討しておりました。

検討してみます。ありがとうございました。


2 ● haruo-31
●100ポイント

ADSIというインタフェースを使えば案外簡単に出来そうです。

http://msdn2.microsoft.com/en-us/library/aa746487(VS.85).aspx

http://long-peace.sakura.ne.jp/iisadsi.html

ADSI Scriptmatic

http://www.microsoft.com/japan/technet/scriptcenter/tools/admati...

下のスクリプトは未テストなので、十分にテストユーザなどで試してから使ってください。


strContainer = "" ' コンテナ(OU)を指定します。
strName = "EzAdUser" ' ユーザ名を指定します

Const ADS_PROPERTY_CLEAR = 1
Const ADS_PROPERTY_UPDATE = 2
Const ADS_PROPERTY_APPEND = 3
Const ADS_PROPERTY_DELETE = 4

'***********************************************
'* Connect to an object *
'***********************************************
Set objRootDSE = GetObject("LDAP://rootDSE")
If strContainer = "" Then
 Set objItem = GetObject("LDAP://" & _
 objRootDSE.Get("defaultNamingContext"))
Else
 Set objItem = GetObject("LDAP://cn=" & strName & "," & strContainer & "," & _
 objRootDSE.Get("defaultNamingContext"))
End If
'***********************************************
'* End connect to an object *
'***********************************************

objItem.Put "PasswordExpired", CLng(1) 'パスワードが期限切れになります
objItem.SetInfo

Set objItem=Nothing

◎質問者からの返答

検討してみます。ありがとうございました。

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ