【发布时间】:2012-11-27 05:17:49
【问题描述】:
我正在尝试使用 C# 中的 System.Automation dll 运行 Exchange cmdlet。
在http://technet.microsoft.com/en-us/library/dd315325.aspx中,他们说为了转义单引号,我们基本上需要附加一个单引号
例如,
[PS] C:\Windows\system32>Write-Host 'Live and let le''arn'
Live and let le'arn
但是,当我尝试用我的 cmdlet 做同样的事情时,
New-Mailbox -Name 'user1.''.cn'
新邮箱实际创建的名称为user.''.cn。我们希望它成为用户。'.cn 执行此 cmdlet 的代码如下:
AutomatedRunspace.Command command = new AutomatedRunspace.Command(cmdlet.Command);
foreach (CmdletParameter param in cmdlet.GetParameters())
{
command.Parameters.Add(param.Name, param.Value);
}
pipeline.Commands.Add(command);
我们可以做些什么来正确地逃避它吗?
【问题讨论】:
标签: c# powershell escaping exchange-server powershell-cmdlet