VBS和UAC用戶帳戶控制實(shí)現(xiàn)代碼
更新時間:2011年01月21日 23:49:47 作者:
用戶帳戶控制(UAC)是Vista以上的系統(tǒng)新引進(jìn)的功能,旨在提高系統(tǒng)的安全性。它限制應(yīng)用程序在標(biāo)準(zhǔn)用戶的權(quán)限下,除非管理員權(quán)限得到提升或驗(yàn)證。
雖然很多人覺得這個功能很雞肋,但是以VBS的角度來看,UAC還是多多少少有點(diǎn)用的。在UAC的限制下,直接雙擊VBS文件只能在標(biāo)準(zhǔn)用戶權(quán)限下運(yùn)行,很多事情是做不了的,比如復(fù)制自身到windows文件夾,或者寫入注冊表的開機(jī)啟動項(xiàng)等等。在XP下非常猖獗的暴風(fēng)一號病毒,放到Win7下也就只能改改文件夾屬性為隱藏罷了,其他什么都做不了。當(dāng)然了,一些不明真相的同學(xué)喜歡把UAC功能關(guān)掉,然后裝個叫什么359還是361的所謂安全軟件。我也不好多說什么,不然會遭到圍觀的。
雙擊VBS文件系統(tǒng)不會自動彈出UAC窗口是一個很大的問題,因?yàn)檫@大大限制了VBS的功能,很多事情都做不了,怎么解決呢?請看下面的代碼
For Each objOS in GetObject("winmgmts:").InstancesOf("Win32_OperatingSystem")
If InStr(objOS.Caption,"XP") = 0 Then
If WScript.Arguments.length = 0 Then
Dim objShell
Set objShell = CreateObject("Shell.Application")
objShell.ShellExecute "wscript.exe", Chr(34) & _
WScript.ScriptFullName & Chr(34) & " uac", "", "runas", 1
Else
Call Main()
End If
Else
Call Main()
End If
Next
Sub Main()
MsgBox "UAC demon"
End Sub
這是我根據(jù)這個網(wǎng)站的代碼改寫的,判斷系統(tǒng)版本,如果是XP(普通用戶一般都是XP,如果是2003的話請自己改寫)則直接運(yùn)行代碼,否則調(diào)用Shell.Application對象的ShellExecute方法,以管理員權(quán)限運(yùn)行腳本。這樣,我們的VBS程序在Vista/Win7系統(tǒng)下也可以像在XP系統(tǒng)那樣為所欲為了。
原文:http://demon.tw/programming/vbs-uac-elevation.html
雙擊VBS文件系統(tǒng)不會自動彈出UAC窗口是一個很大的問題,因?yàn)檫@大大限制了VBS的功能,很多事情都做不了,怎么解決呢?請看下面的代碼
復(fù)制代碼 代碼如下:
For Each objOS in GetObject("winmgmts:").InstancesOf("Win32_OperatingSystem")
If InStr(objOS.Caption,"XP") = 0 Then
If WScript.Arguments.length = 0 Then
Dim objShell
Set objShell = CreateObject("Shell.Application")
objShell.ShellExecute "wscript.exe", Chr(34) & _
WScript.ScriptFullName & Chr(34) & " uac", "", "runas", 1
Else
Call Main()
End If
Else
Call Main()
End If
Next
Sub Main()
MsgBox "UAC demon"
End Sub
這是我根據(jù)這個網(wǎng)站的代碼改寫的,判斷系統(tǒng)版本,如果是XP(普通用戶一般都是XP,如果是2003的話請自己改寫)則直接運(yùn)行代碼,否則調(diào)用Shell.Application對象的ShellExecute方法,以管理員權(quán)限運(yùn)行腳本。這樣,我們的VBS程序在Vista/Win7系統(tǒng)下也可以像在XP系統(tǒng)那樣為所欲為了。
原文:http://demon.tw/programming/vbs-uac-elevation.html
相關(guān)文章
VBS教程:函數(shù)-InStrRev 函數(shù)
VBS教程:函數(shù)-InStrRev 函數(shù)...2006-11-11
vbs打開ie兩種方法 在VBScript中啟動IE瀏覽器的實(shí)現(xiàn)代碼
用VBS打開網(wǎng)頁,減少IE廣告, 不錯的東東,是在網(wǎng)上收集的,你也可以實(shí)現(xiàn)網(wǎng)頁的自動登錄等2013-01-01
用vbscript實(shí)現(xiàn)從文本文件中刪除所有重復(fù)行的代碼
這篇文章主要為大家介紹了關(guān)于從文本文件中刪除重復(fù)名字的類似問題,需要的朋友可以參考一下2007-04-04
使用 iisweb.vbs start 啟動網(wǎng)站的方法
這篇文章主要介紹了使用 iisweb.vbs start 啟動網(wǎng)站的方法,需要的朋友可以參考下2014-07-07
encrypt.vbs 內(nèi)容加密vbs實(shí)現(xiàn)代碼
內(nèi)容加密vbs實(shí)現(xiàn)代碼 本人不能保證文件能改過來.請大家先測試下,注意備份。2009-09-09

