我正在兜圈子,希望有人能给我指明正确的方向......
我创建了一个 .csv 文件,如下所示
SamAccountName,Name,GivenName,Surname,DisplayName,Type,Path,Logon Name,UserPrincipleName,ScriptPath,Password
fredflinstone,Fred Flinstone,Fred,Flinstone,Fred Flinstone,User,"CN=users,DC=Test,DC=local",[email protected],[email protected],login.bat,Yabba
我进入 powershell,运行
import-module activedirectory
Import-CSV C:\Users1.csv | New-ADUser
它成功添加了用户,但我遇到的问题是
- 它实际上并没有输入,
Account User login name
但输入了 2000 年之前的名称。 - 它没有输入密码
- 即使我在 Enabled 字段中输入值 $true,它们仍然被禁用
任何帮助,将不胜感激
答案1
- 登录名不是 New-ADUser 所采用的参数之一。请参阅http://technet.microsoft.com/en-us/library/ee617253.aspx以获取您可以使用的内容列表。
- 密码无法以这种方式工作,因为出于安全原因,它必须是 SecureString。如果您想从 cSV 加载密码,则必须将其转换为更完整的脚本,以便将值从 CSV 转换为 SecureString。
- 我想知道是否使用字符串“$true”而不是布尔值来设置启用,这是通过 CSV 文件实现的?
答案2
UserPrincipalName
以上是正确的,如果从 CSV 中提取信息,则需要类似以下内容:
-UserPrincipalName ($_.SamAccountName + '@' + $_.DomainName)
SamAccountName
和DomainName
都是我的 CSV 电子表格中的列。
答案3
您需要填充“userPrincipalName”作为“用户登录名”。
Get-Help Set-ADAccountPassword -examples:第一个向您展示如何设置 AD 密码。
由于您没有设置密码,因此无论如何您都无法启用该帐户。
因此你的脚本将有三个调用:
Create the user (New-ADUser)
Set the password (Set-ADAccountPassword)
Enable the user (Set-ADUser)
答案4
密码部分可以通过这个解决
-AccountPassword (ConvertTo-SecureString -AsPlainText "12345678" -Force)
您可以在其中12345678
与变量进行交换。