2016-04-06 71 views
0

我們的網絡團隊使用每次用戶登錄到網絡時運行的.VBS腳本文件。他們要求我編輯他們的腳本,以便它將修改Windows主機文件。使用管理權限修改vbscript中的Windows主機文件

問題是腳本需要用戶計算機的管理權限。從腳本中,我如何使用提升的權限打開主機文件,進行一些更改,然後保存文件?

+0

您需要(重新)運行該腳本本身以高特權。 –

+0

聽起來很可疑。與主機文件混淆是訪問系統的一種方式。爲什麼你需要管理員權限?只需將他們需要的條目添加到hosts文件中,他們就會將更改推送到需要它的PC上。很明顯,您試圖將更改推送到您沒有管理員權限的計算機上的主機文件,而這並不酷。網絡團隊對他們監督/支持的所有機器擁有管理權限,他們應該這樣做。只要給他們你需要的條目。 – MikeC

回答

1

類似的東西:

If Not WScript.Arguments.Named.Exists("elevate") Then 
    CreateObject("Shell.Application").ShellExecute WScript.FullName _ 
    , WScript.ScriptFullName & " /elevate", "", "runas", 1 
    WScript.Quit 
End If 
Hosts = "%windir%\system32\drivers\etc\hosts" 
Command = "cmd /c attrib "& Hosts &" -r" 
Set Ws = WScript.CreateObject("WScript.Shell") 

Result = Ws.run(Command,0,True) 
EditHostsFile = Ws.run("cmd /c Notepad "& Hosts,0,True) 
HostsReadOnly = Ws.run("cmd /c attrib "& Hosts &" +r",0,True)