2017-02-27 3 views
0

나는 포럼과 온라인에서 가능한 모든 해결책을 찾고 며칠 동안이 문제를 해결하기 위해 머리를 감쌌지만 작동시키지 못했습니다.HTML 파일에서 vbs 스크립트 시작하기

<a href="#" onClick="RunScript();"> 

스크립트 코드는 다음과 같습니다 : 그래서

<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> 

나는 (HTML에서) 서버에 스크립트를 시작하는 "버튼"에 링크하여 스크립트를 호출하는거야 왜 내가 VB를 사용하고 있습니까? 내가하려는 것은 각 직원에 대한 사용자 정의 페이지를 만드는 것입니다. 따라서 vbs는 실제로 컴퓨터 이름을 검사하고 if 절은 직원을 사용자 지정 페이지로 안내합니다. 프로그래밍에 대한 기본적인 지식과 많은 검색 시간으로 나는 아직 더 나은 해결책을 찾지 못했습니다. 그래서 나는 이것을 작동 시키려고 노력하고 있습니다.

그리고 스크립트를 로컬 (데스크톱)에서 실행하는 경우에만 발생합니다. 그러나 웹 페이지가 인트라넷 위치에서 사용될 때이 스크립트는 서버에 있습니다. 그리고 이것은 내가 그렇게 명령의 올바른 조합을 찾을 수없는 것처럼 약간 털이되었다. 나는 이미 스크립트의 위치를 ​​설정하기 위해 마운트 된 볼륨이나 currentDir을 생성하기 위해 pushd를 시도했지만 아무 것도 완벽하게 작동하지는 않는다.

함수에 대한 서브 루틴이 없다고 가정합니다. 스크립트를 추가하는 기능을 추가했기 때문에 함수에 대한 서브 루틴이 없습니다.

다른 프로그램 언어에 자신을 매몰시켜야한다는 것을 의미하는 경우에도 도움이됩니다.

각 직원에게 자신의 데스크톱을 배치하기위한 스크립트를 보내는 것 (신입 사원이 출근 할 때마다)을 해결하는 방법이 있다는 것을 확신합니다.

감사

편집 : 나는 추가 설명이 순서에 참조 : 우리는 우리의 직원들에게보다 효율적인 작업을위한 도움말로 인트라넷 웹 페이지를 만드는

. 우리는 나머지 사람들과 같은 수준에 있으므로 IT 나 관리자 권한이 없으므로 우리 스스로 할 수 있습니다. 요점은 동일한 인터페이스를 통해 액세스 할 수있는 각 직원에 대한 개인 페이지를 갖는 것입니다. 따라서 링크는 각 사람을 다른 페이지로 보내야합니다. 그래서 나는 그 사람을 돕는 vbs 코드를 만들었습니다. 다른 옵션을 확인하는 것이 가장 간단하고 최상의 방법 인 것 같았습니다. 적어도 부분적으로는 작동합니다. 모든 클라이언트 컴퓨터에서 모든 작업이 수행되므로 보안 위험은 없습니다. 파일 자체가 서버에 저장됩니다. 스크립트 자체는 적어도 내가보기에는 위험하지 않다. 물론 전문가는 아니다. > My_projects 버튼에 링크 - -> 스크립트 (메인 페이지와 같은 서버에있는) 시작 -> 클라이언트 컴퓨터를 결정

메인 페이지 :

그래서 짧은이 우리가 뭘 하려는지입니다 이름 -> 올바른 웹 페이지로 리디렉션하십시오.

죄송합니다. 세부 정보가 부족하여 귀하가 이러한 일에 프로가 아닌 경우 원하는 것을 정확하게 설명하기가 어렵습니다.

다시 한번 감사드립니다.

답변

0

해당 컴퓨터가 실제로 작업장에 있고 시스템을 제어 할 수 있다면 해당 컴퓨터의 DNS 리디렉션을 조정하는 것이 좋습니다. 그렇지 않으면,보다 일반적이고 OS 독립적 인 솔루션은 직원의 컴퓨터에서 세션, 쿠키 또는 토큰이됩니다. 그럼에도 불구하고, 한 대의 기계를 가지고있는 것 이외의 일종의 인증은 (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 "" "

등을 실행하십시오.

그리고 이것이 전부입니다. 앞에서 언급했듯이 클라이언트 컴퓨터에서 아무 것도 변경할 수있는 관리자 권한이 없습니다. 따라서 서버에있는 스크립트를 실행하는 것 외에는 클라이언트 측에서 수행되는 작업은 없습니다.