【发布时间】:2021-11-05 10:40:58
【问题描述】:
我正在编写一个脚本来提取用户列表,然后将该用户邮箱和存档列表归档到 psts 中
$Lines = Get-ADUser -Filter * -Properties EmailAddress
$Lines | select EmailAddress | Where {$_.EmailAddress -ne $null} | Out-File "C:\T2\EMailAddresses.txt"
(Get-Content "C:\T2\EMailAddresses.txt") | ForEach { $_.Trim() } | Set-Content "C:\T2\EMailAddresses.txt"
$Names = Get-Content "C:\T2\EMailAddresses.txt"
$Emails = $Names.Split("@")[0]
Add-PSSnapIn -Name Microsoft.Exchange, Microsoft.Windows.AD
$SubPath1 = "\\qnap1\archive\exchange_Migration\"
$SubPath2 = "_Primary_mailbox.pst"
$SubPath3 = "_Archive_mailbox.pst"
ForEach ($Email in $Emails) { New-MailboxExportRequest -Mailbox $Email -FilePath "$Subpath1 + $Email.Split("@")[0] + $SubPath2" ; New-MailboxExportRequest -Mailbox $Email.Split("@")[0] -FilePath "$Subpath1 + $Email + $SubPath3" -IsArchive }
我正在努力使变量正确。我想在导出请求命令中使用完整的电子邮件地址,但在导出路径中只使用电子邮件的名称部分(不是域)
【问题讨论】:
-
将
"$Subpath1 + $Email.Split("@")[0] + $SubPath2"更改为($Subpath1 + $Email.Split("@")[0] + $SubPath2)
标签: powershell exchange-server