日韩久久久精品,亚洲精品久久久久久久久久久,亚洲欧美一区二区三区国产精品 ,一区二区福利

遠(yuǎn)程執(zhí)行命令避免UAC提示

系統(tǒng) 2163 0

遠(yuǎn)程執(zhí)行命令避免UAC提示

Workaround: Run commands remotely bypassing UAC prompt

前言

使用WindowsVista/7的用戶都有這樣的經(jīng)歷,每當(dāng)你安裝程序,或者變更被系統(tǒng)保護(hù)的資源——很多時(shí)候你也不知道到底哪些東西是被系統(tǒng)保護(hù)的,甚至一個(gè)沒(méi)有有效簽名的程序運(yùn)行的時(shí)候,即便你是管理員用戶登陸, Windows默認(rèn)地都會(huì)暫時(shí)阻止該程序運(yùn)行,并彈出一個(gè)提示框提示用戶是否繼續(xù),直到用戶人為確定后,才會(huì)繼續(xù)運(yùn)行該程序,這就是User Access Control(也就是UAC)的作用。

UAC的初衷是給系統(tǒng)安全帶來(lái)了一層人為保障,通過(guò)引入電腦操作人員的人為參與,來(lái)提供“有效”的系統(tǒng)安全保護(hù)。UAC這個(gè)設(shè)計(jì)的原意是“好”的,而且的確提供了系統(tǒng)內(nèi)置的保護(hù)措施,所以除非需要不要關(guān)閉它。但是過(guò)多的用戶提示,確實(shí)也影響了用戶的使用體驗(yàn)。在不關(guān)閉UAC的前提下,對(duì)于系統(tǒng)管理員,尤其是遠(yuǎn)程管理多臺(tái)電腦時(shí),帶來(lái)了一定的不便。在不增加管理費(fèi)用、購(gòu)置昂貴管理軟件的前提下,如何繞過(guò)UAC的提示,順利完成批量管理任務(wù),是一個(gè)挑戰(zhàn)。

Runas為什么不適合?有人不禁會(huì)想到ruanas命令,雖然runas命令可以讓管理員提升一個(gè)程序的運(yùn)行權(quán)限并繞過(guò)UAC的提示窗口,但是不適合遠(yuǎn)程批量的執(zhí)行,因?yàn)樗廊灰笤贑ommand Prompt中輸入管理員密碼,而不能像類Unix系統(tǒng)的類似命令那樣靈活,這意味著什么?當(dāng)使用命令完成同一任務(wù)部署到多臺(tái)電腦的時(shí)候,管理員需要登陸到每臺(tái)機(jī)器手動(dòng)操作,這樣既低效又易出錯(cuò)。

雖說(shuō)在大型網(wǎng)絡(luò)管理環(huán)境中,可以使用諸如SCCM等的昂貴的管理軟件進(jìn)行軟件管理或者通過(guò)Group Policy等方式對(duì)電腦和用戶管理,不過(guò)一個(gè)免費(fèi)便捷的并適合小任務(wù)部署的操作,提供給管理員以靈活和快捷的途徑。我們這里實(shí)現(xiàn)一種免費(fèi)而且完全使用Windows內(nèi)置功能無(wú)需多余軟件安裝的方案,這樣可以方便管理員遠(yuǎn)程部署任務(wù)。

目的和條件

我們的目的就是,在遠(yuǎn)程電腦上順暢運(yùn)行一個(gè)通常被 UAC 攔截的程序或命令文件。比如:執(zhí)行命令 md %WinDir%\tmp ,這在普通的 Command Prompt 中會(huì)顯示 Access is denied 。只有運(yùn)行 runas 或者使用 Run as administrator 打開(kāi) Command Prompt 才能順利完成,因?yàn)? %WinDir% 是被 UAC 保護(hù)的。如果使用諸如 psexec 來(lái)控制遠(yuǎn)程電腦執(zhí)行上面的命令,也會(huì)執(zhí)行失敗。

這個(gè)方法的基本要求是:

  • 管理員賬戶:至少具有遠(yuǎn)程電腦 管理 員權(quán)限的用戶和密碼,可以是 AD 上的 Workstation 的管理員組成員,或者是 Workstation 本地的管理員賬號(hào)。
  • DOS 命令:還有就是熟悉基本的 DOS 命令,因?yàn)楹竺鏁?huì)看到,我們的確需要命令行的操作,這樣才能最大化的實(shí)現(xiàn)自動(dòng)完成管理任務(wù)。

