Функция ЗаблокироватьПользователяAD(ИмяLDAP, ДатаУвольнения) Экспорт
Попытка
ScrptCtrl = Новый COMОбъект("MSScriptControl.ScriptControl");
ScrptCtrl.Language="vbscript";
ScrptCtrl.AddCode("
|Function DisableUserAccountInAD(strLDAP, TerminationDate)
| Const ADS_UF_ACCOUNTDISABLE = 2
|
| Set objUser = GetObject(strLDAP)
| intUAC = objUser.Get(""userAccountControl"")
|
| objUser.Put ""userAccountControl"", intUAC OR ADS_UF_ACCOUNTDISABLE
| objUser.SetInfo
|
| If objUser.AccountDisabled = True Then
| objUser.Put ""description"", ""Уволен(а): "" & TerminationDate 'Поле Описание
| objUser.SetInfo
| AccountDisabled = True
| Else
| AccountDisabled = False
| End If
|
| DisableUserAccountInAD = AccountDisabled
|
|End Function
|");
//Выполнить VBScript с параметром
Результат = ScrptCtrl.Run("DisableUserAccountInAD", ИмяLDAP, Формат(ДатаУвольнения,"ДЛФ=ДД"));
Исключение
Сообщить(ОписаниеОшибки());
КонецПопытки;
Возврат Результат
КонецФункции
LDAPName = String("LDAP://CN="+UserName+",CN=Users,DC=myCompany,DC=com,DC=ua");
