域安装完成后就需要创建用户,可以一个个导入,但一旦数量过多时,就会很麻烦,所以以下就记录批量的创建和设置。我将从组织单位(ou)、域用户(user)、域用户组(group)的顺序来写。
读取csv文件并使用
csv文件引用,可使用import-csv命令
Import-Csv
[-Path] <导入文件的路径>
-Encoding <导入文件所使用的编码,非必需>
-Header <指定备用标题行,非必需>
csv文件的如果有中文,编码一定要是 “UTF-8”
通过ForEach和_代表的是当前变量。
Import-Csv .\Template.csv | foreach {$_.Name}
PowerShell文件的格式为psl。当一行执行多个 PowerShell 命令,命令间用;分号隔开
组织单位ou
创建
New-ADOrganizationalUnit
-Name <名称>
-Path <位置>
new-adorganizationalunit -name xxx –path "ou=syncall,dc=azureyun,dc=local"
移动
move-adobject –identity "ou=xxx,ou=Syncall,dc=azureyun,dc=local" -targetpath "ou=HelpDesk,dc=azureyun,dc=local"
删除
remove-adorganizationalunit
-identity <ou地址>
-recursive <将ou删除的同时也会将ou的子项删除>
-confirm:$false //取消确认提示
remove-adorganizationalunit -identity "ou=xxx,ou=syncall,dc=azureyun,dc=local" -recursive -confirm:$false
查询
get-adorganizationalunit –filter * |select distinguishedname
用命令取消"防止容器被意外删除"
Set-adobject –identity "ou=xxx,ou=HelpDesk,dc=azureyun,dc=local" -ProtectedFromAccidentalDeletion:$false
域用户user
创建
New-ADUser
-SamAccountName <张三的登录名>
-Surname <张三的姓>
-GivenName <张三的名>
-Name <张三的姓+名>
-UserPrincipalName <张三的登录名加上域名>
-DisplayName <张三的账号显示名,可以设置和姓名一致>
-Description <张三账号的描述>
-Path <张三账号所在的OU路径>
-AccountPassword (ConvertTo-SecureString -AsPlainText <张三账号的密码> -Force)
-Enabled <账号账号的启用禁用状态,1:启用;0:禁用>
-ChangePasswordAtLogon <张三首次登录账号是否需要更改密码,1:需要;0:不需要>
New-ADUser -SamAccountName "zhangsan" -Surname "张" -GivenName "三" -Name "张三" -UserPrincipalName "zhangsan@test.cn" -DisplayName "张三" -Description "张三描述" -Path "OU=IT,OU=shenzhen,DC=TEST,DC=CN" -AccountPassword (ConvertTo-SecureString -AsPlainText "123.abc" -Force) -Enabled 1 -ChangePasswordAtLogon 1
删除
Remove-ADUser -Identity "CN=Glen John,OU=Finance,OU=UserAccounts,DC=FABRIKAM,DC=COM"
域用户组group
创建
New-ADGroup
-Name <组名>
-Path <组所在的OU路径>
-GroupScope <组作用域,0:本地域;1:全局;2:通用,默认为全局>
New-ADGroup -Name "RODC Admins" -GroupScope 1 -Path "CN=Users,DC=Fabrikam,DC=Com"
添加
Add-ADGroupMember
-Identity <组名>
-Members <用户名>
add-adgroupmember -Identity group1 -Members "zhangsan"
删除
remove-adgroupmember -Identity "DocumentReaders" -Member "WilsonPais"
实例,同时创建用户和组
Import-Csv 'c:\Template.csv' | ForEach-Object {New-ADUser -SamAccountName $_.SamAccountName -Surname $_.Surname -GivenName $_.GivenName -Name $_.Name -UserPrincipalName $_.UserPrincipalName -DisplayName $_.Name -Description $_.Description -Path $_.Path -AccountPassword (ConvertTo-SecureString -AsPlainText $_.AccountPassword -Force) -Enabled 1 -ChangePasswordAtLogon 1 ; Add-ADGroupMember $_.group1 -Member $_.SamAccountName ; Add-ADGroupMember $_.group2 -Member $_.SamAccountName ; Add-ADGroupMember $_.group3 -Member $_.SamAccountName ;}
注:当有些用户没有加入组,该命令会有错误,但不会影响脚本运行。
网友评论