操作過(guò)程:

在一臺(tái)測(cè)試機(jī)上,實(shí)現(xiàn)下面的各個(gè)步驟操作,

命令文件:

為了方便演示,我們使用下面的命令文件作為例子。使用任何文本編輯器,輸入下面的命令,并保為C:\ProgramData\WinVer.cmd--C:\ProgramData文件夾相當(dāng)于XP中的All Users:

      systeminfo| find "OS Name" | find "Windows 7"
if %ERRORLEVEL% NEQ 0 goto Other
echo Windows 7 > C:\Windows\WinVer.txt
goto END
:Other
  Echo Other Windows > C:\Windows\WinVer.txt
:END
    

該批命令在C:\Windows中生成一個(gè)WinVer.txt文件。

嘗試運(yùn)行它,由于UAC保護(hù)下,該文件無(wú)法生成。

遠(yuǎn)程執(zhí)行命令避免UAC提示

在實(shí)際操作中,可以是一個(gè)程序等,也可以有命令行參數(shù)。

創(chuàng)建一個(gè)Task模板

在Start菜單中輸入Task,并選擇運(yùn)行Task Scheduler,或者在Control Panel的Administritive Tools中運(yùn)行Task Scheduler程序。

在Actions中選擇CreateTask…,在General標(biāo)簽中,在Name處填上一個(gè)名字,確定選擇”Runwith highest privileges”和"Run whether user is logged on or not",見(jiàn)下圖:

遠(yuǎn)程執(zhí)行命令避免UAC提示

在Actions標(biāo)簽中,創(chuàng)建一個(gè)新的Action,選擇Action為Start a Program,在Program/Script中選擇上面我們創(chuàng)建的命令文件C:\ProgramData\WinVer.cmd。見(jiàn)下圖:

遠(yuǎn)程執(zhí)行命令避免UAC提示

點(diǎn)擊OK按鈕后確認(rèn)保存。

因?yàn)樾聞?chuàng)建的Task不會(huì)被立刻顯示,所以需要重新運(yùn)行Task Scheduler程序,找到剛才創(chuàng)建的新Task,在Actions里面選擇Export…,把這個(gè)Task保存為一個(gè).xml文件,這個(gè)就是Task模板。下面使用test.xml文件名為例。

注意,一個(gè)在根下面的Task可能不能被有效運(yùn)行,所以需要把它移動(dòng)到一個(gè)目錄中,比如可以移動(dòng)到Microsoft下面。

測(cè)試Task模板

為了保證這個(gè)Task可以正常運(yùn)行,我們需要先來(lái)測(cè)試有一下。運(yùn)行下面的命令:

schtasks.exe /run /tn "\Microsoft\Test"

如果運(yùn)行成功后,在C:\Windows\文件夾中應(yīng)該有一個(gè)WinVer.txt文件。測(cè)試成功后就可以進(jìn)行下一步了。

遠(yuǎn)程創(chuàng)建Task

前面的準(zhǔn)備工作最羅嗦,從這里開(kāi)始使用命令行最多。

上面,我們?cè)诒镜貦C(jī)創(chuàng)建了一個(gè)Task,為了可以遠(yuǎn)程控制,我們需要把這個(gè)模板在遠(yuǎn)程機(jī)上創(chuàng)建一個(gè)相同的Task。很簡(jiǎn)單使用下面的命令:

      schtasks.exe /create /S COMPUTER /U  ADMINISTRATOR /P ADMIN_PASSWORD /RU R_ADMINISTRATOR /RP R_ ADMIN_PASSWORD /TN ”\Microsoft\Test“ /XML %USERPROFILE%\Desktop\Test.xml /F
    

把其中的:

COMPUTER 換成遠(yuǎn)程電腦的名稱

ADMINISTRATOR ADMIN_PASSWORD 換成本地電腦管理員的用戶名和密碼

R_ADMINISTRATOR R_ADMIN_PASSWORD 換成遠(yuǎn)程電腦管理員的用戶名和密碼

遠(yuǎn)程運(yùn)行該Task

遠(yuǎn)程運(yùn)行該Task使用下面的命令:

      schtasks.exe/run /S COMPUTER /RU R_ADMINISTRATOR /RP R_ ADMIN_PASSWORD /tn "\Microsoft\Test"
    

各參數(shù)說(shuō)明見(jiàn)上創(chuàng)建Task。

