0
C#을 통해 원격으로 Exchange 서버에 명령을 보내려고합니다. PowerShell을 통해 직접이 작업을 수행하면 작동합니다. 그러나 C#을 통해 PowerShell에 명령을 내리면 실패합니다. 여기 Exchange에 대한 원격 실행 공간 연결이 실패합니다.
$Session = New-PSSession -ConfigurationName Microsoft.Exchange -ConnectionUri http://ExchangeFQDN/PowerShell/ -Authentication Kerberos
Import-PSSession $Session
Enable-Mailbox -Identity "SomeIdentity" -Shared
는 C#을 (작동하지 않습니다) :
var connectionInfo = new WSManConnectionInfo(
new Uri("http://ExchangeFQDN/PowerShell/"),
"http://schemas.microsoft.com/powershell/Microsoft.Exchange",
new PSCredential(username, password));
connectionInfo.AuthenticationMechanism = AuthenticationMechanism.Kerberos;
//Next line throws a PSInvalidOperationException
using (var runspace = RunspaceFactory.CreateRunspace(connectionInfo)) //<- fails
{
//Execute Enable-Mailbox command
}
내가 가진 특정 사용자가 여기에
내가 (작동) PowerShell에서 뭘하는지입니다 이 원격 로그인 권한. PowerShell은이 사용자로 실행되며 사용자는 C# 코드로 가장합니다. 또한 PSCredential으로 전달되는이 사용자의 사용자 이름과 비밀번호이기도합니다.
무엇이 잘못 되었습니까?