我正在使用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
答案 0 :(得分:3)
如果您严格要使用LDIFDE将架构从一个域导入另一个域,则可以使用LDIFDE中的-c
参数将一个DN更改为另一个DN,请参阅KB237677: Using LDIFDE to import and export directory objects to Active Directory。
-c FromDN ToDN Replace occurrences of FromDN to ToDN
答案 1 :(得分:2)
#!/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