遠(yuǎn)程刪除該Task:

      schtasks.exe/delete /S COMPUTER /RU R_ADMINISTRATOR /RP R_ ADMIN_PASSWORD /tn "\Microsoft\Test" /F
    

各參數(shù)說(shuō)明見(jiàn)上創(chuàng)建Task。

結(jié)束語(yǔ):

有關(guān)schtasks的命令行參數(shù)詳細(xì)解釋參見(jiàn)有關(guān)說(shuō)明。

我們這里只不過(guò)使用了Windows的Task服務(wù)的一個(gè)內(nèi)置功能, 其實(shí),一個(gè)具有相當(dāng)權(quán)限的客戶化的系統(tǒng)服務(wù),同樣是繞過(guò)UAC的一個(gè)思路

在危害Windows系統(tǒng)的病毒蠕蟲(chóng)木馬等等多不勝堵的今天,殺毒防毒軟件成了日常可以安全運(yùn)行Windows系統(tǒng)不可或缺的一個(gè)部分,微軟也出了自己的一個(gè)軟件對(duì)付病毒,安全問(wèn)題已經(jīng)成為Windows繼續(xù)發(fā)展的第一障礙。微軟應(yīng)該對(duì)此相當(dāng)重視,不過(guò)有趣的是,Microsoft的技術(shù)人員發(fā)現(xiàn),這不是他們技術(shù)人員可以控制的,他們的系統(tǒng)是無(wú)懈可擊的,而是最終用戶的責(zé)任和義務(wù),最終用戶應(yīng)該具有慧眼識(shí)珠地辨別什么是對(duì)系統(tǒng)有危害的,什么是安全的操作,并可以清醒地理智地作出相應(yīng)的反應(yīng),否則作為最終用戶就負(fù)有對(duì)自己不負(fù)責(zé)任的行為負(fù)擔(dān)相應(yīng)后果的責(zé)任。于是,UAC閃亮登場(chǎng)了,用戶被強(qiáng)行改變自己的操作行為參與到這個(gè)安全防護(hù)游戲中。

Windows系統(tǒng)的這種越來(lái)越依賴于用戶GUI干預(yù)的安全設(shè)計(jì)思路,已經(jīng)背離了電腦網(wǎng)絡(luò)系統(tǒng)高效快捷安全的初衷。它在處理用戶/程序/服務(wù)/設(shè)備等等系統(tǒng)相關(guān)權(quán)限的時(shí)候混亂的思路,不僅給用戶帶來(lái)了操作不便,也讓自己走上了背離用戶體驗(yàn)的道路。這與Apple注重用戶體驗(yàn)的設(shè)計(jì)思路,完全不同。在如今Apple方式獲得更多用戶和市場(chǎng)認(rèn)同的形勢(shì)中,Microsoft是否也應(yīng)該反思一下,提高用戶體驗(yàn)度。

Tony Liu

June 20, 2012

技術(shù)參考: http://social.technet.microsoft.com/Forums/en/w7itprosecurity/thread/6822b712-8fc3-4253-8856-25e99f144262

遠(yuǎn)程執(zhí)行命令避免UAC提示


更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號(hào)聯(lián)系: 360901061

您的支持是博主寫(xiě)作最大的動(dòng)力,如果您喜歡我的文章,感覺(jué)我的文章對(duì)您有幫助,請(qǐng)用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長(zhǎng)非常感激您!手機(jī)微信長(zhǎng)按不能支付解決辦法:請(qǐng)將微信支付二維碼保存到相冊(cè),切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對(duì)您有幫助就好】

您的支持是博主寫(xiě)作最大的動(dòng)力,如果您喜歡我的文章,感覺(jué)我的文章對(duì)您有幫助,請(qǐng)用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長(zhǎng)會(huì)非常 感謝您的哦!!!

發(fā)表我的評(píng)論
最新評(píng)論 總共0條評(píng)論
主站蜘蛛池模板: 白城市| 晴隆县| 柳林县| 北碚区| 根河市| 定南县| 浙江省| 郑州市| 桐城市| 苏尼特左旗| 额尔古纳市| 柳州市| 上饶县| 青海省| 珠海市| 逊克县| 广宁县| 阿拉善左旗| 金塔县| 松阳县| 民乐县| 汾西县| 宁安市| 佛冈县| 深州市| 梅河口市| 鹤峰县| 澄迈县| 双牌县| 武定县| 浪卡子县| 清水河县| 信丰县| 夏河县| 梧州市| 岫岩| 兰州市| 蕲春县| 德江县| 沂南县| 涿鹿县|