VBでユーザーを作成し、権限を与えるには?

解決


ひゆう  2003-05-30 16:55:28  No: 107338  IP: [192.*.*.*]

VBでユーザーを作って、そのユーザーにアドミ権限を付与したいのですが、どうすれば良いのでしょうか?
ユーザーの作成までは何とかできたのですが…
権限が与えられません。

バージョンはVB6.0を使用しています。
分かる方がいらっしゃいましたら、よろしくお願いいたします。

編集 削除
岡田 之仁  2003-05-31 07:28:46  No: 107339  IP: [192.*.*.*]

多分、ADSIを使って行われたと思いますが・・・
パラメータとして与えるドメイン情報の部分の記述ですが、
ワークグループの場合、その情報(ユーザーが存在する)
が存在するマシン名を与えて下さい。

そうすれば、うまくいきます。

権限の付与の部分は、グーループにユーザーを追加すると
言うことですので、権限を付与すると言うことでヘルプを
検索しても出てきません。ご注意下さい。


    Dim Group As IADsGroup
    Dim GroupName As String
    Dim GroupDomain As String
    Dim User As IADsUser
    Dim UserName As String
    Dim UserDomain As String
            
    GroupName = "Administrators"
    GroupDomain = "xxxxxxxx"    ' <= マシン名
    UserName = "yyyy"           ' <= ユーザーアカウント名
    UserDomain = "xxxxxxxx"     ' <= マシン名
    
    Set User = GetObject("WinNT://" & UserDomain & "/" & UserName & ",user")
    Set Group = GetObject("WinNT://" & GroupDomain & "/" & GroupName & ",group")
    Group.Add (User.ADsPath)
    Group.SetInfo

以上。

編集 削除
ひゆう  2003-06-01 17:40:17  No: 107340  IP: [192.*.*.*]

ありがとうございます。
早速明日(自宅には環境がないので…)試してみます!

まさか、その日の内にお答え頂いてるとは思わず、レスが遅くなってしまいました。
すみません。

編集 削除
ひゆう  URL  2003-06-02 09:09:40  No: 107341  IP: [192.*.*.*]

教えていただいたコードを参考にして、下記でアドミ権限を与えることができました!
ありがとうございました。
--------------------------------------------------------------------
    '接続先のパス文字列を指定
    strWinNtPath = "WinNT://" & Environ("COMPUTERNAME")
    
    'ドメインCPに接続
    Set objContainer = GetObject(strWinNtPath)
    
    'IADsUserオブジェクトを作成
    Set objUser = objContainer.Create("User", "ユーザー名")
    
    'IADsGroupオブジェクトの作成
    Set objGroup = objContainer.Create("Group", "Administrators")
    
    With objUser
        'PASSWARD設定
        .SetPassword ""
        'フルネーム設定
        .FullName = ""
        'ユーザー情報を変更
        .SetInfo
    End With
    
    With objGroup
        .Add (objUser.ADsPath)
'        .SetInfo
    End With
    
    'オブジェクトの開放
    Set objUser = Nothing
    Set objContainer = Nothing
    Set objGroup = Nothing

編集 削除
ひゆう  2003-06-02 09:14:02  No: 107342  IP: [192.*.*.*]

着け足しです。
変数は下記でやりました。

    Dim strWinNtPath As String
    Dim objContainer As ActiveDs.IADsContainer
    Dim objUser As ActiveDs.IADsUser
    Dim objGroup As ActiveDs.IADsGroup

編集 削除