windows 用其它使用者運行程式

來源:互聯網
上載者:User

在配置金碟k3用戶端時,碰到個問題,如果啟用域很好處理,否則要儲存用戶端電腦和伺服器上有相當使用者且密碼要一致,用戶端只能用這個使用者登陸並啟動用戶端。這樣用起來很不方便,伺服器和每台用戶端都要加使用者。於是想了一個折中的辦法。 統一都用一個使用者k3test,伺服器上也只加這一個使用者用於k3,用戶端都建同樣的這一個使用者k3test。

使用者使用時還用平時用的使用者登陸入,當用k3時,可以用另一個用k3test 來運行k3用戶端。runas 可以實現此功能,但不方便之處就是每次在命令視窗要輸入密碼,給終端使用者帶來麻煩,也容易出錯.

有幾種方法改進:

  一.完全自已寫一個程式 通過調用 CreateProcessAsUser API 實現,不想搞得太麻煩,所以不採用。

  二.runas 可以有儲存密碼的選項,這個比較實在 (將下面代碼儲存為 .bat 檔案,第一次運行要求輸入密碼)

      #選項 /savecred 可以在第一次輸入密碼後儲存,之後就不需要再輸入密碼了
       runas /user:k3test  /savecred "C:/Program Files/Kingdee/K3ERP/K3Express/kdmain.exe"

  三.通過  指令碼 開一個 cmd 用 sendkey 送密碼 (將下面代碼儲存為 .vbs 檔案)

   '---------------------------
'用其它使用者身份運行金碟k3程式
'---------------------------
set   sh=WScript.CreateObject("WScript.Shell") 
sh.run("cmd /B")
WScript.Sleep   500     
sh.SendKeys   "runas  /user:k3test " ' 使用者名稱
WScript.Sleep   500  
sh.SendKeys   " ""C:/Program Files/Kingdee/K3ERP/K3Express/kdmain.exe"""     
WScript.Sleep  1000     
sh.SendKeys   "{enter}" 
WScript.Sleep 500     
sh.SendKeys   "1234" '密碼       
sh.SendKeys   "{enter}"    
sh.SendKeys   "exit"    
sh.SendKeys   "{enter}"

 

 

在此只是一個運用例子,看觀完全可以根據自已要求改成對其它程式的支援。

 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.