【发布时间】:2015-05-04 20:36:06
【问题描述】:
我正在尝试将 PrimarySMTPAddress 返回到一个变量,在 Powershell 中我运行的代码是这样的:
Get-Mailbox -identity UserName | select PrimarySMTPAddress
它返回正确的值,我想在我的 C# 代码中得到它,我做了以下操作:
string getPrimarySMTP = "Get-Mailbox -identity " + username + "| select PrimarySMTPAddress";
var runSpace = RunspaceFactory.CreateRunspace(Utility.CreateConnectionInfo());
runSpace.Open();
var pipeline = runSpace.CreatePipeline();
pipeline.Commands.AddScript(getPrimarySMTP);
var primarySmtp = pipeline.Invoke();
runSpace.Dispose();
我希望这会返回相同的数据,但事实并非如此。我只是得到一个例外:
“select”一词未被识别为 cmdlet、函数的名称, 脚本文件或可运行的程序。检查名称的拼写,或 如果包含路径,请验证路径是否正确并重试。
这是从 powershell 命令返回值的方式吗?
【问题讨论】:
-
我对 C# 几乎一无所知,但
Select-Object可以代替它吗?也许它确实不知道别名 -
@JStellato 这个问题怎么样了?任何一个答案都有帮助吗?
标签: c# powershell exchange-server