Код:
![Выделить весь код](images/misc/selectcode.png)
$users = Import-Csv c:\list10.csv -Delimiter ";"
$props = $users | Get-Member -MemberType NoteProperty | Select -Expand name
foreach ($user in $users)
{
Try{
$objuser = ([adsisearcher]"(mail=$($user.mail))").FindOne().GetDirectoryEntry()
}
Catch {
continue
}
$log = New-Object Text.StringBuilder
$props | Foreach {
$prop = $_.ToLower()
$oldprop = $objuser.InvokeGet($prop)
if ($user.$prop -ne $oldprop -and $user.$prop)
{
$objuser.Put("$prop",$user.$prop)
$text = "{0} : old {1} new {2} prop {3} - {4}" -f $objuser.name[0],$oldprop,$user.$prop,$prop,(Get-Date)
$log.AppendLine($text) | Out-Null
}
}
Try {
$objuser.SetInfo()
if($log.ToString())
{
$log.ToString() | Out-File C:\result.txt -Append
}
}
Catch {
$_
}
}