ユーザーの Exchange メールボックスを .pst ファイルに移行するために設定しているスクリプトがあります。ユーザーの名前を入れることができる CSV ファイルを用意し、スクリプトが毎晩開始されると、CSV ファイルを開き、追加されたユーザーを見つけ、それらのユーザー アカウントに対して要求されたアクションを実行するという考えでした (エクスポート、セットのアクセス許可などを移動し、CSV ファイルに書き戻して、それらのユーザーを完了としてマークし、完了した日付を書き込みます。これが私がこれまでに持っているものです。
$InPstPath = '\\server1\PST_Store\'
$OutPstPath = '\\server2\PST_Store\'
$User = Get-Content $OutPstPath'login.txt'
$PWord = cat $OutPstPath'pass.txt' | convertto-securestring
$Credentials = New-Object –TypeName System.Management.Automation.PSCredential –ArgumentList $User, $PWord
$PSSession = New-PSSession -ConfigurationName Microsoft.Exchange -ConnectionUri http://Server1/powershell -Credential $Credentials
Import-PSSession $PSSession
$In_List = Invoke-Command {Import-Csv "\\Server1\PST_Store\Admin\To_Be_Exported.csv"} -computername Server1 -Credential $Credentials
foreach ($objUser in $In_List) {
if ($objUser.Completed -ne "Yes") {
$TargetUser = $objUser.name
$ShortDate = (Get-Date).toshortdatestring()
New-MailboxExportRequest -Mailbox $TargetUser -Filepath "$InPstPath$TargetUser.pst"
$objUser.Completed = "Yes"
$objUser.Date = $ShortDate
}
}
Remove-PSSession -Session (Get-PSSession)
$objUser.Completed と $objUser.Date の値を CSV に書き戻す適切な方法がわかりません。