2017-02-27 96 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> 

所以爲什麼我使用vbs?我想要做的是爲每個員工創建自定義頁面。所以vbs實際上是檢查計算機名稱,並且if子句將員工指向自定義頁面。有了編程的基本知識和大量的搜索時間,我還沒有找到更好的解決方案。所以我試圖讓這個工作。

但它只有當我在本地運行腳本(桌面)。但是,由於該網頁將用於Intranet位置,因此該腳本將位於服務器上。這就是它變得有點多毛,因爲我似乎無法找到正確的命令組合。我已經嘗試過創建一個掛載音量或currentDir來設置腳本的位置,但似乎沒有任何工作完全。

我認爲我錯過了函數的子程序,因爲添加任何東西只會停止腳本 - 但如何去做它超出了我。

即使這意味着我必須將自己埋入另一種程序語言(當然不是首選),所有的幫助都會受到讚賞。

我確定有一種方法可以解決這個問題,而不是發送一個腳本給每個員工放在桌面上(每次新員工開始工作時)。

感謝

編輯:我看到一個額外的澄清是爲了:

我們正在創建一個內聯網網頁爲我們的員工更高效的工作幫助。我們和其他人一樣,不是IT或管理員權利人,所以我們是獨立的。 關鍵是要爲每個員工提供一個可以通過相同界面訪問的個人頁面。所以一個鏈接必須將每個人發送到另一個頁面,這就是爲什麼我創建了vbs代碼的原因。檢查其他幾個選項似乎是最簡單和最好的選擇 - 它至少部分起作用。我沒有看到任何安全風險,因爲所有的操作都將在每臺客戶端計算機上完成 - 文件本身將位於服務器上。劇本本身並不代表任何風險,至少我不會看到它 - 但我當然不是專家。

因此,在短期這就是我們現在要做的:

首頁 - >鏈接My_projects按鈕 - >啓動腳本(位於同一服務器作爲主網頁) - >確定客戶端計算機名稱 - >重定向到正確的網頁。

對不起,由於缺乏細節,我發現如果你不是這些東西的專家,有時很難解釋你想要的東西。

再次感謝。

回答

0

如果這些計算機位於您的工作場所並且您擁有對系統的控制權,那麼最好調整這些計算機上的DNS重定向。否則,更一般和獨立於操作系統的解決方案將是員工計算機上的會話,cookie或令牌。儘管如此,除了擁有一臺機器之外,某種認證可能更加靈活和安全(除非您的PC在地下1000英尺:-))。

編輯:什麼樣的信息/數據發送到服務器腳本?服務器腳本在服務器上運行,與「這臺計算機」(例如名稱)相關的所有內容實際上都是指服務器本身。因此,該腳本需要來自客戶端的一些數據來識別他的計算機。

0

感謝努力

一切實際所在的服務器上,以便在客戶端計算機只能運行在網頁或接口這是在\服務器\文件夾\文件夾例如。 在您的瀏覽器中,您打開包含一個帶有指向該腳本鏈接的按鈕(位於同一臺服務器上)的起始頁面。

當腳本執行它會搜索計算機名稱和用戶發送到他的個人網頁:

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

On Error Resume Next 

「#01 name_surname 如果strComputerName = 「XXXXXXXX」 然後

的CreateObject(「WScript的.Shell「)。運行」「」name_surname.html「」「

等等。

這就是全部。如前所述,我們沒有管理員權限來更改客戶端計算機上的任何內容。因此,除了執行位於服務器上的腳本之外,客戶端還沒有做任何事情。

相關問題