3

ruby スクリプトから Active Directory の既存のユーザーに対して enable-mailbox コマンドを実行しようとしています。この winrm gemを使用しています。これまでのところ、winrm と kerberos 認証を使用して Exchange サーバーに接続できました。powershell から取引所管理シェルを実行できます。そこから交換コマンドを実行できます。

ただし、enable-mailbox を実行しようとすると、次のエラーが発生します。

で Active Directory の操作に失敗しました。「ドメイン\アカウント」に指定された資格情報は無効です。

「操作に失敗しました。」文字通りです。あるべきだと思われるスペースにテキストがありません。domain\account は、kerberos 経由で winrm に正常に接続するために使用しているものと同じです。

これが私の簡単なコードです:

endpoint = 'http://server:5985/wsman'
krb5_realm = 'myrealm'
winrm = WinRM::WinRMWebService.new(endpoint, :kerberos, :realm => krb5_realm)

#exch_cmd = "Get-Help Enable-Mailbox" NOTE THAT THIS COMMAND WORKS FINE
exch_cmd = "Enable-Mailbox -Identity:'user DN' -Alias:'username' -Database:'mailbox'"
command = "powershell -psconsolefile \"C:\\Program Files\\Microsoft\\Exchange Server\\V15\\bin\\exshell.psc1\" -command \". "+exch_cmd+"\""

winrm.cmd(command) do |stdout, stderr|
  STDOUT.print stdout
  STDERR.print stderr
end

助けてくれてありがとう!

4

1 に答える 1