使用 powershell 添加 AD 用户时遗漏了一些内容

使用 powershell 添加 AD 用户时遗漏了一些内容

我正在兜圈子,希望有人能给我指明正确的方向......

我创建了一个 .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

它成功添加了用户,但我遇到的问题是

  1. 它实际上并没有输入,Account User login name但输入了 2000 年之前的名称。
  2. 它没有输入密码
  3. 即使我在 Enabled 字段中输入值 $true,它们仍然被禁用

任何帮助,将不胜感激

答案1

  1. 登录名不是 New-ADUser 所采用的参数之一。请参阅http://technet.microsoft.com/en-us/library/ee617253.aspx以获取您可以使用的内容列表。
  2. 密码无法以这种方式工作,因为出于安全原因,它必须是 SecureString。如果您想从 cSV 加载密码,则必须将其转换为更完整的脚本,以便将值从 CSV 转换为 SecureString。
  3. 我想知道是否使用字符串“$true”而不是布尔值来设置启用,这是通过 CSV 文件实现的?

答案2

UserPrincipalName以上是正确的,如果从 CSV 中提取信息,则需要类似以下内容:

-UserPrincipalName ($_.SamAccountName + '@' + $_.DomainName)

SamAccountNameDomainName都是我的 CSV 电子表格中的列。

答案3

  1. 您需要填充“userPrincipalName”作为“用户登录名”。

  2. Get-Help Set-ADAccountPassword -examples:第一个向您展示如何设置 AD 密码。

  3. 由于您没有设置密码,因此无论如何您都无法启用该帐户。

因此你的脚本将有三个调用:

Create the user (New-ADUser)
Set the password (Set-ADAccountPassword)
Enable the user (Set-ADUser)

答案4

密码部分可以通过这个解决

-AccountPassword (ConvertTo-SecureString -AsPlainText "12345678" -Force)

您可以在其中12345678与变量进行交换。

相关内容