【发布时间】:2018-08-10 09:13:47
【问题描述】:
我有一个脚本(主要感谢这个网站),它从文本文件中获取人名并将它们拆分为 FullName、FirstName、LastName 和 FirstLetter。
我现在计划将这些导入到 AD 中,并且在很大程度上,我知道我在做什么。
但是,我正在努力解决以下部分
New-ADUser -Name
我想做这样的事情
$result.ForEach({
New-ADUser -Name $_.FirstName + $_.LastName -GivenName $_.FirstName -Surname
$_.LastName -AccountPassword
(ConvertTo-SecureString -AsPlainText "APassword!" -Force)
-PasswordNeverExpires $True -UserPrincipalName
"$_.FirstLetter+$_.LastName@vennershipley.co.uk"
-SamAccountName "$_.FirstLetter $_.LastName"
-Path 'OU=Users,OU=London,OU=Sites,DC=MyCompany,DC=local'
})
这会返回一个错误,指出“提供的名称不是格式正确的帐户名称”。现在我认为这是因为,如果我这样做
$result.FirstName + $result.LastName
它在单独的行上返回 3 个名字和 3 个姓氏,所以我认为它试图在两个单独的行上为每个人命名,例如
- 名字
- 姓氏
那么,假设这是问题所在,我该如何让结果显示在一行上?
另外,如果有更好的制作广告的方法,请指教,我还在学习!
【问题讨论】:
-
在括号中关闭 $result.FirstName 和 $result.LastName:($_.FirstName + $_.LastName) 但名字和姓氏将连接起来。如果你想将它们分开,可以这样使用: ($_.FirstName + " " + $_.LastName)
标签: powershell active-directory