2010-07-20 48 views
2

如何才能获取名称变量的返回值?Exchange管理Powershell - 如何获取Name属性的值?

RunspaceConfiguration rsConfig = RunspaceConfiguration.Create(); PSSnapInException snapInException = null; PSSnapInInfo info = rsConfig.AddPSSnapIn(“Microsoft.Exchange.Management.PowerShell.Admin”,out snapInException); Runspace myRunSpace = RunspaceFactory.CreateRunspace(rsConfig); myRunSpace.Open();

//创建管道并为其提供脚本文本 管道管道= myRunSpace.CreatePipeline();

string strScript =“Get-MailboxDatabase”;

//将命令添加到管道的Commands集合。 pipeline.Commands.AddScript(strScript)

Collection results = pipeline.Invoke();

回答

1

有几种不同的方法可以做到这一点。改变你的脚本:

string strScript = "Get-MailboxDatabase | select -expand name" 

与此,results[0].BaseObject将是一个纯字符串。或者你可以检索从PSObject Name属性包裹的邮箱数据库实例:

string name = results[0].Properties["Name"].Value 

,或者你可以从mailboxdatabase型铸造results[0].BaseObject该抓住它(对不起,我不知道是什么,实际上是)以强类型的方式键入并访问该属性。

-Oisin