powershell 查询和创建本地用户

Views: 31

查询本地所有用户信息和所属组



# 查询所有用户信息及所属组
Get-LocalUser | Select-Object Name, FullName, Description, PasswordExpires, PasswordChangeRequired, @{Name='MemberOf';Expression={(Get-LocalGroup -Member $_).Name}}

创建账号

分开理解创建账号的每个代码的含义:

# 将字符串 'test@2024' 转换为安全字符串
$password = ConvertTo-SecureString 'test@2024' -AsPlainText -Force;

# 创建名为 'user01' 的本地用户,并设置其描述为 '创建说明:2024-03-28',密码为上面定义的安全字符串,全名为 'user01'
New-LocalUser -Name 'user01' -Description '创建说明:2024-03-28' -Password $password -FullName 'user01';

# 将用户 'user01' 添加到 'Users' 本地组中
Add-LocalGroupMember -Group 'Users' -Member 'user01';

# 设置用户 'user01' 的密码永不过期
Set-LocalUser -Name 'user01' -PasswordNeverExpires $true;

# 设置用户 'user01' 必须更改密码
Set-LocalUser -Name 'user01' -PasswordChangeRequired $true;

# 设置用户 'user01' 不能更改密码
Set-LocalUser -Name 'user01' -CannotChangePassword $true;

# 设置用户 'user01' 的密码到期日期为指定日期(例如:2024-12-31)
Set-LocalUser -Name 'user01' -PasswordExpires '2024-12-31';

# 设置用户 'user01' 的账户是否被禁用为禁用状态
Set-LocalUser -Name 'user01' -AccountDisabled $false;

# 设置用户 'user01' 的密码复杂性要求为启用状态
Set-LocalUser -Name 'user01' -PasswordComplexity $true;

# 设置用户 'user01' 的密码最小长度为8个字符
Set-LocalUser -Name 'user01' -MinimumPasswordLength 8;

# 设置用户 'user01' 的密码历史不允许重复使用
Set-LocalUser -Name 'user01' -PasswordHistoryCount 5;

# 设置用户 'user01' 的账号有效期为365天
Set-LocalUser -Name 'user01' -AccountExpires (Get-Date).AddDays(365);

将代码合并为一行

合并为一行,可以使用excel快速合成批量创建账号的脚本命令。每行账号使用;进行连接,如下所示:


创建账号(密码,全名,登录账号,备注),加组,密码永不过期,设置用户初次登录时必须修改密码
$password = ConvertTo-SecureString 'test@2024' -AsPlainText -Force; New-LocalUser -Name 'user01' -Description '创建说明:2024-03-28' -Password $password -FullName 'user01'; Add-LocalGroupMember -Group 'Users' -Member 'user01';Set-LocalUser -Name 'user01' -PasswordNeverExpires $true;Set-LocalUser -Name 'user01' -PasswordChangeRequired $true

批量创建账号的示例


创建账号(密码,全名,登录账号,备注),加组,密码永不过期,设置用户初次登录时必须修改密码
$password = ConvertTo-SecureString 'test@2024' -AsPlainText -Force; New-LocalUser -Name 'user01' -Description '创建说明:2024-03-28' -Password $password -FullName 'user01'; Add-LocalGroupMember -Group 'Users' -Member 'user01';Set-LocalUser -Name 'user01' -PasswordNeverExpires $true;Set-LocalUser -Name 'user01' -PasswordChangeRequired $true
$password = ConvertTo-SecureString 'test@2024' -AsPlainText -Force; New-LocalUser -Name 'user02' -Description '创建说明:2024-03-28' -Password $password -FullName 'user02'; Add-LocalGroupMember -Group 'Users' -Member 'user02';Set-LocalUser -Name 'user02' -PasswordNeverExpires $true;Set-LocalUser -Name 'user02' -PasswordChangeRequired $true
$password = ConvertTo-SecureString 'test@2024' -AsPlainText -Force; New-LocalUser -Name 'user03' -Description '创建说明:2024-03-28' -Password $password -FullName 'user03'; Add-LocalGroupMember -Group 'Users' -Member 'user03';Set-LocalUser -Name 'user03' -PasswordNeverExpires $true;Set-LocalUser -Name 'user03' -PasswordChangeRequired $true
$password = ConvertTo-SecureString 'test@2024' -AsPlainText -Force; New-LocalUser -Name 'user04' -Description '创建说明:2024-03-28' -Password $password -FullName 'user04'; Add-LocalGroupMember -Group 'Users' -Member 'user04';Set-LocalUser -Name 'user04' -PasswordNeverExpires $true;Set-LocalUser -Name 'user04' -PasswordChangeRequired $true

发表评论