2017-09-30 3 views
2

Je script suivant:Obtenez description de seconde OU/CN

Get-ADUser -Filter {SamAccountName -like "z*"} -Properties * | select samaccountname, name, Email 
Address, @{Name="LastLogonTimeStamp";Expression={([datetime]::FromFileTime($_.LastLogonTimeStamp))}}, @{n='ParentContai 
ner';e={$_.distinguishedname -replace '^.+?,(CN|OU.+)','$1'}} | Format-Table 

RESULT EXAMPLE

enter image description here

Comment obtenir la description de seconde OU | conteneur CN?

Répondre

1

Essayez:

$_.DistinguishedName -replace '^.+?,((CN|OU)=[^,]+).*','$1' 

Notez le .* arrière, ce qui assure que la regex correspond à la chaîne d'entrée entière et le remplace par la sous-chaîne d'intérêt comme ensemble; sans .*, seule une partie de l'entrée serait remplacée, suivie de la partie de l'original qui ne correspondrait pas.

Cela suppose que tous les composants sont , -Séparé (ne sais pas pourquoi vos images montre un . après la 2ème composante OU) et que les valeurs CN/OU ont pas intégré, se sont échappés cas ,.

Vous pourriez faire l'intérieur (...) sous-expression - dont le match ne besoin d'être capturé - un peu plus efficace avec (?:...).