当社の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();
}
}
}
を有効にし、リモートPowerShellです[ここを参照してください](https://msdn.microsoft.com/en-us/ powershell/reference/4.0/microsoft.powershell.core/enable-psremoting)? – BastianW
ローカルマシン上で問題なくこのコードを実行できるので、有効になっていると思います。開発サーバーにコードをデプロイすると接続に失敗します。 – Matthew
あなたのリモートマシン上のコードを使用する場合、「Powershellを削除する」というメッセージは表示されません。 – BastianW