首页 > 解决方案 > 提取并保存特定的用户信息。foreach 中的引用

问题描述

我正在寻找在新域上的新 Exchange 服务器上自动创建别名的帮助。这构成了正在进行的迁移的许多步骤之一。

我想运行如下内容:

New-Mailbox -alias $Alias -name "$FullName" -database "CompanyDatabase" -org "CompanyMailboxes" -LinkedMasterAccount $UserAccount -LinkedDomainController domain.example.com -UserPrincipalName $UserEmailAddress

但是,我需要一种从现有域中提取所需变量并将它们输出到文件的方法。然后,通过 foreach 语句,递归运行上述命令。

我需要提取每个用户的:

理想情况下,我想将输出存储在一个文件中,如果需要,我以后可以使用。

然后以某种方式将上面的命令包装在 foreach 中并引用该文件。

标签: powershellemailactive-directoryexchange-serveralias

解决方案


$OLD = Get-mailbox -resultsize 10
foreach ( $NEW in $OLD ) { New-Mailbox -alias $OLD.alias -name $OLD.Name ... }

这以最简单的方式工作,你会想要更多地修改它,因为你会以这种方式接收各种邮箱。

编辑:现有属性是否与新域中的相同?

-alias $( ( $OLD.Name ).Split( " " )[-1] + ( $OLD.Name ).Split( " " )[0] )

那么您可以使用相同的命令来处理电子邮件地址吗?

$( ( $OLD.Name ).Split( " " )[-1] + ( $OLD.Name ).Split( " " )[0] + "@another.domain.com" )

推荐阅读