如何才能获得名称变量的返回值?
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();
//创建管道并将其提供给脚本文本 Pipeline pipeline = myRunSpace.CreatePipeline();
string strScript =“Get-MailboxDatabase”;
//将命令添加到管道的Commands集合中。 pipeline.Commands.AddScript(strScript)
收集结果= pipeline.Invoke();
答案 0 :(得分:1)
有几种不同的方法可以做到这一点。改变你的剧本:
string strScript = "Get-MailboxDatabase | select -expand name"
这样,results[0].BaseObject
将是一个纯字符串。或者,您可以从包装邮箱数据库实例的PSObject中检索Name属性:
string name = results[0].Properties["Name"].Value
或者您可以通过将results[0].BaseObject
强制转换为此类型并以强类型方式访问该属性,从邮箱数据库中获取它(抱歉,我不知道实际上是什么)。
-Oisin