Microsoft VBScript运行时错误:找不到路径

Microsoft VBScript运行时错误:找不到路径,vbscript,Vbscript,我想执行一个vbs脚本,该脚本为我提供给定文件夹的大小,但在执行时它会返回错误: Microsoft VBScript运行时错误:找不到路径 以前,错误是 Microsoft VBScript运行时错误:权限被拒绝 但在这些命令之后: takeown /f C:\Users /r /d y icacls C:\Users /grant administrators:F /T 它变成了“找不到路径”。正如您所看到的,我想要的文件夹大小是C:\

我想执行一个vbs脚本,该脚本为我提供给定文件夹的大小,但在执行时它会返回错误:

Microsoft VBScript运行时错误:找不到路径

以前,错误是

Microsoft VBScript运行时错误:权限被拒绝

但在这些命令之后:

takeown /f C:\Users /r /d y                          
icacls C:\Users /grant administrators:F /T 
它变成了“找不到路径”。正如您所看到的,我想要的文件夹大小是
C:\Users

这是我的密码:

'Created the 18.03.2010
'Easy script for check space folder. You need NRPE_NT daemon on win computer
'##########################################################'
'Install'
'##########################################################'
'1.copy file to c:\ for example... c:\nrpe_nt\bin\check_folder_size.vbs'
'2.set your nrpe.cfg for command for example 
'command[check_foldersize]=c:\windows\system32\cscript.exe //NoLogo //T:30 c:\nrpe_nt\bin\check_folder_size.vbs c:\yourfolder 50 78
'50 70 are parameters for warning and critical value in MB'
'3.restart your nrpe_nt daemon in command prompt example.. net stop nrpe_nt and net start nrpe_nt'
'4. try from linux example.: ./check_nrpe -H yourcomputer -c check_foldersize and result can be OK:22,8 MB'
'it is all'
'##########################################################'
Dim strfolder
Dim intwarning
Dim intcritic
Dim wsh
Dim intvelkost
Dim intjednotka
'##########################################################'
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set wsh = CreateObject("WScript.Shell")
'##########################################################'
If WScript.Arguments.Count = 3 Then
  strfolder  = WScript.Arguments(0)
  intwarning = WScript.Arguments(1)
  intcritic  = WScript.Arguments(2)

  Set objFolder = objFSO.GetFolder(strfolder)
  intjednotka = 1048576 '1MB->bytes'
  intvelkost = objFolder.Size/intjednotka

  If (objFolder.Size/1048576) > CInt(intwarning) Then  
    WScript.Echo "WARNING:" & round (objFolder.Size / 1048576,1) & " MB"
    WScript.Quit(1)
  ElseIf (objFolder.Size/1024000) > CInt(intcritic) Then  
    WScript.Echo "CRITICAL:" & Round(objFolder.Size / 1048576,1) & " MB"
    WScript.Quit(2)
  Else
    WScript.Echo "OK:" & Round(objFolder.Size /1048576,1) & " MB"
    WScript.Quit(0)
  End If
Else
  WScript.Echo "UNKNOWN:"& strfolder &"-" & intwarning & "-" & intcritic
  WScript.Quit(3)
End If
脚本调用的行:

check_foldersize = cscript.exe //nologo //T:60 scripts\check_folder_size.vbs C:\Users 4000 5000 

编辑:还有一点很有用:例如,当我将文件夹C:\Users更改为C:\Intel时,没有错误。因此,这似乎是一个与用户文件夹本身有关的问题。那么我不认为iis\u iusrs权限是原因。

您提到的
iis\u iusrs
安全组,这是一个Web应用程序吗?如果是,则应在问题中对其进行相应标记。目前,您提供的信息有点矛盾,即您正在使用
cscript.exe
执行脚本,但谈论的是
iis\u iusr
权限?
%SystemDrive%\Users
文件夹是一个系统文件夹,因此可能需要提升权限才能访问它,UAC再次罢工@Lankymart有人回答我说可能是iis_iusr permissionsOk,在这种情况下,他们假设您正在用经典ASP(默认情况下使用VBScript)开发Web应用程序。从这里我可以看到,虽然您直接从
cscript.exe
调用脚本,但这一切都不相关。然而,与此相关的是,它很可能是我上面提到的权限问题。该文件夹被视为一个系统文件夹,因此UAC可能会对谁可以通过编程方式访问它更加严格。您可以尝试通过提升的命令提示符运行脚本作为测试吗?您提到了
iis\u iusrs
security group,这是一个Web应用程序吗?如果是,则应在问题中对其进行相应标记。目前,您提供的信息有点矛盾,即您正在使用
cscript.exe
执行脚本,但谈论的是
iis\u iusr
权限?
%SystemDrive%\Users
文件夹是一个系统文件夹,因此可能需要提升权限才能访问它,UAC再次罢工@Lankymart有人回答我说可能是iis_iusr permissionsOk,在这种情况下,他们假设您正在用经典ASP(默认情况下使用VBScript)开发Web应用程序。从这里我可以看到,虽然您直接从
cscript.exe
调用脚本,但这一切都不相关。然而,与此相关的是,它很可能是我上面提到的权限问题。该文件夹被视为一个系统文件夹,因此UAC可能会对谁可以通过编程方式访问它更加严格。可以尝试通过提升的命令提示符运行脚本作为测试吗?