# csv file and then add them to the local Administrators group.
<# example CSV layout to be saved as C:\Temp\Users.csv
UserName,FullName,Description
JBloggs,Joe Bloggs,Blogger
JDoe,Jane Doe, Dough Maker
#>
$strComputer=$env:computername
# Import CSV to $AllUsers
$AllUsers =
Import-CSV "C:\Temp\Users.csv"
# Set temp password
$TempPassword =
"P@ssword1"
foreach ($User in $AllUsers)
{
write-host Creating user account $user.Username
$objOU = [adsi]"WinNT://."
# Create user
account
$objUser = $objOU.Create("User", $User.Username)
# Set password
$objuser.setPassword($TempPassword)
# Set FullName
$objUser.FullName = $User.FullName
# Set Description
$objUser.Description = $User.Description
# User must change password on next log on
$objuser.PasswordExpired
= 1
# Save the info
$objuser.SetInfo()
# Add each user
account to local Administrators group
$computer = [ADSI]("WinNT://" + $strComputer + ",computer")
$group = $computer.psbase.children.find("Administrators")
$group.Add("WinNT://" + $strComputer + "/" + $user.Username)
}
Fix Full name and Description add password
ReplyDeleteUser cannot change password and never expire
# This script will create multiple local user accounts using the content of a
# csv file and then add them to the local Administrators group.
<# example CSV layout to be saved as C:\Temp\Users.csv
UserName,FullName,Description
JBloggs,Joe Bloggs,Blogger
JDoe,Jane Doe, Dough Maker
#>
$strComputer=$env:computername
# Import CSV to $AllUsers
$AllUsers = Import-CSV "C:\Users.csv"
foreach ($User in $AllUsers)
{
write-host Creating user account $user.Username
$objOU = [adsi]"WinNT://."
# Create user account
$objUser = $objOU.Create("User", $User.Username)
# Set password
$objuser.setPassword($User.Password)
# Set FullName
$objUser.put("FullName",$User.FullName)
# Set Description
$objUser.put("Description",$User.Description)
# User must change password on next log on
#$objuser.PasswordExpired = 0
# User cannot change password and never expire
$objUser.UserFlags = 64 + 65536
# Save the info
$objuser.SetInfo()
# Add each user account to local Administrators group
$computer = [ADSI]("WinNT://" + $strComputer + ",computer")
$group = $computer.psbase.children.find("STB")
$group.Add("WinNT://" + $strComputer + "/" + $user.Username)
}
Thanks for this.
ReplyDelete