2

我正在尝试通过 WcfService 配置我的 LyncServer,该 WcfService 本身执行 PowerShell 远程处理以在 Lync 计算机上运行 Cmdlet。我成功导入了 Lync 模块,但是当我尝试调用 Lync cmdlet(例如 Get-CsUser)时,我在 powershell.Streams.Error 中收到错误消息:

在域“my.test.domain”中搜索域控制器时出现 Active Directory 错误“-2147016672”:“发生操作错误。”

这就是我创建运行空间的方式:

PSCredential psCred = new PSCredential(this.Credentials.Domain + "\\" + this.Credentials.UserName, this.Credentials.SecurePassword);
WSManConnectionInfo wsman = new WSManConnectionInfo(uri, c_powerShellShema, psCred);
wsman.AuthenticationMechanism = AuthenticationMechanism.Default;
//wsman.AuthenticationMechanism = AuthenticationMechanism.Kerberos;
//wsman.ProxyAuthentication = AuthenticationMechanism.Negotiate;      

Runspace retval = RunspaceFactory.CreateRunspace();//wsman);
retval.Open();

我的powershell调用

PowerShell powerShell = PowerShell.Create();
powerShell.Runspace = this.Runspace;
powerShell.AddScript("Import-Module Lync");
powerShell.Invoke();
powerShell.Streams.ClearStreams();
powerShell.AddScript("Get-CsUser);
powerShell.Commands.AddCommand("Out-String");

var retval = powerShell.Invoke();
foreach (var o in retval)
    Console.WriteLine(o.ToString());

foreach (var e in powerShell.Streams.Error)
    Console.WriteLine(e.ToString());

任何的想法?运行空间中使用的用户与我过去通过 lync 管理控制台进行所有 lync 配置的用户相同,因此他拥有所需的所有访问权限。

4

3 回答 3

1

您没有使用 ASP.NET,但也许如何在 ASP.NET 中使用 System.DirectoryServices 命名空间可以解释您的问题。

您当然知道,但是当您遇到像 -2147016672 这样的错误时,请将其转换为 hexa (0x80072020) 并在 Google 上搜索 Micosoft 技术名称和 Hexa 代码“Active-Directory 0x 80072020”以获得有关该问题的在线帮助。

于 2011-05-27T16:29:01.460 回答
1

我终于在这里找到了答案:Powershell v2 远程处理和委托。所以我打电话Enable-PsRemoting给服务器,我工作正常。

于 2011-07-13T14:55:25.213 回答
1

您正在使用默认身份验证

wsman.AuthenticationMechanism = AuthenticationMechanism.Default;

当任何 lync/skype for business 命令(例如 Get-CsUser 或 Enable-CsUser 或 Disable-CsUser)从您的服务器连接域控制器时。

因此,在连接到 DC 时,呼叫不会指定用户的凭据,因为您提供的凭据仅用于目标(Skype 服务器)而不是 DC。

因此,只要涉及多个跃点,您就必须使用 CredSSP,因为 CredSSP 告诉在连接到下一个跃点时使用相同的凭据。

你可以参考这篇文章,它解释得比我可能有的更好。:p

https://sysnetdevops.com/2016/09/16/skype-for-business-server-and-powershell-remoting/

于 2019-12-17T08:21:56.590 回答