用于清理IIS日志的VBscript具有运行时错误

我有一个VBScript,用于压缩旧的IIS日志文件。我仍然收到此错误:

  

microsoft VBScript运行时错误:activeX组件无法创建   对象:“ GetObject”

这是错误所在的行:

Set objIISOuter = GetObject("IIS://LOCALHOST")

我不确定这是什么意思。

对我发现的here进行了尝试,但我无法使用32位或64位来运行任何东西。

我在某处读到它可能是DLL未注册的问题,但我不知道这可能是一个问题,但是可能是错误的。

For Each objWebOuter in objIISOuter
  If LCase(objWebOuter.Class) = "iiswebservice" Then
    Set objIIS = GetObject("IIS://LOCALHOST/W3SVC")
    For Each objWeb in objIIS
      If LCase(objWeb.Class) = "iiswebserver" Then
        Call DeleteLogFiles( _
          objWeb.LogFileDirectory & "\W3SVC" & objWeb.Name,_
          intZipAge,intDelAge)
      End If

我是管理员,所以权限不是问题。有什么想法吗?

lin993400 回答:用于清理IIS日志的VBscript具有运行时错误

这里有两种可能的方法:

使用FileSystemObject获取LogFiles文件夹并删除文件:

sLogFolder = "%SystemDrive%\inetpub\logs\LogFiles"

Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objFolder = objFSO.GetFolder(sLogFolder)

For Each objSubfolder In objFolder.SubFolders
    DeleteFiles objSubfolder.Path,10
Next

另一种方法:

Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objIIS = GetObject("winmgmts:root\WebAdministration")
Set objSites = objIIS.InstancesOf("Site")

For Each objSite In objSites
    DeleteFiles objSite.LogFile.Directory & "\w3svc\" & objSite.ID,10
Next

两种方法都使用以下Sub从文件夹中删除文件:

Sub DeleteFiles(p_sFolder,p_iMaxAge)
    Dim objFSO
    Dim objFolder
    Dim objFile
    Dim iFileAge

    Set objFSO = CreateObject("Scripting.FileSystemObject")
    Set objFolder = objFSO.GetFolder(p_sFolder)

    If objFolder Is Nothing Then Exit Sub

    For Each objFile In objFolder.Files
        iFileAge = Now - objFile.DateCreated
        If iFileAge > (p_iMaxAge) Then
            objFSO.DeleteFile objFile,True
        End If
    Next

End Sub
本文链接:https://www.f2er.com/3149618.html

大家都在问