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

解決


ひゆう  2003-05-31 01:55:28  No: 107338

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

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


岡田 之仁  2003-05-31 16:28:46  No: 107339

多分、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-02 02:40:17  No: 107340

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

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


ひゆう  URL  2003-06-02 18:09:40  No: 107341

教えていただいたコードを参考にして、下記でアドミ権限を与えることができました!
ありがとうございました。
--------------------------------------------------------------------
    '接続先のパス文字列を指定
    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 18:14:02  No: 107342

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

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


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加