2016-04-06 22 views
0

ネットワークチームは、ユーザーがネットワークにログインするたびに実行される.VBSスクリプトファイルを使用します。彼らは自分のスクリプトを編集してWindowsホストファイルを変更するように頼んだ。Windowsホストファイルをvbscriptから管理者権限で変更します。

問題は、スクリプトがユーザーのコンピュータで管理者権限を必要としていることです。スクリプトから、昇格した権限でhostsファイルを開き、いくつかの変更を加えてファイルを保存するにはどうすればよいですか?そのような

+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) 
関連する問題