1

これは、c# で実行したい powershell スクリプトです。

ForEach ($Mailbox in Get-Mailbox) {Get-ActiveSyncDeviceStatistics -Mailbox 
$Mailbox.Identity –ErrorAction SilentlyContinue | 
SelectDeviceFriendlyName,Devicetype,DeviceUserAgent | ForEach-Object { $_ | Add-Member –
MemberType NoteProperty -Name "MailboxIdentity" -value $Mailbox}}

PowerShell スクリプトで最初の foreach ループまでの C# コーディングを完了することができましたが、以下に示すコーディングと共に $mailbox 変数を使用する 2 番目の foreach を実装する方法がわかりません。

PowerShell powershell = PowerShell.Create();
PSCommand command = new PSCommand();
command.AddCommand("Get-Mailbox"); 
command.AddCommand("where-object"); 
command.AddParameter("Filterscript", ScriptBlock.Create("!$_.name.startswith   \"DiscoverySearchMailbox\")")); 
powershell.Commands = command;
powershell.Runspace = CreateRunSpace.GetRunSpace();
var result = powershell.Invoke();

 

PSCommand command1 = new PSCommand(); 
command1.AddCommand("write-output"); 
command1.AddParameter("InputObject", result); 
command1.AddCommand("Foreach-Object");
command1.AddParameter("Process", ScriptBlock.Create("Get-ActiveSyncDeviceStatistics -Mailbox $_.Identity")); 
powershell.Commands = command1;
powershell.Runspace = 
CreateRunSpace.GetRunSpace(); 
var result1 = powershell.Invoke();

get-mailbox の出力を追加しているときに、add-member の 2 番目の foreach ループでスタックしています。事前にあなたの助けと提案に感謝します. ありがとうございました。

4

0 に答える 0