背景:
想要通过Import-Csv命令获取一个共享文件夹中的Csv文件内容,然后通过New-AdUser命令新建AD用户。
环境:
Windows Server 2012 R2 (AD和共享服务器都是这个版本)
命令:
1
|
<
span
class
=
"hljs-keyword"
>
Import
<
/
span
>
<
span
class
=
"hljs-attribute"
>
-
csv
<
/
span
>
<
span
class
=
"hljs-subst"
>
\
\
<
/
span
>
Server01
<
span
class
=
"hljs-subst"
>
\
<
/
span
>
D
<
span
class
=
"hljs-subst"
>
\
<
/
span
>
test
<
span
class
=
"hljs-built_in"
>
.
<
/
span
>
csv
<
span
class
=
"hljs-subst"
>
|
<
/
span
>
foreach
{
<
span
class
=
"hljs-literal"
>
New
<
/
span
>
<
span
class
=
"hljs-attribute"
>
-
ADUser
<
/
span
>
<
span
class
=
"hljs-attribute"
>
-
Name
<
/
span
>
<
span
class
=
"hljs-variable"
>
$
_
.
name
<
/
span
>
<
span
class
=
"hljs-attribute"
>
-
Surname
<
/
span
>
<
span
class
=
"hljs-variable"
>
$
_
.
name
<
/
span
>
<
span
class
=
"hljs-attribute"
>
-
UserPrincipalName
<
/
span
>
<
span
class
=
"hljs-variable"
>
$
_
.
UPN
<
/
span
>
<
span
class
=
"hljs-attribute"
>
-
SamAccountName
<
/
span
>
<
span
class
=
"hljs-variable"
>
$
_
.
SamAccountName
<
/
span
>
<
span
class
=
"hljs-attribute"
>
-
DisplayName
<
/
span
>
<
span
class
=
"hljs-variable"
>
$
_
.
name
<
/
span
>
<
span
class
=
"hljs-attribute"
>
-
Path
<
/
span
>
<
span
class
=
"hljs-variable"
>
$
_
.
Path
<
/
span
>
<
span
class
=
"hljs-attribute"
>
-
ChangePasswordAtLogon
<
/
span
>
<
span
class
=
"hljs-variable"
>
$
true
<
/
span
>
<
span
class
=
"hljs-attribute"
>
-
Enabled
<
/
span
>
<
span
class
=
"hljs-variable"
>
$
true
<
/
span
>
<
span
class
=
"hljs-attribute"
>
-
AccountPassword
<
/
span
>
test
@
<
span
class
=
"hljs-number"
>
123
<
/
span
>
}
|
运行以上命令提示如下报错:
New-ADUser : 无法对参数“Path”执行参数验证。参数为 Null 或空。请提供一个不为 Null 或空的参数,然后重试该命令。
所在位置 行:5 字符: 148
+ … .name−Path_.Path -ChangePasswordAtLogon true−Enabledtrue -AccountPas …
+~~~
+ CategoryInfo : InvalidData: (:) [New-ADUser],ParameterBindingValidationException
+ FullyQualifiedErrorId : ParameterArgumentValidationError,Microsoft.ActiveDirectory.Management.Commands.NewADUser
解决方法:
问题是因为那个test.csv文件的表头最后没有加“,”比较如下:
错误:
name,SamAccountName,UPN,Path
正确:
name,SamAccountName,UPN,Path,
注意:
正确的表头的最后字符“逗号”,是在英文状态下输入的。