Reemplazar/Transformar, consulta de DN a OU Active Directory

Un usuario Pregunto ✅

lote

Hola

Tengo una columna que muestra el nombre distinguido de las computadoras en Active Directory y me gustaría extraer solo la información de la Unidad organizativa del objeto.

¿Cómo puedo usar valores de reemplazo para transformar desde:

DN

CN=equipos1,OU=win7,OU=equipos,DC=dominio,DC=local

CN=equipos2,OU=win7,OU=equipos,DC=dominio,DC=local

Para verse así:

DN

win7/equipos/dominio/local

win7/equipos/dominio/local

/A

greg_deckler

Además de un «https://community.powerbi.com/» principal, del que estoy seguro que puede deshacerse fácilmente, esto debería llevarlo allí:

= SUBSTITUTE(SUBSTITUTE(RIGHT([DN],LEN([DN])-FIND(",",[DN])+1),",OU=","https://community.powerbi.com/"),",DC=","https://community.powerbi.com/")

@baatch: aquí hay una edición que elimina el / principal

MyDN = VAR tmpText = SUBSTITUTE(SUBSTITUTE(RIGHT([DN],LEN([DN])-FIND(",",[DN])+1),",OU=","https://community.powerbi.com/"),",DC=","https://community.powerbi.com/")
RETURN (
RIGHT(tmpText,LEN(tmpText)-1))

lote

En respuesta a greg_deckler

¡Frio!

Gracias smoupre! Apenas estoy comenzando a aprender lo básico, ¿hay alguna posibilidad de que puedas explicar más detalladamente todos los comandos que se enumeran a continuación para transformarlo? Supongo que está creando una nueva columna llamada MyDN.

MyDN = VAR tmpText = SUBSTITUTE(SUBSTITUTE(RIGHT([DN],LEN([DN])-FIND(",",[DN])+1),",OU=","https://community.powerbi.com/"),",DC=","https://community.powerbi.com/")
RETURN (
RIGHT(tmpText,LEN(tmpText)-1))

greg_deckler

En respuesta a lote

Sí, lo siento, es un poco complicado, déjame desglosarlo:

Aquí está nuevamente con comentarios y desglosado, es equivalente y crea una columna personalizada MyDN2:

MyDN2 = 
// Get length of text just before the first , which represents the CN portion of the address
// LEN gets the total length
// FIND gets the position of the first occurance of a comma
// The +1 makes sure that the returned text includes the comma
VAR Length = LEN([DN])-FIND(",",[DN])+1
// Now starting at the right, grab the number of characters calculated above
VAR tmpText1 = RIGHT([DN],Length)
// Now, replace all occurances of ",OU=" with a forward slash "https://community.powerbi.com/" 
VAR tmpText2 = SUBSTITUTE(tmpText1,",OU=","https://community.powerbi.com/")
// Do the same for ",DC="
VAR tmpText3 = SUBSTITUTE(tmpText2,",DC=","https://community.powerbi.com/")
//Finally, return the text minus the first character, a leading "https://community.powerbi.com/"
RETURN (
  RIGHT(tmpText3,LEN(tmpText3)-1)
)

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *