2017-02-27 5 views
0

私はフォーラムやオンラインで可能なすべてのソリューションを探して数日間この問題を回避してきましたが、うまくいかないようです。HTMLファイルからvbsスクリプトを開始する

私は(HTMLで)サーバ上でスクリプトを起動するには、「ボタン」にリンクしてスクリプトを呼んでいる:

​​

スクリプトコードがある:だから

<script type="text/javascript" language="javascript"> 
    function RunScript() { 
    var objShell = new ActiveXObject("WScript.Shell"); 
    objShell.Run("%comspec% /k my_projects_EN.vbs" "), 1, false; 
    } 
</script> 

なぜ私はVBを使用していますか?私がしようとしているのは、各従業員のカスタムページを作成することです。したがって、vbsは実際にコンピュータ名をチェックしており、if節は従業員をカスタムページに誘導します。プログラミングに関する私の基本的な知識と多くの時間の検索で、私はまだこれのためのよりよい解決策を見いだせなかった。だから私はこれを働かせようとしている。

これは、スクリプトをローカル(デスクトップ)で実行している場合にのみ発生します。しかし、Webページがイントラネットの場所で使用されるため、このスクリプトはサーバー上に存在します。そして、これはちょっと毛深くなりました。私は正しいコマンドの組み合わせを見つけることができないようです。私はすでに、スクリプトの場所を設定するためのマウントされたボリュームまたはcurrentDirを作成するためにpushdを試みましたが、何も完全には動作しないようです。

私は関数のサブルーチンが足りないと思っていますが、何かを追加するだけでスクリプトを停止することができます。

私が自分自身を別のプログラム言語に埋葬する必要がある場合でも、すべての助けがありがたいです(もちろん好まれません)。

私は、各従業員に(新しい従業員が働くたびに)デスクトップを置くためのスクリプトを送信する以外に、これを解決する方法があることは確かです。

おかげ

編集:私は、追加の明確化が順番にある参照してください。私たちは、従業員のためのより効率的な作業のための助けとして、イントラネットのWebページを作成している

。私たちは他の人と同じレベルにいるので、ITや管理者の権利者ではありません。 ポイントは、各従業員のために同じインターフェースを介してアクセスできる個人用ページを持つことです。だからリンクは、私はそれを助けるVBのコードを作成している理由は、別のページに各人を送信する必要があります。他のいくつかのオプションをチェックすることは、これが最も簡単で最善の方法と思われ、少なくとも部分的に機能します。すべてのクライアントコンピュータですべてのセキュリティリスクが発生するわけではありません。ファイル自体はサーバー上に配置されます。スクリプトそのものは、少なくとも私がそれを見るとは限らないというリスクはありませんが、もちろん私は専門家ではありません。

だから要するに、これは我々がやろうとしているものである:

メインページ - My_projectsボタンへ>リンク - >(メインページと同じサーバー上にある)スクリプトを起動 - >クライアントコンピュータを決定名前 - >正しいウェブページにリダイレクトします。

ご不便をおかけして申し訳ありませんが、あなたがこれらのことでプロではない場合、あなたが望むものを正確に説明することは時々困難です。

もう一度おねがいします。

答えて

0

これらのコンピュータが職場に物理的に配置されており、システムを制御できる場合は、それらのコンピュータでDNSリダイレクトを調整する方がよいでしょう。さもなければ、より一般的でOSに依存しないソリューションは、従業員のコンピュータ上のセッション、クッキー、またはトークンになります。それでも、1台のマシンを持っている以外の何らかの認証は、(PCが1000フィートの地下にある場合を除いて)より汎用性と安全性があります.-))。

編集:どのような情報/データがサーバースクリプトに送信されますか?サーバースクリプトはサーバー上で実行され、「このコンピューター」(例:名前)に関連するものはすべて実際にサーバー自体を参照しています。したがって、スクリプトはクライアントからコンピュータを認識するために何らかのデータを必要とします。クライアントコンピュータでのみ、たとえば、\サーバー\フォルダ\フォルダにあるページまたはインタフェースを実行するよう努力

すべてのための

0

おかげでは、実際にはサーバー上に位置しています。 ブラウザでは、このスクリプト(同じサーバー上にあります)へのリンクを含むボタンが含まれている開始ページを開きます。

スクリプトはコンピュータ名を検索し、彼の個人的なページにユーザーを送る実行:

Set wshShell = CreateObject("WScript.Shell") 
strComputerName = wshShell.ExpandEnvironmentStrings("%COMPUTERNAME%") 

On Error Resume Next 

「#01 name_surname strComputerName = "XXXXXXXX" なら、

のCreateObject( "のWScript 。シェル ")。" "name_surname.html" ""

などを実行してください。

これがすべてです。前述のとおり、クライアントコンピュータ上の何かを変更する管理者権限はありません。そのため、サーバー上にあるスクリプトを実行する以外のクライアント側では何も行われていません。

関連する問題