【案例skills.com】使用Powershell管理域用户和相关属性

需求说明

新建名称为 manager、dev、sale 的 3 个组织单元;每个组织单元内新建与组织单元同名的全局安全组;每个组内新建20个用户:行政部 manager101-manager120、开发部 dev101-dev120、营销部 sale101-sale120,所有用户只能每天 8:00-18:00 可以登录,不能修改其口令,密码永不过期。

得到需求后总结一下要做的事情:

1.创建组织单元及对应的用户组3个。

2.创建每个用户组中的用户,每个组20个用户,共计新建60个账户。

3.每个账户配置相关登陆时间、账户口令、密码策略等,共计修改60次账户属性相关设置。

图形化的界面操作虽然给了很大程度的便捷,但在这个需求中却显得有点力不从心。为了高效的达到目标,下面打算尝试使用Powershell来实现自动化处理。

以下是Powershell脚本

注意:

1.组织单位和对应的用户组依然使用图形化界面配置,这里没有纳入脚本自动配置的范畴。

2.其中$group的值根据要求修改为目标组(manager、dev、sale)。

3.综上,完成上述需求共计执行脚本3次。

$num = 101..120
[byte[]]$hours = @(255,3,0,255,3,0,255,3,0,255,3,0,255,3,0,255,3,0,255,3,0)
foreach ($i in $num){
    $group = 'sale'
    $password = 'Pass-1234'
    $User = "$group$i"
    New-ADUser -Name $User `
        -Path "OU=$group,DC=skills,DC=com" `
        -AccountPassword(ConvertTo-SecureString -AsPlainText $password -Force) `
        -SamAccountName $User `
        -UserPrincipalName "$User@skills.com" `
        -PasswordNeverExpires 1 `
        -CannotChangePassword 1 `
        -Enabled 1;
    Set-ADUser -Identity "CN=$User,OU=$group,DC=skills,DC=com" -Replace @{logonhours = $hours}
    Add-ADGroupMember -Identity $group -Members $User
    echo "Added $User to $group"
}

脚本的主要作用说明:

1.利用New-ADUser来创建用户相关主要属性。

2.利用Set-ADUser来对用户的特别属性(登陆时间)就行修改。

3.利用Add-ADGroupMember来将创建完毕的用户添加到对应的用户组。

脚本的主要参数说明:

1.num:用户名称的特殊字节,同时用来进行循环。

2.group:用户组的名称

3.password:账户密码

4.User:真正的账户名称(用户组名称+编号)

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值