2014-09-20 51 views

回答

0

我认为这取决于你如何找到在Active Directory用户...你可以尝试这样的事:

# import the users 
$myUsers = Import-Csv csvFile.csv 

# loop through each user and update their employeeID property 
foreach ($user in $myUsers) 
{ 
    # the Set-ADUser cmdlet requires a type of System.Hashtable<>, 
    # so let's create one 
    $updateRecord = @{"EmployeeID"=$user.EmployeeID} 
    # Set the user attribute 
    Set-ADUser -Identity $user -Replace @updateRecord 
} 

这可能会诀窍。你们是否修改了AD架构?请记住,“EmployeeID”假设您的Active Directory用户拥有一个EmployeeID属性。

请让我知道它是否有帮助!

1

至少现在你正在尝试一些看起来应该工作的代码。你的逻辑是健全的。你确定你的CSV不包含空白吗?一些简单的陈述可以排除这些。如果任一$user$id为空

Import-CSV "C:\Scripts\Users.csv" | ForEach-Object { 
    $User = $_.UserName 
    $ID = $_.EmployeeID 
    If($user -and $ID){ 
     Set-ADUser $User -employeeID $ID 
    } Else { 
     Write-Warning "User or employee number is null. Check source." 
    } 

If语句将失败。如果情况并非如此,并且您的CSV确实包含数据,那么您可能遇到了编码问题。

+0

以及我收到用户或员工编号为空。 我的csv文件是 用户名,employeeID user1,12345678 我该如何上传文件? – 2014-09-20 12:09:31