Runas和cpau 使用方法

 

命令:runas /user:domain\username processname

 

例:

調出CMD,首先kill掉explorer.exe進程

 

C:\>runas /user:usa\billgates explorer.exe
輸入 usa\billgates 的密碼:
試圖將 explorer.exe 作爲用戶 "usa\billgates" 啓動...

 

這樣當前用戶將變成billgates的用戶環境。這對有時要切換用戶的情況很有用。如用戶需安裝打印機,但由於沒有admin的權限,無法安裝,這樣可以如此切換到管理員,不必用註銷的方式。切換回user帳戶,先註銷,再在任務管理器中運行explorer.exe即可。

CPAU參數說明

CPAU 用法:

CPAU -u 用戶 [-p 密碼] -ex "程序或命令" [參數]

 
例子: CPAU -u test\Administrator -p ^&t11e91s8e0 -ex ProjectNew.exe
 
說明:CPAU調用ProjectNew.exe程序
 
用戶 用於登錄的用戶名(一般指管理員)例:Domain\Domainadm

密碼 用戶的密碼[密碼]

程序或命令 要執行的程序或命令


參數:

-profile 使用本地登錄配置文件代替網絡登錄

-localwithprofile –profile的別名

-lwp -profile的別名

-localwithoutprofile 使用本地登錄但不加載配置文件

-lwop -localwithoutprofile的別名

-k 使用命令cmd /k 關閉打開的窗口

-c 程序執行完成後使用命令cmd /c 關閉打開的窗口

-pipepwd 指定傳入密碼的方法

-enc 爲最終用戶加密任務

-dec 解密任務

-file 指定創建或執行的文本文件

-wait 等待進程完成

-outprocexit 同-wait一起使用,使用 errorlevel參數來代替CPAU的錯誤提示

-cwd x 指定工作目錄

-hide 新進程隱藏運行

-title x 指定命令窗口的標題

-crc file[,file,file] 這個參數允許在加密文件文件中加入CRC錯誤校驗信息。當

CRC校驗出錯時,提醒所執行的文件不是要運行的文件,重新選擇文件。

