我正在使用 powershell 脚本从各种 Exchange 邮箱中导出一些内容。主要要点包括为每个受影响的邮箱创建一个配置文件并调用outlook.exe /importPRF customprofile.prf
等等。主要逻辑和一切都运行良好,但出现了一个问题:如果用户名是彼此的前缀(比如我有“Foo”和“Foobar”),那么较短的(“Foo”)的配置文件会中断自动脚本,而是弹出一个对话框,询问我想要“Foo”还是“Foobar”。名称customprofile.prf
以MailboxName
行的形式输入到配置文件中
[Service List]
ServiceEGS1=Exchange Global Section
Service1=Microsoft Exchange Server
...
[ServiceEGS1]
MailboxName=Foo
...
[Service1]
MailboxName=Foo
...
怎样做才能避免出现Foo
vs.Foobar
问题?换句话说:似乎“Foo”实际上被解释为正则表达式“/Foo.*/”之类的东西。如何让“Foo”真正代表“/^Foo$/”(当然,那里不能输入正则表达式)
(如果它很重要:用户名是SamAccountName
从 Active Directory 中获取的)
答案1
我知道这看起来很奇怪,但是为了避免 ANR(自动名称识别),你必须在邮箱名称前加上等号=
例如
MailboxName==Foo