развернуть файл вывода ldifde - PullRequest
0 голосов
/ 22 января 2012

Я экспортирую схему, используя ldifde, но выходной файл переносится на длинные строки, поэтому трудно вручную редактировать тысячи строк.

Мне нужно отредактировать файл, потому что я должен заменить там строку, например:

distinguishedName: 
 CN=xxx-com-Admin-Assistant-yy,CN=Schema,CN=Configuration,-->DC=morel,DC=mis,DC=mo
 r-ambiguit,<--DC=com

до

distinguishedName: 
 CN=xxx-com-Admin-Assistant-yy,CN=Schema,CN=Configuration,-->DC=myDomain,<--DC=com

Как вы видите, я должен сначала развернуть файл, а затем заменить строку, иначе замена не будет работать. Любые подсказки о том, как я должен это сделать. Я попробовал Perl скрипт, но не удача. Также я посмотрел в опциях ldifde.

Спасибо заранее, m0dest0

Ответы [ 2 ]

3 голосов
/ 22 января 2012

Если вы строго хотите импортировать схему из одного домена в другой, используя LDIFDE, вы можете использовать параметр -c из LDIFDE, чтобы изменить одно DN на другое, см. KB237677: Использование LDIFDE для импорта и экспорта объектов каталога в Active Directory .

-c FromDN ToDN  Replace occurrences of FromDN to ToDN
2 голосов
/ 22 января 2012
#!/usr/bin/perl

use strict ;

my $orig = do { local $/ ; <DATA> } ;
( my $copy = $orig ) =~ s/(DC=)(.+?)(,DC=com)/$1myDomain$3/xsg ;

printf "Before:\n%s\nAfter:\n%s\n" , $orig , $copy ;

__DATA__
distinguishedName:
 CN=xxx-com-Admin-Assistant-yy,CN=Schema,CN=Configuration,DC=morel,DC=mis,DC=mo
 r-ambiguit,DC=com

И это напечатает:

Before:
distinguishedName:
 CN=xxx-com-Admin-Assistant-yy,CN=Schema,CN=Configuration,DC=morel,DC=mis,DC=mo
 r-ambiguit,DC=com

After:
distinguishedName:
 CN=xxx-com-Admin-Assistant-yy,CN=Schema,CN=Configuration,DC=myDomain,DC=com
...