Errore "Impossibile convertire il tipo di dati della directory in o da un tipo di dati DS nativo"

Questo articolo consente di correggere l'errore "Impossibile convertire il tipo di dati della directory in o da un tipo di dati DS nativo".

Si applica a: Windows Server 2019, Windows Server 2016, Windows Server 2012 R2
Numero KB originale: 907462

Sintomi

Si eseguono o si gestiscono applicazioni che usano informazioni dal servizio directory Active Directory in Windows. È possibile che vengano visualizzati errori quando le applicazioni usano le informazioni per gli attributi collegati. Ad esempio, è possibile che venga visualizzato l'errore seguente:

Impossibile convertire il tipo di dati della directory in /da un tipo di dati DS nativo.

In questo caso, quando si esporta l'oggetto interessato usando l'utilità LDIFDE (Ldifde.exe), viene elencato un attributo. Tuttavia, l'attributo non ha alcun valore.

Questo può essere il comportamento previsto quando il valore è lungo. Ma la riga successiva nell'output ha l'attributo successivo. Per un gruppo e il relativo attributo managedBy, l'output può essere simile al seguente:
...
showInAddressBook: <DN dell'oggetto Rubrica>
Managedby:
legacyExchangeDN: <nome X500>
groupType: -2147483640
...

In un dump del database con il comando RootDSE verb dumpdatabase, i gruppi interessati verranno visualizzati come segue:

38661 29827 1 1790 true - - 4 3 Group-DN Group-DN - 655368 6d03f309-ded2-41d5-9794-081d40343876 4
objectclass: 655368, 65536
DNT Base BDNT DelTime DeactiveTime USNChanged NCDNT Data
38661 1 38662 - - 55247898 1790 -
38661 36 2 - - - - -

L'ID dell'attributo di collegamento è sempre 36 e il partner di collegamento è sempre 2.
Per informazioni su come eseguire il dump del database, vedere Come usare la funzionalità Dbdump online di Active Directory.

Causa

Un'applicazione può aggiungere un collegamento a un oggetto che fa riferimento all'oggetto radice interno del database di Active Directory. Questo oggetto non dispone di un nome o di altre proprietà utilizzabili per le applicazioni. Di conseguenza, le applicazioni client visualizzano messaggi di errore che non indicano la causa di un problema.

Risoluzione

Se si usano controller di dominio che eseguono Windows Server 2003 con Service Pack 1, il problema non si verifica. Ma l'oggetto con questo collegamento non valido è ancora nel database. È possibile trovare i gruppi interessati per un controller di dominio durante la ricerca in NTDS. File DMP, come indicato di seguito:

findstr /i /c:" 36 2 - " ntds.dmp
38661 36 2 - - - - -

Windows Server 2003:

Non è possibile risolvere il problema eliminando l'attributo . Se si elimina l'attributo, nel log di Application Directory Services viene registrato l'errore seguente:

Tipo evento: Errore
Origine evento: replica NTDS
Categoria di eventi: Replica
ID evento: 1694
Descrizione:
Impossibile aggiornare l'oggetto seguente con una modifica del valore dell'attributo ricevuta dal controller di dominio di origine seguente. Ciò è dovuto al fatto che si è verificato un errore durante l'applicazione delle modifiche apportate ad Active Directory nel controller di dominio locale.
Oggetto:
<gruppo DN>
GUID oggetto:
<GUID>
Controller di dominio di origine:
<Nome controller di dominio basato su GUID>
Attributo:
Managedby:
Valore dell'attributo:
[]
GUID valore attributo:
00000000-0000-0000-0000-000000000000
Presente:
0
Questa operazione verrà ritenta alla replica pianificata successiva. La sincronizzazione del controller di dominio locale con il controller di dominio di origine viene bloccata fino a quando il problema di aggiornamento non viene corretto.
Dati aggiuntivi
Valore di errore:
Si è verificato un errore interno nel sistema di replica.

Se questo errore viene registrato, lo stato dell'oggetto è interrotto. Per ottenere lo stato originale o eliminare l'oggetto, è possibile eseguire solo un ripristino autorevole sull'oggetto. Per ripristinare gli oggetti che presentano questo comportamento, è consigliabile eliminare e ricompilare l'oggetto usando l'utilità LDIFDE.

Attenzione

Tutti i back-link vengono rimossi quando si elimina un oggetto .

Se è necessario mantenere determinati attributi su cui non è possibile impostare il valore, ad esempio l'attributo objectSid o l'attributo SidHistory, eliminare e quindi annullare l'eliminazione dell'oggetto. Windows Server 2003 Service Pack 1 mantiene l'attributo SidHistory attivato quando si elimina un oggetto. Quando si elimina e si annulla l'eliminazione di un oggetto, non è necessario eseguire un controllo semantico.

Tuttavia, attualmente non esistono strumenti per ripristinare gli attributi e i back-link. Per ripristinare le appartenenze ai gruppi, è possibile usare lo strumento Groupadd.exe. Per altre informazioni, fare clic sul numero dell'articolo seguente per visualizzare l'articolo della Microsoft Knowledge Base:

840001 Come ripristinare gli account utente eliminati e le relative appartenenze ai gruppi in Active Directory

Se si usa Microsoft Provisioning System, è possibile usare il sistema per ripristinare gli attributi e i back-link.

Alcune applicazioni di backup e ripristino possono offrire un modo più pratico per rimuovere questi attributi problematici. L'applicazione deve consentire di selezionare gli attributi durante un'operazione di ripristino. Ad esempio, un'applicazione deve consentire di escludere l'attributo managedBy quando si ripristina un oggetto eliminato.

Stato

Microsoft ha confermato che questo problema si verifica nei prodotti elencati nella sezione "Si applica a". Questo problema è stato risolto per la prima volta in Microsoft Windows Server 2003 Service Pack 1.