Creating local users – en mass
The traditional way of creating a vast amount of users would include a lot of time as well as patience. Or – maybe just a few lines of (magic) PowerShell code.
So first of all, we have to connect to the local ADSI. This can be done via WinNT://[ComputerName]:
$ComputerName = $env:COMPUTERNAME $Computer = [adsi]"WinNT://$ComputerName"
This is already the most crucial part. Next we create a new user, set the username, fullname and description and the password.
function Add-User([string]$UserName, [string]$FullName, [string]$Description, [string]$Password)
{
$User = $Computer.Create("user", $UserName)
$User.Put("fullName", $FullName)
$User.Put("description", $Description)
$User.SetPassword($Password)
$User.SetInfo()
}
The SetInfo() call ensures, that the data is actually persisted.
Voila, that’s already all you need to get going. Well, in order to create a massive amount of users you will want to create a csv-file of users like:
UserName,FullName,Description,Password usera,User A,Desc A,passworda userb,User B,Desc B,passwordb
This can be read with just a single line of code.
function Import-Users([string]$UserFile)
{
Import-Csv $UserFile | foreach-object { Add-User $_.UserName $_.FullName $_.Description $_.Password }
}
So now all you need is to call Import-Users myNewUsers.csv from the PowerShell command-line and off you go!