批量创建本地账户
有一台Windows服务器需要创建一批本地账户,如果手动一个个建的话,实在是太浪费时间了。所以需要寻求一个脚本来进行批量创建。
首先想到的是powershell
Import-Module Microsoft.Powershell.LocalAccounts
$userobjects= Import-CSV C:\createuser\userlist.csv
ForEach ($userobject in $userobjects)
{
$plainpwd=$userobject.password
$securepwd = $plainpwd | ConvertTo-SecureString -AsPlainText -Force
New-LocalUser -Name $userobject.username -Password $securepwd -FullName $userobject.chinesename -PasswordNeverExpires -UserMayNotChangePassword
Add-LocalGroupMember -Group "Remote Desktop Users" -Member $userobject.username
Add-LocalGroupMember -Group "Users" -Member $userobject.username
}
需要注意的是,New-LocalUser 在Windows 2016中首次引入,如果是旧版操作系统需要安装Windows Management Framework (WMF) 5.1。可以输入host命令来查看当前的版本。如果看不到图,请点我。
因为安装WMF需要重启,如果不方便,可以继续使用cmd命令来完成同样的功能。
for /f "tokens=1,2,3 delims=," %a in (c:\createuser\userlist.csv) do net user %b %a /add /fullname:%c /passwordchg:no /expires:never
for /f "tokens=1,2,3 delims=," %a in (c:\createuser\userlist.csv) do WMIC USERACCOUNT WHERE Name='%b' SET PasswordExpires=FALSE
for /f "tokens=1,2,3 delims=," %a in (c:\createuser\userlist.csv) do net localgroup "Remote Desktop Users" %b /add
这2个脚本都能将用户添加到Users组和Remote Desktop Users组中,并设置用户不能修改密码,密码用不过期。这些具体设置可以根据实际需求来配置。
csv文件的结构如下:
password,username,chinesename
lY&hhBV5*P,h.zhang.san,张三