使用C#将Windows凭据作为PSCredential传递给Powershell脚本

时间:2016-06-01 21:19:09

标签: c# wcf powershell iis

我有一个WCF服务,它执行远程PowerShell脚本并将结果返回给客户端。但是当这个WCF托管在IIS上时,我在调用行时会出现以下错误。

using (var powershell = PowerShell.Create())
            {
                var command = new PSCommand();
                command.AddCommand("New-PSSession");
                command.AddParameter("ConfigurationName", "Microsoft.Exchange");
                command.AddParameter("ConnectionUri", connectTo);
                command.AddParameter("Authentication", "Kerberos");

                powershell.Commands = command;
                powershell.Runspace = runspace;

                var result = powershell.Invoke();//Error
                psSessionConnection = result[0];
            }

处理来自远程服务器#EXCHANGESERVERNAME#的数据失败,并显示以下错误消息:[AuthZRequestId = ac0dedbe-a345-4eac-bb8d-cd5b8eab327c] [FailureCategory = AuthZ-CmdletAccessDeniedException]用户#MACHINENAME#isn'分配给任何管理角色。

我该怎么做这一行

  

command.AddParameter(" Authentication"," Kerberos");

传递用户凭据?

0 个答案:

没有答案