質問: microsoft lyncでimを受信するたびにトリガーするスクリプトを作成することはできますか? lync 2013にアップグレードしたばかりで、pidgin + sipeの代わりに使用することを検討しています。 pidginの多くの素晴らしい機能の1つは、growlの統合です...そして私はそれを見逃します。lync用のgrowlプラグインはなく、作業中もありませんが、実際には必要ありません...シェルスクリプトからgrowl通知を発行する方法をすでに発見しました。必要なのは、lyncへのフックだけです。 batファイル(またはおそらくpowershell)を起動します。これをジガーしたり、黙認したりする方法はありますか?microsoft lync sdkのドキュメントでは、可能性がある可能性があるように見えますが、私には意味不明のように聞こえます。誰かが私が始めるのを手伝ってくれるか、少なくとも可能性としてスクリプトを除外することはできますか?
回答: lync sdkがインストールされている場合(特にmicrosoft.lync.model.dllと呼ばれるdll)、powershellスクリプトはlyncイベントにフックできます。次のようなステートメントでインポートします。import-module "c:\program files (x86)\microsoft lync\sdk\assemblies\desktop\microsoft.lync.model.dll" 次に、次のようなクライアントオブジェクトを取得します。$client = [microsoft.lync.model.lyncclient]::getclient() 最後に、行動したいイベントにフックする必要があります。$i = 0 # for each conversation foreach ($con in $client.conversationmanager.conversations) { # for each participant in the conversation $con.participants | where { !$_.isself } | foreach { register-objectevent -inputobject $_.modalities[1] -eventname "instantmessagereceived" -sourceidentifier "person $i" -action { newinstantmessage } $i++ } } 各会話オブジェクト(imウィンドウ/タブを開く)には少なくとも2人(場合によっては)以上の参加者がいます。上記のコードは、これらの会話のそれぞれとその中の各参加者をチェックしますが、「あなた」(isself)である参加者を無視します。このコードは、誰かがあなたにメッセージを送信するたびに、newinstantmessage関数を起動します。最も重要なことは、powershellスクリプトが終了しないようにするために、powershellスクリプトの最後に何かが必要ですが、(1){}で十分です。最後に、conversationaddedイベントをフックして、その中に新しいinstantmessagereceivedイベントを登録することもできます。それ以外の場合は、既存の会話に対してのみ機能します。方法や理由に興味がない人のために、近い将来、スクリプトを公開する予定です。 growl forwindowsのwebサイトを確認してください。