Exchange 2010 メールボックスをサーバー上のファイルの場所に .pst 形式で移行するための ac# Windows フォーム アプリを作成しています。Powershell SDK (Runspace05) の例を使用して、Exchange コマンドレット (Get-Mailbox) にアクセスし、コンボ ボックスにユーザーのメールボックスを問題なく入力しました。
私が問題を抱えている部分は、New-MailboxExportRequest コマンドレット (エクスポートを実行するコマンドレット) を実行することと、そのオブジェクトを返してリストボックス コントロールに表示する機能です。私は何が欠けていますか?よろしくお願いします。
コード:
InitialSessionState iss = InitialSessionState.CreateDefault();
PSSnapInException warning;
iss.ImportPSSnapIn("Microsoft.Exchange.Management.PowerShell.E2010", out warning);
using (Runspace myrunspace = RunspaceFactory.CreateRunspace(iss))
{
myrunspace.Open();
using (PowerShell powershell = PowerShell.Create())
{
var mailbox = cmbEmailUserName.Text;
var pstFile = txtFileSaveLocation.Text;
const int badLimit = 100; //can be increased in necessary
powershell.AddCommand("Microsoft.Exchange.Management.PowerShell.E2010\\New-MailboxExportRequest");
powershell.AddParameter("Mailbox", mailbox);
powershell.AddParameter("FilePath", pstFile);
powershell.Runspace = myrunspace;
Collection<PSObject> results = powershell.Invoke();
foreach (PSObject thisResult in results)
{
lstBoxStatus.Items.Add(thisResult);
}
myrunspace.Close();
}
}