Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/powershell/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
通过Powershell/CSV问题批量添加广告_Powershell_Csv - Fatal编程技术网

通过Powershell/CSV问题批量添加广告

通过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.

我正在尝试将用户批量添加到我的Active Directory中,但在脚本开始时就出现了表达式错误。我根本不是一个脚本爱好者,所以我真的从一开始就没有想法

$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命令