Vbscript 如何获得替换utilman.exe的权限

Vbscript 如何获得替换utilman.exe的权限,vbscript,Vbscript,我想获得替换或重命名utilman.exe的权限。下面的脚本不起作用 Dim strFolder, strUser, strDomain strFolder = "c:\windows\system32\utilman.exe" Set FSO = CreateObject("Scripting.FileSystemObject") Set ObjShell = Wscript.CreateObject("Wscript.Shell") objShell.Run("takeown /A /f"

我想获得替换或重命名
utilman.exe
的权限。下面的脚本不起作用

Dim strFolder, strUser, strDomain
strFolder = "c:\windows\system32\utilman.exe"
Set FSO = CreateObject("Scripting.FileSystemObject")
Set ObjShell = Wscript.CreateObject("Wscript.Shell")
objShell.Run("takeown /A /f" & Chr(34) & strFolder & chr(34)),1,True
objShell.Run("icacls chr(34) & strFodler &  chr(34) /grant administrator:F"),1,True
Wscript.quit

显然,您希望
icacls
命令行在双引号中包含变量
strFolder
的值时,将其定义为单个字符串。要在VBScript中工作,必须使用字符串连接。此外,您可能希望在
takeown
的参数
/f
后面加一个空格,并删除命令周围的括号

更改此项:

objShell.Run("takeown /A /f" & Chr(34) & strFolder & chr(34)),1,True
objShell.Run("icacls chr(34) & strFodler &  chr(34) /grant administrator:F"),1,True
为此:

objShell.Run "takeown /A /f " & Chr(34) & strFolder & chr(34), 1, True
objShell.Run "icacls " & chr(34) & strFolder &  chr(34) & " /grant administrator:F", 1, True

您收到的错误消息是什么?