添加新AD用户时出错

时间:2012-10-15 18:29:57

标签: powershell active-directory

我正在处理一个小脚本,以便更轻松地将用户添加到AD中。它只是一行新的ADUser powershell脚本,要求输入。它看起来像这样:

New-ADUser -Name (Read-Host "User Name") -AccountExpirationDate 0 -CannotChangePassword 1 -ChangePasswordAtLogon 0 -PasswordNeverExpires 1 -Company (Read-Host "Company") -Department (Read-Host "Department") -Title (Read-Host "Title") -Manager (Read-Host "Manager's User Name") -GivenName (Read-Host "Full Name") -MobilePhone (Read-Host "Cell Phone Number") -State (Read-Host "State") -AccountPassword (Read-Host -AsSecureString "Password") -ProfilePath (Read-Host "Roaming Profile Path") -Path (Read-Host "AD Path to User")

它要求所有类似的东西,但在输入它返回的所有内容之后:" New-ADUser:不是有效的Win32 FileTime。在行:1 char:11。"我在命令中检查了该位置(它是&#34之后的空格; New-ADUser")我不知道它为什么会返回该位置。

这是做我想要的有效方式吗?如何修复命令以不返回错误?这是我输入这些景点的原因吗?

2 个答案:

答案 0 :(得分:3)

你必须改变:

-AccountExpirationDate 0

-AccountExpirationDate $null

或者您无法为未到期的帐户设置此参数。

This technet页面有错误。

答案 1 :(得分:0)

对于Windows Server 2016,存在上述问题,并且上述解决方案不起作用(完全)。

我找到了解决方法。

是的,上面的Technet页面有错误;遗憾的是,这也导致PowerShell脚本系统在解析脚本时遇到问题

所以 - 错误#1 - 如果您使用New-ADUser指定的命令0作为参数,则会收到错误New-ADUser : Not a valid win32 FileTime.

当您将0更改为$null时,您会收到错误#2 - The term '(the next parameter in your command)' is not recognized as the name of a cmdlet, function

我找到了以下解决方案来彻底解决问题:

  1. 更改(如上所述)-AccountExpirationDate $null

  2. 将此参数移动到最后的参数!否则,您最终会得到错误解析下一项的错误。您会注意到IDE中参数显示的颜色错误。