通过Powershell/CSV问题批量添加广告
我正在尝试将用户批量添加到我的Active Directory中,但在脚本开始时就出现了表达式错误。我根本不是一个脚本爱好者,所以我真的从一开始就没有想法通过Powershell/CSV问题批量添加广告,powershell,csv,Powershell,Csv,我正在尝试将用户批量添加到我的Active Directory中,但在脚本开始时就出现了表达式错误。我根本不是一个脚本爱好者,所以我真的从一开始就没有想法 $Users = Import-Csv ".\UsersFile.csv" foreach ($User in $Users) { -OrganizationalUnit $User.OU -SamAccountName $User.UserName -userPassword $User.
$Users = Import-Csv ".\UsersFile.csv"
foreach ($User in $Users)
{
-OrganizationalUnit $User.OU
-SamAccountName $User.UserName
-userPassword $User.Password
-GivenName $User.First
-Initials $USer.Initial
-sn $User.Last
-Displayname $User.DisplayName
-Description $User.Description
-Physicaldeliveryofficename $User.Office
-TelephoneNumber $User.Tel
-Mail $User.mail
-streetaddress $User.Street
-postOfficeBox $User.Postbus
-l $User.Location
-st $User.Provincie
-postalCode $User.Postcode
-c $User.Land
-deparment $User.Department
-Company $User.Organisatie
-Manager $User.Manager
-Password $User.Password -ResetPasswordOnNextLogon $false
}
错误日志
一元运算符“-”后缺少表达式。
在C:\Users\Administrator\Desktop\CreateUserBulk.ps1:4 char:10
+-您没有在脚本中创建新的广告用户。因此,
-OrganizationalUnit
应该是未定义的,并抛出一个错误,除非您首先将它们声明为变量
Import-Module ActiveDirectory
$Users = Import-Csv -Delimiter ";" -Path ".\UsersFile.csv"
foreach ($User in $Users)
{
$FirstLetterFirstname = $User.firstname.substring(0,1)
New-ADUser -Name $User.firstname + " " + $User.name
-SamAccountName $FirstLetterFirstName + $User.name
//... and so on
}
您可以首先以$FirstletterFirstName
的方式声明所有变量,并在每个循环结束时执行New ADUser
命令,这使得以后更容易阅读和修改
重要的部分仍然存在:添加新用户是通过newaduser
命令执行的,而您缺少该命令。您还可以将New ADUser
添加到循环的顶部,如果代码中没有其他语法错误/拼写错误,这将使查询正常工作
//编辑:您可以在
以及TechNet为新ADUser撰写的文章:
csv源文件中的分隔符是什么?添加了分隔符,它是一个分号。第一个错误很简单:csv的路径不正确。第二个错误是:$password变量为null。很高兴我能提供帮助;)我尝试了示例脚本,我相应地修改了它和CSV来测试它。但它给了我比以前更多的错误。编辑了我的第一篇文章…这很尴尬。我当时的位置与您相同,如果需要,我使用这个脚本(现在仍然使用它)将虚拟数据插入我的Sharepoint开发机器。我敢打赌,错误来自您试图发出的错误的新ADUser命令