Docsvisionの主要なクライアントソフトウェアはNavigatorであり、Remote Appとして公開できます。 これにはさまざまな理由が考えられます。たとえば、リモートユニットからDocsvisionサーバーへの弱いチャネルなどです。 曇り、ユーザーにとって高速、管理者にとって便利。 しかし、上記のタスクの場合、ユーザーがコンピューターにローカルにインストールしたメールクライアントから「カード」へのリンクを開く必要がある場合はどうなりますか。
そのようなデフォルト設定で何が起こるかを少し説明しましょう。 ユーザーはDocsvisionオブジェクトへのリンクが記載された電子メールを受信し、それを追跡しようとします。ローカルにインストールされたブラウザーを開いており、...ここで問題が始まります。 Docsvisionサーバーが利用できないため、リンクは開きません。 ユーザーはinし、アプリケーションをITサービスに落書きします。 最近、「この問題を解決する方法」という質問がシステム管理者から頻繁に聞かれています。
私たちの決定の本質は次のとおりです
Docsvisionのオブジェクトへのリンクは、特定の形式で形成されます。 このリンクがクライアントコンピューターで呼び出されると、RemoteAppを開くスクリプトが起動され、RemoteAppの既定のブラウザーで開かれるDocsvisionオブジェクトへの標準リンクに変換されます。 したがって、リモートデスクトップでDocsvision Navigatorを実行します。
もちろん、このソリューションが唯一の正しいソリューションであると主張しているわけではありませんが、4,000を超えるアクティブユーザーがいるソリューションで使用されていることは確かです。
段階的な指示の形で共有します。
段階的なセットアップ
1.コンテンツを含むVBSスクリプトを作成します。
On Error Resume Next Dim WshShell Set WshShell = CreateObject("WScript.Shell") Dim regEx if WScript.Arguments.count >0 then Arg = WScript.Arguments.Item(0) Set regEx = New RegExp regEx.Pattern = "^dv5term://(.*)" regEx.IgnoreCase = True arg = regEx.Replace(arg, "$1") WshShell.Run "http://" & arg end if
2.作成したVBSスクリプトを、たとえば「docsvision5-link」という名前で、サーバー上のRemoteAppとして公開します。
RemoteAppマネージャーに移動し、「リモートプログラムの追加」を選択します。

開いた「RemoteAppウィザード」で、指示に従って、VBSスクリプトを公開します





3.公開されたアプリケーションに、すべてのコマンドラインコマンドを実行するための「docsvision5-link」権限を付与します。


4. Remote App Wizardでdocsvision5-linkアプリケーションのRDPファイルを作成します(RDPファイルの例はdv5link.rdpです)。




5.意識的なRdpファイルをクライアントワークステーションに配布します。
6.クライアントコンピューターで、次のエントリを含む.reg拡張子のファイルを使用して、dv5termレジストリブランチを作成します。
Windows Registry Editor Version 5.00 [HKEY_CLASSES_ROOT\dv5term] @="URL:dv5term Protocol" "URL Protocol"="" [HKEY_CLASSES_ROOT\dv5term\shell] @="" [HKEY_CLASSES_ROOT\dv5term\shell\open] @="" [HKEY_CLASSES_ROOT\dv5term\shell\open\command] @="\"mstsc\" /remotecmdline:\"%1\" \"\\\\serverRDP\\DocsVision\\dv5link.rdp\""
7.サーバーによって形成されるリンクの形成を、dv5termの形式のカードに変更します://server.docsvision.com/DocsVision/?CardID = {1007DDE2-76E0-E511-80CA-A0D3C1063571}
これらの設定で何が起こるか:
ユーザーがリンクをクリックします。
dv5term://serverRDP.docsvision.com/DocsVision/?CardID = {1007DDE2-76E0-E511-80CA-A0D3C1063571}

レジストリに関連付けられているコマンドが実行されます。
"mstsc" /remotecmdline:"%1" "\\serverRDP.docsvision.com\DocsVision\dv5link.rdp"
つまり \\ serverRDP.docsvision.com \ DocsVision \ dv5link.rdpとパラメーターが完全なURLとして渡される

同じパラメーターを持つスクリプトが呼び出されます:
\\ serverRDP.docsvision.com \ C $ \ script \ ie5.vbs%1

このスクリプト:
On Error Resume Next Dim WshShell Set WshShell = CreateObject("WScript.Shell") Dim regEx if WScript.Arguments.count >0 then Arg = WScript.Arguments.Item(0) Set regEx = New RegExp regEx.Pattern = "^dv5term://(.*)" regEx.IgnoreCase = True arg = regEx.Replace(arg, "$1") WshShell.Run "http://" & arg end if

パラメータを変換します:
dv5term://serverRDP.docsvision.com/DocsVision/?CardID = {1007DDE2-76E0-E511-80CA-A0D3C1063571}
で
serverRDP.docsvision.com/DocsVision/?CardID= {1007DDE2-76E0-E511-80CA-A0D3C1063571}
通常の交換と呼び出し
Set WshShell = CreateObject("WScript.Shell") WshShell.Run http://serverRDP.docsvision.com/DocsVision/?CardID={1007DDE2-76E0-E511-80CA-A0D3C1063571}
つまり システムの標準的な方法でコマンドを実行しようとします。または、デフォルトでブラウザを使用して、ターミナルサーバーでserverRDP.docsvision.com/DocsVision/?CardID= {1007DDE2-76E0-E511-80CA-A0D3C1063571}リンクを開こうとします。
繰り返しますが、この決定が唯一の正しい決定であるとは主張していません。 おそらく、この問題に対する他の解決策がいくつかありますか?
喜んで共有します!
Kirks Khokhlov、DoksVisionシニアコンサルタント。