我正在尝试编写一个powershell脚本,该脚本将为每个用户更新AD中的employeeID
属性
该脚本需要从我的CSV文件更新employeeID
示例CSV:
user,employeeID
user1,1234567
发布于 2014-09-20 19:12:15
至少现在你正在尝试一些看起来应该可以工作的代码。你的逻辑是正确的。您确定您的CSV不包含和空白吗?一些简单的声明就可以排除这些可能性。
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."
}
如果$user
或$id
为null,则If
语句将失败。如果情况并非如此,并且您的CSV确实包含数据,则可能存在编码问题。
发布于 2014-09-20 10:20:40
我认为这取决于您如何在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属性。
如果有帮助,请让我知道!
https://stackoverflow.com/questions/25944239
复制相似问题