Решил переписать старый скрипт использующий ADSI и применить командлеты из модуля ActiveDirectory. Первые строки вызвали сомнение. Решил проверить скорость работы командлетов из модуля ActiveDirectory.
$a1 = measure-command {1..300 | % {$a=Get-ADUser ITestUser -Properties *;$a.Description=1; Set-ADUser -Identity $a } }
$a2 = measure-command {1..300 | % {
$a=[ADSI]«LDAP://CN=TestUser,OU=Users,DC=domain,DC=ru»;
#$a=$a.GetDirectoryEntry();
$a.Description=1
$a.CommitChanges();
}
}
$a1.TotalMilliseconds/$a2.TotalMilliseconds
Результат: 3.74110927547075
Разница слишком ощутимая, чтобы отказаться от ADSI и мигрировать на командлеты модуля ActiveDirectory.
Filed under: Active Directory, Powershell | Tagged: Active Directory, Powershell | Leave a comment »