Novell client for Windows 7 & Windows Server 2008 R2
16 марта 2010 г. 22 января 2010 года вышел Novell Client 2 SP1 для платформ:
- Windows 7 (x86 or x64) (Ultimate Edition, Enterprise Edition, or Professional Edition)
- Windows Vista (x86 or x64) (Ultimate Edition, Enterprise Edition, or Business Edition)
- Windows Server 2008 R2 (x64) (Enterprise Edition, or Standard Edition)
- Windows Server 2008 (x86 or x64) (Enterprise Edition, or Standard Edition)
Поддержка следующих языков:
- Portuguese (Brazil)
- English
- French
- German
- Italian
- Japanese
- Polish
- Russian
- Spanish
Хочется отметить, что теперь Novell Client корректно работает на сервере терминалов (поддержка Windows Terminal Services и TS Remote Applications). Для работы на терминальном сервере нужно включить политику TSClientAutoAdminLogon:
в ключе реестра HKEY_LOCAL_MACHINE\SOFTWARE\Novell\Login добавить значения
- тип REG_SZ
- имя TSClientAutoAdminLogon
- значение 1
- тип REG_SZ
- имя DefaultLoginProfile
- значение Имя профиля (по умолчанию Default)
При включенной политике TSClientAutoAdminLogon для входа в eDirectory используется профиль указанный в реестре, учетная запись и также пароль Windows. Если имя учетной записи и пароль eDirectory синхронизированы с Windows, то произойдет успешный и прозрачный вход в eDirectory и Windows.
Пример внедрения ILM 2007
29 мая 2009 г.В предыдущих постах я описывал как связать разные службы каталогов при помощи ILM 2007. Здесь я объединю все заметки этой теме воедино.
Что из себя представляет ILM (Microsoft Identity Lifecycle Manager)? Состоит он из основных компонентов:
- Connected data source (подключаемые источники данных);
- Management Agents (агенты управления);
- Сonnector Spaces (пространства подключения);
- Metaverse (Метабаза).
и основные функции ILM:
- синхронизация каталогов;
- управление паролями и их синхронизация;
- управление группами;
- инициализация учетных записей;
- публикация сертификатов.
Novell Client 2 for Vista & Windows Server 2008
15 мая 2009 г.Вышел Novell Client 2 с поддержкой следующих платформ
- Windows Vista Business (x86 or x64)
- Windows Vista Enterprise (x86 or x64)
- Windows Vista Ultimate (x86 or x64)
- Windows Server 2008 Standard Edition (x86 or x64)
- Windows Server 2008 Enterprise Edition (x86 or x64)
Читаем и скачиваем тут
NCPSync cool tool for NetWare
13 марта 2009 г.NCPSync.nlm - Утилита Netware, предназначеная для синхронизации определенного каталога (с подкаталогами) на одном, или нескольких серверах посредством NCP.
ILM 2007 синхронизация пользователей AD и eDirectory
26 февраля 2009 г.Настраиваем MA (Management Agent) для Active Directory:
- Properties - Тут все понятно….
- Connect to AD Forest - комментарии лишние
- Configure Dir Partitions – В Containers выберем контейнеры с пользователями которые мы собираемся синхронизировать. В Password Synch отмечаем Enable this partition as a password synch. если мы собираемся синхронизировать пароли и в Targets выберем МА NetWare когда его создадим. (о настройке синхронизации паролей можно прочитать на TechNet)
- Select Object Types – Выберем нужные типы объектов
- Select Attributes – Отмечаем нужные атрибуты
- Confugure Connector Filter – нам пока не нужен
- Configure Join and Projection Rules
- Confugure Attribute Flow – Настройка соответствия атрибутов которые мы хотим импортировать и экспортировать из AD в Metaverse
Тут стоит обратить внимание на AD атрибут UserAccountControl, дело в то что он принимает значения, а в eDirectory атрибут loginDisabled, который отвечает за то включена или отключена учетная запись, принимает значения “True” или “False”. Что бы все корректно работало и состояние учетной записи пользователя (откл. или вкл.) синхронизировало между AD и eDir, делаем следующие:
- Создаем атрибут Boolean в Metaverse Desinger например msDS-UserAccountDisabled
- Указываем UserAccountControl импортировать в msDS-UserAccountDisabled, но при этом Mapping Type укажем Advanced и укажем Flow rule name
Эго мы будем использовать в ADExtension.dll которую мы укажем в Configure Extension
Public Sub MapAttributesForImport(ByVal FlowRuleName As String, ByVal csentry As CSEntry, ByVal mventry As MVEntry) Implements IMASynchronization.MapAttributesForImport
' TODO: write your import attribute flow code
Const ADS_UF_ACCOUNTDISABLE As Integer = &H2 'Disable user account
Const ADS_UF_NORMAL_ACCOUNT As Integer = &H200 'Typical user account
Select Case FlowRuleName
Case "msDS-UserAccountDisabled"
mventry("msDS-UserAccountDisabled").BooleanValue = (csentry("userAccountControl").IntegerValue And ADS_UF_ACCOUNTDISABLE) = ADS_UF_ACCOUNTDISABLE
End Select
End Sub
Настройка МА для eDir аналогична AD вот только не нужно в Configure Extension указывать DLL а указать что нужно синхронизировать пароли
и вот мой Confugure Attribute Flow
Только не забываем использовать SSL протокол для подключения к LDAP, о настройке подключения по протоколу SSL в NetWare можно посмотреть тут
И теперь чтобы все это заработало нужно в скомпелить MVExtension.dll и прописать в Options
И сам код MVExtension.dl:
Imports Microsoft.MetadirectoryServices
Imports System
Imports System.Text
Imports System.IO
Imports ActiveDs.ADS_USER_FLAG
Public Class MVExtensionObject
Implements IMVSynchronization
Public Sub Initialize() Implements IMVSynchronization.Initialize
' TODO: Add initialization code here
End Sub
Public Sub Terminate() Implements IMVSynchronization.Terminate
' TODO: Add termination code here
End Sub
Private Sub SetNovellPW(ByRef csentry As CSEntry, ByVal pw As String)
' TODO: Setting an Initial Password in eDirectory
Dim password() As Byte
password = New System.Text.UTF8Encoding(False, False).GetBytes(pw)
ReDim Preserve password(UBound(password) + 2)
csentry("userPassword").Values.Add(password)
End Sub
Public Sub Provision(ByVal mventry As MVEntry) Implements IMVSynchronization.Provision
Dim adMA As ConnectedMA
Dim csentry As CSEntry
Dim dn As ReferenceValue
Dim ExceptionMessage As String
Const eDir_OU = "ou=Account, o=TREE_eDir"
Const eDir_MA = "MA_Novell"
Const AD_MA = "MA_Active_Directory"
Const ACTIVE_OU_AD = "OU=Account,OU=Branch,DC=
Const INACTIVE_OU_AD = "OU=Disabled,OU=Account,OU=Branch, DC=
Const INACTIVE_OU_ED = "ou=Disabled,ou=Account,o=TREE_eDir"
Dim Connectors As Integer
Dim Container As String
If Not mventry("cn").IsPresent ThenExceptionMessage = "The attribute cn was unexpectedly not present on the metaverse object."
Throw New UnexpectedDataException(ExceptionMessage)
Exit Sub
End If
' +++++++++++ eDirectory ++++++++++++++++
adMA = mventry.ConnectedMAs(eDir_MA)
Container = eDir_OU
Connectors = adMA.Connectors.Count
dn = adMA.EscapeDNComponent("cn=" + mventry("cn").Value).Concat(Container)
If 0 = Connectors Then
Select Case mventry.ObjectType.ToLower()
Case "group"
csentry = adMA.Connectors.StartNewConnector("groupOfNames")
csentry.DN = dn
csentry.CommitNewConnector()
Case "person"
csentry = adMA.Connectors.StartNewConnector("inetOrgPerson")
csentry.DN = dn
csentry("groupMembership").Values.Add("cn=Everyone,ou=Account,o=TREE_eDir")
csentry("securityEquals").Values.Add("cn=Everyone,ou=Account,o=TREE_Edir")
SetNovellPW(csentry, "1Q2w3e4r5")
csentry.CommitNewConnector()
End Select
ElseIf 1 = Connectors Then
csentry = adMA.Connectors.ByIndex(0)
If csentry.DN.ToString.ToLower <> dn.ToString.ToLower Then
csentry.DN = dn
End If
Else
Throw New UnexpectedDataException("multiple connectors:" + Connectors.ToString)
End If
' +++++++++++ Active Directory ++++++++++++++++
adMA = mventry.ConnectedMAs(AD_MA)
If (mventry.ObjectType = "person") Then
If mventry("msDS-UserAccountDisabled").BooleanValue Then
Container = INACTIVE_OU_AD
dn = adMA.EscapeDNComponent("cn=" + mventry("displayName").Value).Concat(Container)
If adMA.Connectors.Count = 1 Then
'''Check if rename needed
csentry = adMA.Connectors.ByIndex(0)
If csentry.DN.ToString.ToLower <> dn.ToString.ToLower Then
csentry.DN = dn
End If
End If
End If
End If
End Sub
Public Function ShouldDeleteFromMV(ByVal csentry As CSEntry, ByVal mventry As MVEntry) As Boolean Implements IMVSynchronization.ShouldDeleteFromMV
Throw New EntryPointNotImplementedException()
End Function
End Class
Abend NLDAP.NLM
11 февраля 2009 г.EIP in NLDAP.NLM at code start +00048D80h
Access Location: 0x00000000
Ошибка ушла только после обновления LDAP сервера до версии 8.7.3.10
Connect ILM to eDirectory
Для подключения по защищенному протоколу SSL (Secure Sockets Layer ) eDirectory агента в ILM делаем следующие:
- Запускаем ConsoleOne
- Открываем контейнер где находится сервер к которому мы собираемся присоединиться
- Заходим в свойства сертификата SSL CertificateIP для этого сервера
- На закладке "Сертификаты" экспортируем сертификат (если этой закладки нет, то необходимо установить модуль сервера сертификатов в Novell для ConsoleOne )
- Добавляем сертификат в "Доверенные корневые центры сертификации" (лично я выбрал метод добавления сертификата через групповую политику а не через IE )
- Обновляем групповую политику
- Рестартим сервис Microsoft Identity Integration Server
- В ILM ставим галку присоединяться к серверу eDirectory используя SSL и порт 636
Управление серверами NetWare
Программы от AdremSoft с которыми администрирование серверов NetWare стало легче:
- Консоль удаленного администрирования для серверов Novell AdRem Free
- И конечно как без Server Manager 6
NetWare и DFS
10 февраля 2009 г.- Создать файл реестра и распространить по всем клиентам при помощи групповой политики, но при таком варианте изменения если они будут, вступать в силу только при перезагрузке компьютера
- Воспользоваться Group Policy Preferences настроив параметр "Реестр" в "Конфигурации Windows", указав сервера w2k3 в поле значение.

Добавим шаблон политики для Novell клиента client491.adm и
включаем Bad Name Cache Enabled и Bad Name Cache Timeout
ВСЕ! наша проблема решена.