Lusrmgr.exe May 2026
// Add to group DirectoryEntry adminGroup = localMachine.Children.Find("Administrators", "Group"); adminGroup.Invoke("Add", new object[] newUser.Path ); ' VBScript example Set objWMIService = GetObject("winmgmts:impersonationLevel=impersonate!\\.\root\cimv2") ' List users Set colAccounts = objWMIService.ExecQuery("SELECT * FROM Win32_UserAccount WHERE LocalAccount=True") For Each objAccount in colAccounts WScript.Echo objAccount.Name & " - " & objAccount.FullName Next
Bulk User Import from CSV $users = Import-Csv -Path "users.csv" foreach ($user in $users) $password = ConvertTo-SecureString $user.Password -AsPlainText -Force New-LocalUser -Name $user.Username -Password $password -FullName $user.FullName Add-LocalGroupMember -Group $user.Group -Member $user.Username lusrmgr.exe
foreach (DirectoryEntry user in users.Children) // Add to group DirectoryEntry adminGroup = localMachine
$SecurePassword = Read-Host "Enter password" -AsSecureString New-LocalUser -Name "ServiceAccount" -Password $SecurePassword Automation Script Example # Complete user provisioning script param( [Parameter(Mandatory=$true)] [string]$UserName, [string]$FullName, [string]$GroupName = "Users" ) Elevation check if (!([Security.Principal.WindowsPrincipal][Security.Principal.WindowsIdentity]::GetCurrent()).IsInRole([Security.Principal.WindowsBuiltInRole] "Administrator")) Start-Process powershell.exe -ArgumentList "-NoProfile -ExecutionPolicy Bypass -File "$PSCommandPath " $UserName $FullName $GroupName" -Verb RunAs exit new object[] newUser.Path )
// Create user DirectoryEntry newUser = localMachine.Children.Add("JohnDoe", "User"); newUser.Properties["FullName"].Value = "John Doe"; newUser.Invoke("SetPassword", new object[] "P@ssw0rd" ); newUser.CommitChanges();
# Add to group Add-LocalGroupMember -Group $GroupName -Member $UserName
if (user.SchemaClassName == "User")

Back