【发布时间】:2020-03-03 07:55:39
【问题描述】:
我有一个用于压缩旧 IIS 日志文件的 VBScript。我不断收到此错误:
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
我是管理员,所以权限不是问题。有什么想法吗?
【问题讨论】:
-
"IIS://LOCALHOST"不是 ActiveX 组件,如错误所示。你想用objIISOuter对象做什么? -
您应该切换到 PowerShell。如果您坚持使用 VBScript,则必须在您的 IIS 安装中启用 IIS 6 兼容性,否则将无法正常工作。
-
@ÉtienneLaneville 我正在尝试获取日志文件以压缩它们。编辑应该更多地解释发生了什么
-
@LexLi 我认为 IIS 6 兼容性已启用。是的,我宁愿在 powershell 中执行此操作,但如果我可以修复此脚本,那将是首选
-
在我看来,您可以直接使用“%SystemDrive%\inetpub\logs\LogFiles”路径作为日志文件夹路径,然后您可以使用
Scripting.FileSystemObject删除该文件夹。更多细节你可以参考这个article。
标签: iis vbscript runtime-error iis-logs