- PR -

ADSIを利用してのグループからのアカウント削除について

1
投稿者投稿内容
linux
ベテラン
会議室デビュー日: 2005/10/24
投稿数: 50
投稿日時: 2007-01-16 13:26
いつも勉強させていただいております。
よろしく御願い致します。

環境
OS:Windows2003Server Std
ActiveDirectory:2000ネイティブモード
Excel:Office Excel 2003 SP2

ActiveDirectoryへExcelのADSIを利用してアカウントの管理を行っております。

やりたい事
ここで、アカウントをグループへ属させる事はできたのですが、
アカウントをグループから削除する方法が見つかりません。
どなたかご存知の方がいらっしゃいましたら、アドバイスを御願い致します。


↓グループへアカウントを追加する方法
'ドメインコントローラ「server.example.com」の、
'OU「sales」内のグループ「manager」へ、
'アカウント「yamada」を追加

'サーバ接続
Set dom = GetObject("LDAP://server.example.com")

'グル−プオブジェクト取得
Set grp = dom.GetObject("group", "CN=manager,OU=sales")

'ユ−ザ追加
grp.Add ("LDAP://CN=yamada, OU=sales, OU=example, DC=com")

'コミット
grp.SetInfo


参考にしたサイト
http://www.microsoft.com/japan/technet/scriptcenter/resources/qanda/default.mspx
http://msdn.microsoft.com/library/ja/default.asp?url=/library/ja/jpdnadsi/htm/ADSI.asp

[ メッセージ編集済み 編集者: linux 編集日時 2007-01-16 13:27 ]
ゆいたん
ベテラン
会議室デビュー日: 2004/08/26
投稿数: 91
投稿日時: 2007-01-16 19:37

Removeメソッドだと思います。

Set objDS = GetObject("LDAP:")
Set objGroup = objDS.OpenDSObject(sADsPath,ID,PASS,0)
retValue = objGroup.Remove(Target)



[ メッセージ編集済み 編集者: ゆいたん 編集日時 2007-01-16 19:58 ]
ゆいたん
ベテラン
会議室デビュー日: 2004/08/26
投稿数: 91
投稿日時: 2007-01-16 21:02
ScriptCenterだとこんなコードが提示されていますね。

http://www.microsoft.com/japan/technet/scriptcenter/scripts/ad/groups/adgpvb28.mspx
linux
ベテラン
会議室デビュー日: 2005/10/24
投稿数: 50
投稿日時: 2007-01-17 13:06
ゆいたんさん、レスありがとうございます。
解決しました!

--------------------------------------------------------------------------------
ScriptCenterだとこんなコードが提示されていますね。

http://www.microsoft.com/japan/technet/scriptcenter/scripts/ad/groups/adgpvb28.mspx


ゆいたん 投稿日時: 2007-01-16 19:37
--------------------------------------------------------------------------------

上記サイトを参照して、グループ追加のコードに合わせて作りました。
上手くグループからメンバーを削除する事ができました。感謝です。
ありがとうございました。



↓グループからアカウントを削除する方法
'ドメインコントローラ「server.example.com」の、
'OU「sales」内のグループ「manager」から
'アカウント「yamada」を削除

Const ADS_PROPERTY_DELETE = 4

'サーバ接続
Set dom = GetObject("LDAP://server.example.com")

'グル−プオブジェクト取得
Set grp = dom.GetObject("group", "CN=manager,OU=sales")

'ユ−ザ削除
grp.PutEx ADS_PROPERTY_DELETE, "member", Array("CN=yamada, OU=sales, DC=example, DC=com")

'コミット
grp.SetInfo


[ メッセージ編集済み 編集者: linux 編集日時 2007-01-17 13:07 ]
1

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