- PR -

ActiveDirectoryのプロパティ変更

1
投稿者投稿内容
柊夕
会議室デビュー日: 2005/01/19
投稿数: 4
投稿日時: 2005-01-19 22:20
初めまして、VB.NETを始めて使うPG暦1年未満の初心者です。
宜しくお願いいたします。

早速ですが、VB.NETとActive Directoryについて教えて頂けませんでしょうか。
只今、VB.NETでWEB画面を作成していまして
ADに登録されたユーザーのみ入れるようログイン画面を作成しました。

その際
・アカウントの有効期限が切れたらログイン不可
・初回ログイン時にはパスワード変更が必要
という条件をつけました。

そして、上記の条件でログイン出来ないユーザーは
強制的にパスワード変更画面へ移ることになりました。

そのパスワード変更時に条件を満たすため、ADにある
・アカウントの有効期限を当日から45日延長する
・「ユーザーは初回ログオン時にパスワード変更が必要」のチェックを外す
というプロパティのパラメータを変更したいのです。

パスワード変更時には
foundUser = AD.Children.find(username)
foundUser.Invoke("Password", NewObject() {newPassword})
としたのですが
上記の条件はどのように書けばよいのでしょうか。

どなたかご教授いただければ幸いです。
宜しくお願いいたします。

環境:Windows2000 SP4 VB.NET .NET Frameworksインストール済み
ちゃっぴ
ぬし
会議室デビュー日: 2004/12/10
投稿数: 873
投稿日時: 2005-01-20 00:59
スミマセンが、.NETについてはよくわかりません。

> 初回ログイン時にはパスワード変更が必要

にあたるADのProperty?は、"PasswordExpired"ですので
もしかしたら参考になるかも知れません。

なお、参考までにVBScriptでのCodeを載っけておきます。

コード:

Dim objWinNTContainer
Dim objWinNTUser

Set objWinNTContainer = GetObject("WinNT://DomainName")
Set objWinNTUser = objWinNTContainer.GetObject("User", UserADSIPath)
With objWinNTUser
.Put "PasswordExpired", 0
.SetInfo
End With

Set objWinNTContainer = Nothing
Set objWinNTUser = Nothing



[ メッセージ編集済み 編集者: ちゃっぴ 編集日時 2005-01-20 01:09 ]
柊夕
会議室デビュー日: 2005/01/19
投稿数: 4
投稿日時: 2005-01-20 12:07
ちゃっぴさん、返答ありがとうございます。

>> 初回ログイン時にはパスワード変更が必要
>にあたるADのProperty?は、"PasswordExpired"ですので
>もしかしたら参考になるかも知れません。

なるほど、アカウントオプション項目1つ1つに変数名があるのですか。
そして、頂いたコードによると
初回ログイン時にはパスワード変更が必要のチェックを外すには
"PasswordExpired"の値を0にするのですね。
後はVB.NETでのput文にあたるものがあればいいのですが…

それとADのプロパティは、正確にはADユーザーのプロパティの
アカウントにあるアカウントオプションでした。
変更したい項目の場所を明確にしていなくて申し訳ありませんでした。
1

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