24h購物| | PChome| 登入
2007-11-16 00:02:32 | 人氣1,395| 回應0 | 上一篇 | 下一篇
推薦 0 收藏 0 轉貼0 訂閱站台

SCRIPT . RUNAS

Windows下如何以不同的使用者權限來執行程式呢? 

 

解決方案1:

Shell 呼叫 RunAS 登錄權限後下命令 ..

OS NT , Win2K , XP Win2003 都具有 RunAS 命令

Runas 可讓使用者用與此使用者目前登入所提供的不同使用權限,來執行特定的工具及程式。

runas 可讓系統管理員使用有限權限的帳戶來執行一般、非系統管理工作,

而只有在執行特定的系統管理工作時才使用使用權限較寬的帳戶。

若要完成工作,而又不想登出再重新登入,可用一般使用者帳戶登入,

並使用 runas 指令來執行需要使用權限較寬的工作。

 

runas [/profile] [/env] [/netonly] /user:UserAccountName program

 

參數

        /profile 指定使用者設定檔的名稱 (如果需要載入它)

        /env 指定使用目前的網路環境,而非使用者本機環境。

        /netonly 指出所指定的使用者資訊僅供遠端存取使用。

        /user:UserAccountName 指定用來執行程式的使用者帳戶名稱。

                        使用者帳戶格式應為 user@domain domain\user

       

        program 指定使用 /user 中所指定之帳戶來執行的程式或指令

 

 

================================================================

 

 

解決方案2:

呼叫以下 API 來登錄使用者權限並執行程式 (建立行程)

Private Declare Function CreateProcessWithLogon Lib "Advapi32" _

        Alias "CreateProcessWithLogonW" _

        (ByVal lpUsername As Long, _

        ByVal lpDomain As Long, _

        ByVal lpPassword As Long, _

        ByVal dwLogonFlags As Long, _

        ByVal lpApplicationName As Long, _

        ByVal lpCommandLine As Long, _

        ByVal dwCreationFlags As Long, _

        ByVal lpEnvironment As Long, _

        ByVal lpCurrentDirectory As Long, _

        lpStartupInfo As STARTUPINFO, _

        lpProcessInfo As PROCESS_INFORMATION) As Long  

 

 

 

 

 

 

 

 

================================================================

 

 

 

 

Runas

可讓使用者用與此使用者目前登入所提供的不同使用權限,來執行特定的工具及程式。

Syntax

runas [{/profile | /noprofile}] [/env] [/netonly] [/savedcreds] [/smartcard] [/showtrustlevels] [/trustlevel] /user:UserAccountName "ProgramName PathToProgramFile"

Parameters

/profile

載入使用者的設定檔。/profile 為預設值。

/no profile

指定不要載入使用者的設定檔。這樣允許更快載入應用程式,但是也會使部份應用程式運作失常。

/env

指定使用目前的網路環境,而非使用者本機環境。

/netonly

指出所指定的使用者資訊僅供遠端存取使用。

/savedcreds

指出此使用者是否已在先前儲存認證。

/smartcard

指示是否從智慧卡提供認證。

/showtrustlevels

列出 /trustlevel 選項。

/trustlevel

指定執行應用程式的授權層級。使用 /showtrustlevels,以查看可用的信任等級。

/user:UserAccountName"ProgramName PathToProgramFile"

指定用來執行程式的使用者帳戶名稱、程式名稱及程式檔的路徑。使用者帳戶格式應該是 User@DomainDomain\UserName

/?

在命令提示字元中顯示說明。

Remarks

這是一個極好的練習,可讓系統管理員使用使用權限有限的帳戶來執行一般、非系統管理工作,而只有在執行特定的系統管理工作時才使用使用權限較寬的帳戶。若要完成這個工作,而不想登出又重新登入,請用一般使用者帳戶登入,並使用 runas 命令來執行需要較廣泛使用權限的工具。

如需使用 runas 命令的相關範例,請參閱<相關主題>。

雖然通常都是系統管理員帳戶才能使用 runas ,但其實不受此限制。任何擁有多重帳戶的使用者都可使用 runas 來執行程式、MMC 主控台或具有不同憑證的 [控制台] 項目。

如果要在電腦上使用 Administrator 帳戶,若為 /user: 參數,請輸入下列其中一項:

/user:AdministratorAccountName@ComputerName

/user:ComputerName\AdministratorAccountName

若要使用此命令作為網域系統管理員,請輸入下列其中一項:

/user:AdministratorAccountName@DomainName

/user:DomainName\AdministratorAccountName

runas 命令可讓您執行程式 (*.exe)、儲存的 MMC 主控台 (*.msc)、程式及儲存之 MMC 主控台的捷徑以及 [控制台] 項目。以其他群組的成員身份 (如 Users 或 PowerUsers) 登入電腦時,仍可用系統管理員身份來執行它們。

runas 命令可用來啟動任何程式、MMC 主控台或 [控制台] 項目。只要提供適當的使用者帳戶及密碼資訊、使用者帳戶就有權登入電腦,而且在系統上及使用者帳戶都可存取程式、MMC 主控台或 [控制台] 項目。

runas 命令可讓您管理另一個樹系中的伺服器 (執行工具的電腦及您所管理但位於不同網域中的伺服器)。

如果您嘗試使用 runas 從網路位置啟動程式、MMC 主控台或 [控制台] 項目,可能會失敗,因為用來連線到共用網路資源的認證與用來啟動程式的認證不同。後面的認證可能無法存取相同的共用網路資源。

部份項目 (如 [印表機] 資料夾及桌面項目) 都是由系統間接開啟,所以這些項目無法用 runas 命令啟動。

如果 runas 命令失敗,則可能是 [Secondary Logon] 服務未執行,或所使用的使用者帳戶無效。若要檢查 [Secondary Logon] 服務的狀態,請在 [電腦管理] 中,依序按一下 [服務及應用程式] 及 [服務]。若要測試使用者帳戶,請嘗試使用帳戶登入適當的網域。

Examples

若要在本機電腦上以系統管理員身份啟動命令提示字元例項,請輸入:

runas /user:localmachinename\administrator cmd

提示時,請輸入系統管理員密碼。

若要使用稱為 companydomain\domainadmin 的網域系統管理員帳戶來啟動 [電腦管理] 嵌入式管理單元例項,請輸入:

runas /user:companydomain\domainadmin "mmc %windir%\system32\compmgmt.msc"

提示時,請輸入帳戶密碼。

若要使用網域 (稱為 domain.microsoft.com) 中稱為 user 的網域系統管理員帳戶來啟動 [記事本] 的例項,請輸入:

runas /user:user@domain.microsoft.com "notepad my_file.txt"

提示時,請輸入帳戶密碼。

若要啟動命令提示字元視窗、儲存的 MMC 主控台、[控制台] 項目或管理另一個樹狀目錄之伺服器之程式的例項,請輸入:

runas /netonly /user:Domain\UserName "Command"

Domain\UserName 必須是對伺服器的管理有充分使用權限的使用者。提示時,請輸入帳戶密碼。

台長: Kenny
人氣(1,395) | 回應(0)| 推薦 (0)| 收藏 (0)| 轉寄
全站分類: 教育學習(進修、留學、學術研究、教育概況) | 個人分類: 程式設計 |
此分類下一篇:如何攔截鍵盤輸入
此分類上一篇:用 VB 禁止指定的程式 連接到外網

是 (若未登入"個人新聞台帳號"則看不到回覆唷!)
* 請輸入識別碼:
請輸入圖片中算式的結果(可能為0) 
(有*為必填)
TOP
詳全文