Exchange 서버에 대해 원격 PowerShell 명령을 실행하려고하지만 해당 명령이 개발 서버에서 실행될 때 Access Is Denied
오류가 발생합니다. 로컬 컴퓨터에서 코드를 실행하면 코드가 제대로 작동하므로 개발 서버와 원격으로 PowerShell 명령을 실행하고 연결을 완벽하게 할 수 있습니다. 개발 서버에서 코드를 실행할 때 Access Is Denied
오류가 발생하는 이유를 파악하는 데 도움이 필요합니다.원격 PowerShell을 실행하면서 액세스가 거부되었지만 dev 서버에서 실행되었을 때만 문제가 발생합니다.
public static void CreateEmailBox(string samAccountName)
{
var securedPassword = new SecureString();
foreach (char character in ConfigurationManager.AppSettings["ServiceAccountPassword"]) { securedPassword.AppendChar(character); }
var loginInfo = new PSCredential(ConfigurationManager.AppSettings["ServiceAccountUser"], securedPassword);
var connection = new WSManConnectionInfo(new Uri("http://exch-svr.domain.local/powershell"), "http://schemas.microsoft.com/powershell/Microsoft.Exchange", loginInfo);
connection.AuthenticationMechanism = AuthenticationMechanism.Kerberos;
using (var runspace = RunspaceFactory.CreateRunspace(connection))
{
using (var powershell = PowerShell.Create())
{
powershell.AddCommand("enable-mailbox");
powershell.AddParameter("Identity", samAccountName);
powershell.AddParameter("Database", "Mailbox Database 4");
runspace.Open();
powershell.Runspace = runspace;
powershell.Invoke();
runspace.Close();
}
}
}
는 https://msdn.microsoft.com/en-us/ 활성화 원격 PowerShell을 [여기를 참조] (인가 powershell/reference/4.0/microsoft.powershell.core/enable-psremoting)? – BastianW
로컬 컴퓨터에서이 코드를 아무런 문제없이 실행할 수 있으므로 사용할 수 있다고 생각합니다. 개발 서버에 코드를 배포 할 때만 연결에 실패합니다. – Matthew
그러나 원격 컴퓨터에서 코드를 사용하는 경우 "Powershell 제거"가 없거나 설정을 이해할 수 없습니다. – BastianW