-nowarn 網絡登錄時不輸出警告信息
 
 
user 用戶 使用管理員權限運行軟件
大多數公司的IT人員,如果不想每天被繁瑣的電話吵得想跳樓,被MM嚷得想開溜。那麼就一定要實施域管理。如果由於公司資源不足,限制用戶權限是一定要做的了。
但是在限制用戶權限以後,我們所要面對的會是一些新問題,比如某個MM某天突然要安裝一個什麼軟件,而且還得到了領導的許可。或者我們自己由於管理需要安裝一些軟件,那麼就會比較麻煩,必須要用到超級用戶的權限,這時候要註銷用戶然後用超級用戶登陸,中間那段等待的過程是痛苦的。而且在切換用戶的時候更有可能泄露密碼信息,被一些居心不良的人盜用。
Windows NT內核的系統本身爲我們提供了一個工具——Runas。它可以在不切換用戶的情況下讓我們以管理員的身份運行某個軟件。請看Runas的命令介紹。
Runas
允許用戶用其他權限運行指定的工具和程序,而不是用戶當前登錄提供的權限。
語法
runas [{/profile /noprofile}] [/env] [/netonly] [/smartcard] [/showtrustlevels] [/trustlevel] /user:UserAccountName program
參數
/profile
加載用戶的配置文件。/profile 是默認值。
/no profile
/noprofile 指定不加載用戶的配置文件。這使應用程序載入的更加快速,但是在一些應用程序中也會引起錯誤。
/env
指定當前使用的網絡環境,而不是用戶的本地環境。
/netonly
指明指定的用戶信息只用於遠程訪問。
/smartcard
/smartcard 表示憑據是否是由智能卡提供的。
/showtrustlevels
列出 /trustlevel 開關項。
/trustlevel
指定應用程序運行所在的授權級別。使用 /showtrustlevels 查看可用的信任級別。
/user:UserAccountName
指定在其下運行程序的用戶帳戶的名稱。用戶帳戶的格式應是 user@domain 或 domain\user。
程序
指定要用在 /user 中指定的帳戶運行的程序或命令。
/?
在命令提示符顯示幫助。
註釋
管理員可以使用一個權限受限制的帳戶執行日常、非管理性的任務,只有在執行特定管理任務時,才使用一個權限更大的帳戶。要不經過註銷再重新登錄就完成這樣的任務,可以用一般帳戶登錄,然後使用 runas 命令來運行需要更大權限的工具。
有關 runas 命令的使用範例,請參閱“相關主題”。
儘管 runas 通常由 Administrator 帳戶使用,但並非僅限於 Administrator 帳戶。任何擁有多個帳戶的用戶均可以利用備用憑據,使用 runas 運行程序、MMC 控制檯或“控制面板”項。
如果要在計算機上使用 Administrator 帳戶,對於 /user:,鍵入下列參數之一:
/user:AdministratorAccountName@ComputerName
/user:ComputerName\AdministratorAccountName
如果想以域管理員身份使用這個命令,鍵入下列參數之一:
/user:AdministratorAccountName@DomainName
/useromainName\AdministratorAccountName
runas 命令允許您運行程序 (*.exe)、保存的 MMC 控制檯 (*.msc)、程序和保存的 MMC 控制檯的快捷方式及“控制面板”項。作爲另一組(例如“Users”或“Power Users”組)的成員登錄到計算機時,可以以管理員的身份運行。
可以使用 runas 命令來啓動任何程序、MMC 控制器或“控制面板”項。只要提供適當的用戶帳戶和密碼信息,用戶帳戶就具有登錄到計算機的能力,並且程序、MMC 控制檯、“控制面板”項在系統中及對該用戶帳戶均可用.
runas 命令允許您管理其他域的服務器(運行工具的計算機和要管理的服務器在不同的域中)。
如果嘗試使用 runas 從網絡位置啓動程序、MMC 控制檯或“控制面板”項,可能會因爲用來連接網絡共享的憑據與用來啓動程序的憑據不同而失敗。後者的憑據可能無法訪問同一網絡共享。
有些項,例如“打印機”文件夾和桌面項,間接由 Windows 2000 打開,而不能使用 runas 命令啓動。
如果 runas 命令失敗,則可能是沒有運行 RunAs 服務或使用的用戶帳戶無效。要檢查 RunAs 服務的狀態,請在“計算機管理”中單擊“服務和應用程序”,然後單擊“服務”。要測試用戶帳戶,請嘗試使用該帳戶登錄合適的域。
範例
要在本地計算機上以管理員身份啓動 Windows 2000 命令提示行實例,請鍵入:
runas /user:localmachinename\administrator cmd
系統提示時,鍵入管理員密碼。
要使用名爲 companydomain\domainadmin 的域管理員帳戶啓動“計算機管理”管理單元實例,請鍵入:
runas /user:companydomain\domainadmin "mmc %windir%\system32\compmgmt.msc"
當提示時,鍵入帳戶密碼。
要使用名爲 domain.microsoft.com 的域中的域管理員帳戶 user 啓動“記事本”實例,請鍵入:
runas /user:[email protected] "notepad my_file.txt"
當提示時,鍵入帳戶密碼。
要啓動命令提示符行窗口、保存的 MMC 控制檯、控制面板項或管理其他地點服務器的程序的一個實例,請鍵入:
runas /netonly /user:domain\username "command"
domain\username 必須是有足夠權限管理服務器的用戶。當提示時,鍵入帳戶密碼。
舉個例子:假如我們需要用Administrator用戶安裝D盤的一個軟件,軟件的安裝文件就是setup.exe那麼我們可以這樣來做,
打開運行,輸入Runas /user:administrator "d:\setup.exe" 回車我們會得到一個輸入administrator用戶密碼的提示信息,輸入Administrator的密碼然後回,setup.exe就會以administrator的身份模式運行。當然我們也可以把它做成一個批處理如下:
打開記事本輸入如下命令,然後另存爲Adminsetup.bat
@echo off
echo --------------------------------------------------
echo 安裝軟件中請等待..........
runas /user:%1 "%2"
exit
我們在安裝軟件的時候只需要打開運行窗口,運行adminsetup.bat administrator "D:\setup.exe"然後輸入administrator的密碼就可以了。當然,如果你網絡中每臺電腦的管理員用戶都是一樣的在上面的批處理中你可以把“%1”換成你的管理員用戶名。但是我們在使用批處理時也無法避免輸入密碼這個步驟。最初我有嘗試過用(echo 密碼 Runas /user:administrator "command")來避免使用批處理時輸入密碼,但提示錯誤,於是感覺自己技術不足,在百度上一搜,發現有很多朋友碰到這種問題,也有朋友在百度問吧上給出了像我一樣的答案,呵呵,我想那位朋友一定沒試過,真是誤人子弟啊。
經過一段時間的搜索我找到了這個軟件CPAU來代替Runas並且他可以在使用批處理時避免輸入密碼。CPAU的命令行使用方法是:
CPAU.exe -u:administraotr -p password -ex "command"可以直接運行CPAU.exe得到該軟件的幫助信息。這樣我們就可以使用批處理命令而不需要輸入密碼了。把CPAU.exe放到C:\windows\system32目錄下然後把上面的批處理改成
@echo off
echo --------------------------------------------------
echo 安裝軟件中請等待..........
CPAU.exe -u administrator -p password -ex "D:\setup.exe"
exit
這裏再向大家介紹一個小技巧,相信大家現在裝系統的時候都是使用克隆版的吧,我們不如把CPAU.exe改成Runas.exe然後放到系統克隆文件裏,再用軟件把那個批處理編譯成exe文件也放到克隆文件裏,這樣以後在安裝的時候就把CPAU.exe直接加入到系統中了。呵呵方便吧。
另外我還找到了一個Runasp.exe的小工具,它可以圖形化的完成我們所需要的操作。使用很簡單,相信大家一看就會。
CPAU是個輕巧、靈活的命令行工具,能以更簡單的批處理方式幫助受限用戶安全地以管理員權限完成操作。支持200/XP/2003/VISTA。在我的Windows 7 M3上測試通過。
CPAU的用法和runas相似,但擴展功能更多。
基本用法:
CPAU -u user [-p password] -ex "WhatToRun" [switches]
-u 執行該任務的用戶名,域環境需要全稱 如:domain\administrator
-p 該用戶的密碼,如果沒有此開關,回車後要求輸密碼(不可見)
-ex 需要執行的程序,對於有空格出現的路徑,建議加雙引號,如 "c:\Program Files\qq.exe"
-lwp或-lwop 如果是本地賬戶,必須使用此開關才能交互式認證。
舉例: CPAU -u administrator -p 123456 -ex CMD -lwp 管理模式下的命令行
CPAU -u administrator -p 123456 -ex "cscript e:\lock.vbs" -lwp 運行腳本
CPAU -u 小小 -p 123456 -ex "c:\Program Files\QQ2008 Beta2\qq.exe" -lwp 運行程序
擴展:
直接把命令寫入批處理或快捷方式交給用戶運行無異於暴露了管理員密碼。CPAU提供了加密開關將整個命令加密,避免賬號和密碼以明文出現。
首先,將準備要執行的命令加密,例如:
CPAU -u administrator -p 123456 -ex "f:\Program Files\QQ2008 Beta2\qq.exe" -enc -file G:\temp\start.mp3
-enc 爲加密開關
-file 加密文件的輸出路徑,後綴名不限。
(-lwp和-lwop開關請暫時忽略。)
完成後如果顯示: The command completed successfully. 表示成功完成。
用記事本可以打開加密後的文件:
現在,非管理員用戶只需要調用該加密文件就可以運行程序了,不會再有明文的密碼出現:
CPAU -dec -file g:\temp\start.mp3 -lwp
-dec 解密開關
-file 加密文件所在的路徑
(-lwp和-lwop開關在這裏補上)
接下來, 創建一個bat文件或快捷方式供用戶啓動。
以快捷方式爲例:
爲CPAU創建一個快捷方式,將該快捷方式剪切到桌面。修改目標路徑和圖標。
類似的工具有sanur 等,也有GUI界面的,見: http://www.commandline.co.uk/sanur/
自動輸入 RUNAS 密碼的方法
  
  以非管理員用戶登錄時,如果要用管理員權限運行程序的話,需要用到 runas 命令,在使用腳本運行時,無法簡單的利用管道來輸入密碼,有以下方法可免除每次需要輸入密碼的麻煩。
  1、使用系統自帶的 runas /savecred 選項,第一次輸入密碼後,會保存憑據。
  特點:無法限制能夠運行的命令,安全性差。
  
  2、使用 sanur,sanur 是一個小程序,能以管道的方法將密碼或者文件中的內容傳遞給 runas 程序。
  runas | sanur password
  runas | sanur /i [drive:][path]filename
  特點:密碼明文保存。
  相關頁面:
  
  3、使用 lsrunas,功能類似 sanur,不過它無需運行 runas,自帶完整的參數來執行。
  特點:密碼明文保存。
  相關頁面:
  
  4、使用 lsrunase,lsrunas 的加強版本,可以使用加密的密碼。自帶一個小軟件 LSencrypt 用來生成加密的字串。
  用法:
  lsrunase /user:administrator /password:41BngA== /domain: /command:notepad.exe /runpath:c:\
  所有的參數必須齊全,其中:
  user 爲運行的賬號
  password 爲密碼加密後的字串
  domain 爲機器名或域名,也可留空代表本機
  command 爲要運行的程序名,如果攜帶參數需要在命令的首尾加引號
  runpath 爲程序啓動的路徑
  特點:可以較完美的替代 runas,並避免直接將密碼明文保存在腳本中。
  相關頁面:
  
  5、使用 cpau,cpau 也是一個替代 runas 的程序,並且功能強大,可以使用加密的密碼。
  用法:
  cpau -u administrator -p password -ex notepad -file start_notepad.txt -enc
  cpau -file start_notepad.txt -dec
  以上命令可以先將要執行的指令加密保存爲一個文件,執行時載入此文件。
  特點:可以保護執行的腳本及命令不被他人查看,但在使用網絡路徑時存在一些問題。
  相關頁面:
  
  6、使用 autoit,autoit 是一個腳本自動化執行的工具,可以完成很多自動化的任務,並且可以將腳本編譯成 exe 文件來直接運行,從而達到了隱藏密碼信息的目的。
  特點:功能強大,但操作複雜。
  相關頁面:
  
  還有其他一些工具能夠完成類似的操作。
  參考頁面:
