- PR -

ADSIを利用してアカウントの期限を設定する方法

1
投稿者投稿内容
グリム
会議室デビュー日: 2006/05/05
投稿数: 2
投稿日時: 2006-05-05 21:44
OS:XP

VB6.0を使用し、ユーザ数が膨大にあるのでユーザーアカウントの期限を変更するプログラムを作成したいと考えております。
下記を使えば変更が可能そうですが、セット(登録)方法がわかりません。

わかる方いましたら教えてください。

strComputer = "."
Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
Set colItems = objWMIService.ExecQuery("Select * from Win32_NetworkLoginProfile",,48)

For Each objItem in colItems
Wscript.Echo "AccountExpires: " & objItem.AccountExpires
Wscript.Echo "Name: " & objItem.Name
Next

ちゃっぴ
ぬし
会議室デビュー日: 2004/12/10
投稿数: 873
投稿日時: 2006-05-05 21:50
とりあえず、それ ADSI ではなく WMI ですが・・・

WMI 経由で account 情報を設定しようとしたことはあるのですが、正直いってお勧めできませんね。というのは、

1. WMI 経由だとえてして重い場合が非常に多い。

2. 設定できる項目が少ない

なんで、素直に ADSI を使用されることをお勧めします。
グリム
会議室デビュー日: 2006/05/05
投稿数: 2
投稿日時: 2006-05-06 19:38
すみません、あまりWMIとADSIのちがいがわかりません。
Windows Management Instrumentation
Active Directory Service Interfaces
まではわかるんですが・・・

そうすると・・・
NetUser関連で設定するんでしょうか?

おそらく下記だと思いますが、
DONT_EXPIRE_PASSWD = &H10000 と
acct_expiresをどう使用すればよいのでしょうか?




ちゃっぴ
ぬし
会議室デビュー日: 2004/12/10
投稿数: 873
投稿日時: 2006-05-07 02:04
引用:

すみません、あまりWMIとADSIのちがいがわかりません



とりあえず、ここら辺で修行されることをお勧めします。

スクリプト センター
Active Directory Service Interfaces
Windows Management Instrumentation
1

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