Windows XP Windows 7 Windows 2003 Windows Vista Windows 綜合教學 Linux 系統教學
Windows 10 Windows 8 Windows 2008 Windows NT Windows Server 電腦軟體教學
您现在的位置: Windows教程網 >> Windows教程 >  >> Windows 綜合教學 >> 系統指令

Windows runas 指令全解析:以不同身分執行程式

編輯:系統指令

runas.exe 讓使用者以其他認證(不同使用者、管理員、智慧卡、信任層級)啟動程式,是系統管理員進行權限分離、測試、無訊息部署的核心工具。

語法結構

runas [[/noprofile | /profile] [/env] [/savecred | /netonly]] /user:<使用者名稱> 程式
runas [[/noprofile | /profile] [/env] [/savecred]] /smartcard [/user:<使用者名稱>] 程式
runas /trustlevel:<信任層級> 程式

參數詳細說明

參數功能備註
/noprofile不載入使用者設定檔,啟動較快可能導致部份程式異常
/profile載入使用者設定檔 (預設)
/env使用目前環境變數,而非目標使用者環境
/netonly認證僅用於遠端存取,本地不模擬與 /profile 互斥
/savecred使用儲存的認證 (需先執行過一次輸入密碼)Home/Starter 版不支援,與 /smartcard 互斥
/smartcard使用智慧卡憑證認證
/user目標使用者:USER@DOMAIN 或 DOMAIN\USER
/showtrustlevels列出可用信任層級
/trustlevel以指定信任層級執行 (如 0x20000 基本使用者)

實戰範例

1. 以本機管理員開啟 CMD

runas /noprofile /user:Administrator cmd

2. 以網域管理員開啟 AD 使用者與電腦 (MMC)

runas /profile /env /user:domain\admin "mmc %windir%\system32\dsa.msc"

3. 以特定網域帳號開啟記事本編輯網路磁碟檔案

runas /env /user:user@domain.microsoft.com "notepad \"\\server\share\file.txt\""

4. 使用已儲存認證 (免輸入密碼)

runas /savecred /user:admin backup_script.bat

5. 僅以基本使用者權限執行 (降權測試)

runas /trustlevel:0x20000 "C:\Program Files\App\app.exe"

關鍵觀念與限制

  • 密碼只在提示時輸入,不可在命令列明文傳遞(安全性考量)。
  • /profile 與 /netonly 互斥;/savecred 與 /smartcard 互斥。
  • Vista+ UAC 預設管理員以標準權杖執行,以滑鼠右鍵「以系統管理員身分執行」即是 GUI 版 runas。
  • 遠端執行需搭配 PsExec、PowerShell Remoting、WinRM 或排程任務。
  • /savecred 將認證存於 Windows Credential Manager,安全性較低,敏感環境慎用。

現代替代方案

  • PowerShell Start-Process -Credential:物件導向、支援管線、整合腳本。
  • gMSA / 群組受控服務帳號:服務自動密碼輪換,免人工管理。
  • Just Enough Administration (JEA):限制管理員僅能執行特定 Cmdlet/參數。
  • Azure AD Privileged Identity Management (PIM):雲端特權存取即時啟用、核准、稽核。

runas 是 Windows 權限提升與切換的基石指令,熟練其參數組合與限制,能安全高效地執行跨身分操作、自動化部署與最小權限測試。

Copyright © Windows教程網 All Rights Reserved