解決輸入RUNAS管理員的方法
在域控環境下,一般用戶的權限是無法安裝軟件的,在很多時候又只能在普通用戶權限去操作,對此,微軟給出的方法就是RUNAS,一個暫時提升用戶權限的方法。
 
在win2k中,開始→程序→附件 ,找到計算器,按住shift鍵,點右鍵,選擇“運行方式 ...”,這時候,會彈出對話框,詢問你要使用哪個用戶身份來運行該程序 。
不知道大家是否使用過win2k的這個功能,如果大家是使用win2k的英文版本的話,在按住shift後選擇的就不是“運行方式 ...”而是“runas...”,也就是剛纔提到的這個命令。
在cmd中輸入runas,會得到幫助,今天,我們只將它最簡單的用法,就是怎麼樣使用這個命令來以另外一個用戶身份運行一個程序。
RUNAS 用法:
RUNAS [/profile] [/env] [/netonly] /user:<UserName> program
/profile 如果需要加載用戶的配置文件
/env 要使用當前環境,而不是用戶的環境。
/netonly 只在指定的憑據限於遠程訪問的情況下才使用
/user <UserName> 應使用 USER@DOMAIN 或 DOMAIN\USER 形式
program EXE. 的命令行。參閱下面的例子
例如:
> runas /profile /user:mymachine\administrator cmd
> runas /profile /env /user:mydomain\admin "mmc %windir%\system32\dsa.msc"
> runas /env /user:[email protected] "notepad \"my file.txt\""
注意: 只有在被提示時才輸入用戶的密碼。
注意: USER@DOMAIN 與 /netonly 不兼容。
注意:配置文件路徑不要有中文名稱,也不要去試圖去啓動打印機(是真的啓動不了哦)
來個具體的例子吧
域名:infosafe.local
管理員權限帳號:administrator
管理員帳號密碼:123
運行的程序路徑爲 g:\setup.exe
>runas /profile /user:infosafe.local\administrator "g:\setup.exe"
>enter the password for infosafe.local\administrator: (這個輸入的密碼不會已明文顯示的 )
>attempting to start setup.exe as user "infesafe.local\adminsitrator"... (OK了,你可以看到你要安裝的軟件在裝着了)
輸入密碼是麻煩的 所以就想有沒有不要輸入密碼,直接就可以啓動的呢?
答案是肯定的,有啊,看到網上有不少的小程序就可以,測試了一下午,說說自己的體會
1.使用 sanur,軟件很小,安放在例如:C:\Documents and Settings\用戶名\ 目錄下,建議路徑中不要含有中文,外國的小軟件,對國文的支持不是很好。
把需要安裝的文件也放在這個目錄下,文章上面都介紹sanur 是一個小程序,能以管道的方法將密碼或者文件中的內容傳遞給 runas 程序,可能是人長得難看的緣故,一直就沒有成功過,一直報錯,說錯誤的用戶名和密碼。RP問題啊!
把我輸入的命令寫出來,有請路過的高手能解答我這迷途的羔羊
runas /profile /user:infosafe.local\administrator "g:setup.exe" | sanur 123
2.使用使用 cpau,cpau 也是一個替代 runas 的程序,並且功能強大,可以使用加密的密碼。
安放的路徑最好不要有中文名稱,
用法:
cpau -u administrator -p 123(password) -ex setup.exe -lwp
說來也巧,一次就成功了,竊喜,竊喜,因爲他可以取代runas哦。
3.使用 autoit,autoit 是一個腳本自動化執行的工具,可以完成很多自動化的任務,並且可以將腳本編譯成 exe 文件來直接運行,從而達到了隱藏密碼信息的目的。
特點:功能強大,但操作複雜。
就如介紹說的,是很複雜,很麻煩,第一次下載的還是英文版,就更看不懂了,後來找到箇中文的,搗鼓了一個多小時,還是沒有弄明白。
好啦,要是你也在使用runas的話,還是用cpau吧,他更簡單,還不要輸入密碼。嘿嘿,看你的了。
 
