我正在处理一个小脚本,以便更轻松地将用户添加到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")我不知道它为什么会返回该位置。
这是做我想要的有效方式吗?如何修复命令以不返回错误?这是我输入这些景点的原因吗?
答案 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
我找到了以下解决方案来彻底解决问题:
更改(如上所述)-AccountExpirationDate $null
将此参数移动到最后的参数!否则,您最终会得到错误解析下一项的错误。您会注意到IDE中参数显示的颜色错误。