Creating Users with Active Directory Lightweight Directory Services
To create an AD LDS user, bind to the object that will contain the user, create a user object, set its properties, and save the object to the directory store.
To delete an object created with the following code example in Deleting Users.
The following Visual Basic Scripting Edition code example uses the GetObject function to bind to an organization object, uses the Create method to create a user object in that organization, and sets some properties of the user.
' Create AD LDS User.
Option Explicit
Dim objADAM ' Binding object.
Dim objUser ' User object.
Dim strDisplayName ' Display name of user.
Dim strPath ' Binding path.
Dim strUser ' User to create.
Dim strUserPrincipalName ' Principal name of user.
' Construct the binding string.
strPath = "LDAP://localhost:389/O=Fabrikam,C=US"
WScript.Echo "Bind to: " & strPath
' Specify User.
strUser = "CN=TestUser"
strDisplayName = "Test User"
strUserPrincipalName = "TestUser@Fabrikam.Us"
WScript.Echo "Create: " & strUser
WScript.Echo " " & strDisplayName
WScript.Echo " " & strUserPrincipalName
On Error Resume Next
' Bind to object.
Set objADAM = GetObject(strPath)
' Output error if bind fails.
If Err.Number <> vbEmpty Then
WScript.Echo "Error: Bind failed."
WScript.Quit
End If
' Create User.
Set objUser = objADAM.Create("user", strUser)
objUser.Put "displayName", strDisplayName
objUser.Put "userPrincipalName", strUserPrincipalName
objUser.SetInfo
' Output success or error.
If Err.Number <> vbEmpty Then
WScript.Echo "Error: Create failed."
Else
WScript.Echo "Success: User created."
WScript.Echo "UserName: " & objUser.user
WScript.Echo "Display: " & objUser.displayName
WScript.Echo "Principal: " & objUser.userPrincipalName
End If
The following Visual Basic .NET code example uses the DirectoryEntry constructor to bind to an organization object, uses the Add method to create a user object in that organization, and sets some properties of the user.
Imports System
Imports System.DirectoryServices
Namespace ADAM_Examples
Class CreateUser
'/ <summary>
'/ Create AD LDS User.
'/ </summary>
<STAThread()> Shared Sub Main()
Dim objADAM As DirectoryEntry ' Binding object.
Dim objUser As DirectoryEntry ' User object.
Dim strDisplayName As String ' Display name of user.
Dim strPath As String ' Binding path.
Dim strUser As String ' User to create.
Dim strUserPrincipalName As String ' Principal name of user.
' Construct the binding string.
strPath = "LDAP://localhost:389/O=Fabrikam,C=US"
Console.WriteLine("Bind to: {0}", strPath)
' Get AD LDS object.
Try
objADAM = New DirectoryEntry(strPath)
objADAM.RefreshCache()
Catch e As Exception
Console.WriteLine("Error: Bind failed.")
Console.WriteLine(" {0}", e.Message)
Return
End Try
' Specify User.
strUser = "CN=TestUser"
strDisplayName = "Test User"
strUserPrincipalName = "TestUser@Fabrikam.Us"
Console.WriteLine("Create: {0}", strUser)
' Create User.
Try
objUser = objADAM.Children.Add(strUser, "user")
objUser.Properties("displayName").Add(strDisplayName)
objUser.Properties("userPrincipalName").Add( _
strUserPrincipalName)
objUser.CommitChanges()
Catch e As Exception
Console.WriteLine("Error: Create failed.")
Console.WriteLine(" {0}", e.Message)
Return
End Try
' Output User attributes.
Console.WriteLine("Success: Create succeeded.")
Console.WriteLine("Name: {0}", objUser.Name)
Console.WriteLine(" {0}", _
objUser.Properties("displayName").Value)
Console.WriteLine(" {0}", _
objUser.Properties("userPrincipalName").Value)
Return
End Sub 'Main
End Class 'CreateUser
End Namespace 'ADAM_Examples
The following C# code example uses the DirectoryEntry constructor to bind to an organization object, uses the Add method to create a user object in that organization, and sets some properties of the user.
using System;
using System.DirectoryServices;
namespace ADAM_Examples
{
class CreateUser
{
/// <summary>
/// Create AD LSD User.
/// </summary>
[STAThread]
static void Main()
{
DirectoryEntry objADAM; // Binding object.
DirectoryEntry objUser; // User object.
string strDisplayName; // Display name of user.
string strPath; // Binding path.
string strUser; // User to create.
string strUserPrincipalName; // Principal name of user.
// Construct the binding string.
strPath = "LDAP://localhost:389/O=Fabrikam,C=US";
Console.WriteLine("Bind to: {0}", strPath);
// Get AD LDS object.
try
{
objADAM = new DirectoryEntry(strPath);
objADAM.RefreshCache();
}
catch (Exception e)
{
Console.WriteLine("Error: Bind failed.");
Console.WriteLine(" {0}", e.Message);
return;
}
// Specify User.
strUser = "CN=TestUser";
strDisplayName = "Test User";
strUserPrincipalName = "TestUser@Fabrikam.Us";
Console.WriteLine("Create: {0}", strUser);
// Create User.
try
{
objUser = objADAM.Children.Add(strUser, "user");
objUser.Properties["displayName"].Add(strDisplayName);
objUser.Properties[
"userPrincipalName"].Add(strUserPrincipalName);
objUser.CommitChanges();
}
catch (Exception e)
{
Console.WriteLine("Error: Create failed.");
Console.WriteLine(" {0}", e.Message);
return;
}
// Output User attributes.
Console.WriteLine("Success: Create succeeded.");
Console.WriteLine("Name: {0}", objUser.Name);
Console.WriteLine(" {0}",
objUser.Properties["displayName"].Value);
Console.WriteLine(" {0}",
objUser.Properties["userPrincipalName"].Value);
return;
}
}
}