這幾天一直研究runas 密碼自動輸入解決方案,雖然通過腳本可以將密碼自動輸入,但是畢竟腳本中密碼是以明文出現,對於有一定網絡基礎的用戶而言,顯然不夠安全。
google一番,發現一款小工具——cpau完全可以替代 runas,該軟件比較實用之處是將用戶名和密碼以及要運行的命令事先寫入一個文本,該文本內容是經過加密處理的。然後再將該文本作爲cpau的運行參數即可。
舉例說明:
  cpau -u administrator -p password -ex notepad -file start_notepad.txt -enc
  cpau -file start_notepad.txt -dec
第一條命令將運行方式寫入start_notepad.txt ,並加密
第二條命令是運行start_notepad.txt
再以上一篇文章更改IP的腳本爲例,只要將cpau.exe和生成的運行文本封裝在自解壓文件中,同時更改批處理內容即可,這樣就可以在安全的前提下完全替代runas。
生成chgip.txt
cpau -u bl\test -p password -ex "cscript //nologo \".\chgip.vbs\"" -file chgip.txt -enc
批處理中運行chgip.txt
cpau -file chgip.txt-de
我想在WINDOWS下更改一些軟件的使用權限,但是每次都在以其它身份運行軟件時總要輸入用戶名和密碼,但我不想給其它人知道我的用戶名和密碼,我想建個BAT文件,合併在需要打開的圖標裏,當打開圖標同時執行BAT文件,但是還有個難題就是,還要輸入密碼才行,但我不知道怎樣才能做到不用輸入密碼,
這是我在CMD下的內容
C:\Documents and Settings\Administrator>runas /user:proxy\administrator "C:\Prog
ram Files\AutoCAD R14\acad.exe"
按回車,出現
鍵入密碼 proxy\administrator:
然後輸入密碼,回車
試圖啓動 "C:\Program Files\AutoCAD R14\acad.exe" 作爲用戶 "proxy\administrator".
..
這樣就能以ADMINISTRATOR的身份啓動AUTOCAD啦,不知道怎樣才能做到不用輸入密碼,就可以直接運行AUTOCAD14?
這是個很有用的方法,希望能跟大家一起來探討
VBS腳本如下:
'建立Shell對象
set sh=WScript.CreateObject("WScript.Shell")
WScript.Sleep 1000
sh.SendKeys "runas /user:proxy\administrator cmd"
WScript.Sleep 1000
sh.SendKeys "{ENTER}"
WScript.Sleep 1000
'密碼,這裏我是空密碼
sh.SendKeys "{ENTER}"
'如果要改爲其他密碼,就這樣:sh.SendKeys "yourpassword{ENTER}"WScript.Sleep 1000
'替換yourpassword爲你的密碼
經過試驗,發覺雙重引號在VBS中不能直接使用
於是想了個變通的法子
腳本:a.vbs
===========
set sh=WScript.CreateObject("WScript.Shell")
WScript.Sleep 1000
sh.SendKeys "runas /user:company-com\administrator Studio.exe"
WScript.Sleep 1000
sh.SendKeys "{ENTER}"
WScript.Sleep 1000
sh.SendKeys "{ENTER}"
批處理文件:test.bat

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章