powershell - 提取并保存特定的用户信息。foreach 中的引用
问题描述
我正在寻找在新域上的新 Exchange 服务器上自动创建别名的帮助。这构成了正在进行的迁移的许多步骤之一。
我想运行如下内容:
New-Mailbox -alias $Alias -name "$FullName" -database "CompanyDatabase" -org "CompanyMailboxes" -LinkedMasterAccount $UserAccount -LinkedDomainController domain.example.com -UserPrincipalName $UserEmailAddress
但是,我需要一种从现有域中提取所需变量并将它们输出到文件的方法。然后,通过 foreach 语句,递归运行上述命令。
我需要提取每个用户的:
- 别名 (
John Doe = johnd
) - 全名
- 帐户(
johnd@domain.example.com
或john@domain.example.com
取决于创建用户的时间) - 电子邮件地址 (
johnd@another.domain.com
)
理想情况下,我想将输出存储在一个文件中,如果需要,我以后可以使用。
然后以某种方式将上面的命令包装在 foreach 中并引用该文件。
解决方案
$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" )
推荐阅读
- performance - 小的http请求更快吗?
- bash - 此 AWS CLI bash 脚本有效,但如何限制它仅删除顶级日志文件?
- ruby-on-rails - 在 Rails 中获取未定义的方法“错误”
- jpa - ValidationException、CriteriaBuilder、CriteriaUpdate、更新/合并复合 ID
- node.js - 如何通过 URL 传递 objectId?
- laravel - 在生产中运行 npm run prod 脚本时 Laravel 混合错误
- javascript - Signal R 和 AJAX 未从 API 获取更新
- algorithm - 时间复杂度低于 Strassen 算法的矩阵乘法算法
- python - 使用scrapy /清理数据从网站中提取所有文本
- javascript - 如何为客户端设置 CORS 标头