2005年2月24日

如何在批次檔裡使用 Runas 同時傳入密碼

因為 runas 無法透過導向(redirect)的方式傳遞 runas 該程式的使用者密碼,此時需使用 SU.exe (Switch User) 這個工具,它在 Windows 2000 Server/Pro 的 Resource Kit 裡面。
安裝完該工具之後,可以透過下面的兩個方法,輸入密碼:

方法 1:
su.exe alex alex.exe Winsta0\Default < c:\mypassword.txt

其中:
alex 是使用者帳號
alex.exe 是要執行的程式
mypassword.txt 是存放密碼的檔案
Winsta0\Default 是使用者預設互動的工作站與桌面(user default interactive windowstation and desktop),這個選項是 optional 的。

方法 2:
echo mypassword su alex alex.exe

其中:
mypassword 是 alex 這個使用者的密碼的
alex 是使用者帳號
alex.exe 是要執行的程式

方法 3:
根據您的需要設定下面的環境變數:
SU_USERNAME - 要使用 SU 的使用者帳號
SU_PASSWORD - 該使用者的密碼
SU_DOMAIN - 使用者所屬的網域
SU_COMMANDLINE - 所要執行的程式
SU_DESKTOP - 使用者的預設互動的工作站與桌面環境

例如在批次檔的內容為:
---批次檔開始---
set SU_USERNAME=alex
set SU_COMMANDLINE=alex.exe
set SU_DOMAIN=win2k
set SU_PASSWORD=password
su.exe
---批次檔結束---

方法 4: 直接執行 su.exe ,在 GUI 介面設定相關的資訊

註:
su.exe 包含了 runas.exe 大部分的功能,詳細的說明,請參照 Resource Kit Tools 的說明。

3 則留言:

  1. 請問我在2000Server & Pro裡並沒有找到su.exe檔案,請問該檔案是在哪個資料夾下

    回覆刪除
  2. 您好,原文有提到:
    它在 Windows 2000 Server/Pro 的 Resource Kit 裡面。
    請造訪微軟的網站,以便獲得更多的資訊。

    回覆刪除
  3. 請問我照方法三的方式撰寫一個批次檔,我將要執行的執行檔放在與批次檔同一個目錄,但登入之後沒反應,請問執行檔的路徑是否有錯

    回覆刪除