FolderDiscovery.vbs [英] FolderDiscovery.vbs

查看:60
本文介绍了FolderDiscovery.vbs的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述


我想在主机上手动运行下面提到的脚本来修复其中一个问题是文件夹监控问题。但得到"语句错误的预期结束"

I want to run the below mentioned script manually on a host machine to fix the issue with folder monitoring on one of the issue. But getting the "Expected end of the statement error"

对此有所帮助。

'NAME:FolderDiscovery.vbs

'

'作者:Jaime Correia

'

'评论:文件夹发现的自定义数据源脚本(Opsmgr 2007)

'

'================================== ========================================

' NAME: FolderDiscovery.vbs
'
' AUTHOR: Jaime Correia
'
' COMMENT: Custom DataSource Script for the Folder Discovery (Opsmgr 2007)
'
'==========================================================================

Option Explicit

Option Explicit

Dim oArgs

Dim FolderPath,TargetComputer,TargetComputerID,SourceID,ManagedEntityId

Dim oFSO,oDiscoveryData,oInst

Dim oFolder,subFolder

Dim oAPI

Dim ScriptName,ENU_MESSAGE

Dim oArgs
Dim FolderPath, TargetComputer, TargetComputerID, SourceID, ManagedEntityId
Dim oFSO, oDiscoveryData, oInst
Dim oFolder, subFolder
Dim oAPI
Dim ScriptName, ENU_MESSAGE

Const EVENT_TYPE_ERROR           = 1

Const EVENT_TYPE_WARNING        = 2

Const EVENT_TYPE_SUCCESS        = 4

Const EVENT_TYPE_ERROR          = 1
Const EVENT_TYPE_WARNING        = 2
Const EVENT_TYPE_SUCCESS        = 4

设置oArgs = WScript.Arguments

设置oAPI = CreateObject(" MOM.ScriptAPI")

Set oArgs = WScript.Arguments
Set oAPI = CreateObject("MOM.ScriptAPI")

'运行脚本的参数

SourceId = oArgs(0)

ManagedEntityId = oArrgs(1)

TargetComputer = oArrgs(2)

TargetComputerID = oArrgs(3)

FolderPath = oArgs(4)

'Arguments to run the script
SourceId = oArgs(0)
ManagedEntityId = oArgs(1)
TargetComputer = oArgs(2)
TargetComputerID = oArgs(3)
FolderPath = oArgs(4)

设置oFSO = CreateObject(" Scripting.FileSystemObject")

设置oFolder = oFSO.GetFolder(FolderPath)

Set oFSO = CreateObject("Scripting.FileSystemObject")
Set oFolder = oFSO.GetFolder(FolderPath)

如果Err.Number = 0那么

If Err.Number = 0 Then

 '活动成功

  ScriptName =" ScriptName = FolderDiscovery.vbs"

  ENU_MESSAGE = vbCr& amp; "FolderPath:" &放大器;放大器; FolderPath& amp; " ***此文件夹是一个共享,它被发现  with all is子文件夹***" b $ b  CAll oAPI.LogScriptEvent(ScriptName,10605,EVENT_TYPE_SUCCESS,ENU_Message)

 'Events for success
 ScriptName = "ScriptName = FolderDiscovery.vbs"
 ENU_MESSAGE = vbCr & "FolderPath: " & FolderPath & " *** This Folder is a share and it's discovered  with all is subfolders ***"
 CAll oAPI.LogScriptEvent (ScriptName, 10605, EVENT_TYPE_SUCCESS ,ENU_Message)

 设置oDiscoveryData = oAPI。 CreateDiscoveryData(0,SourceID,ManagedEntityId)

  GetInfo(oFolder)

Else

 '失败的事件

  ScriptName =" ScriptName = FolderDiscovery.vbs"

  ENU_MESSAGE = vbCr& amp; "FolderPath:" &放大器;放大器; FolderPath& amp; "没被发现" &放大器;放大器; vbCr& amp; _
$
  "错误说明:" &放大器;放大器; Err.Description& amp; vbCr& amp; "错误号码:" &放大器;放大器; Err.Number

  CAll oAPI.LogScriptEvent(ScriptName,10610,EVENT_TYPE_WARNING,ENU_Message)

结束如果 

 Set oDiscoveryData = oAPI.CreateDiscoveryData(0, SourceID, ManagedEntityId)
 GetInfo(oFolder)
Else
 'Events for failure
 ScriptName = "ScriptName = FolderDiscovery.vbs"
 ENU_MESSAGE = vbCr & "FolderPath: " & FolderPath & " was not discovered" & vbCr & _
  "Error Description: " & Err.Description & vbCr & "Error Number: " & Err.Number
 CAll oAPI.LogScriptEvent (ScriptName, 10610, EVENT_TYPE_WARNING ,ENU_Message)
End If 

Sub GetInfo (ByVal oFolder)

  For each subFolder in oFolder.SubFolders

   GetInfo(subFolder)

  Next

  呼叫主(oFolder)

结束子

Sub GetInfo(ByVal oFolder)
 For Each subFolder In oFolder.SubFolders
  GetInfo(subFolder)
 Next
  Call main(oFolder)
End Sub

子主要(ByVal oFolder)

Sub main(ByVal oFolder)

 '测试字符串以测试脚本

 '***************

 'WScript .Echo"FolderName:" &放大器;放大器; oFolder.Name& amp; " -----" &放大器;放大器; "FolderPath:" &放大器;放大器; oFolder.Path

 '***************

  

  ;'创建实例 

  设置oInst = oDiscoveryData.CreateClassInstance(" $ MPElement [Name ='Windows.Monitoring.FileSystem.Folder'] $")

 '定义班级的属性值。

   with oInst

        .AddProperty" $ MPElement [Name ='Windows!Microsoft.Windows.Computer'] / PrincipalName $",targetComputerID

        .AddProperty" $ MPElement [Name ='Windows.Monitoring.FileSystem.Folder'] / Name $",oFolder.Name

        .AddProperty" $ MPElement [Name ='Windows.Monitoring.FileSystem.Folder'] / Path $",oFolder.Path

        .AddProperty" $ MPElement [Name ='Windows.Monitoring.FileSystem.Folder'] / Drive $",oFolder.Drive

        .AddProperty" $ MPElement [Name ='Windows.Monitoring.FileSystem.Folder'] / Size $" ;, formatnumber(oFolder.Size / 1024)

     ;     .AddProperty" $ MPElement [Name ='Windows.Monitoring.FileSystem.Folder'] / DateCreated $",oFolder.DateCreated

        .AddProperty" $ MPElement [Name ='Windows.Monitoring.FileSystem.Folder'] / DateAccessed $",oFolder.DateLastAccessed

        .AddProperty" $ MPElement [Name ='Windows.Monitoring.FileSystem.Folder'] / DateModified $",oFolder.DateLastModified

        .AddProperty" $ MPElement [Name ='System!System.Entity'] / DisplayName $",oFolder.Path

      结束与$
     '发现应用程序的组件。

 致电oDiscoveryData.AddInstance(oInst)   

End Sub

'将数据返回给Opsmgr

调用oAPI.Return(oDiscoveryData)

 'Test string to test the script
 '***************
 'WScript.Echo "FolderName: " & oFolder.Name & " ----- " & "FolderPath: " & oFolder.Path
 '***************
  
 'Creating instance 
  Set oInst = oDiscoveryData.CreateClassInstance("$MPElement[Name='Windows.Monitoring.FileSystem.Folder']$")
 ' Define the property values of the class.
  With oInst
       .AddProperty "$MPElement[Name='Windows!Microsoft.Windows.Computer']/PrincipalName$", targetComputerID
       .AddProperty "$MPElement[Name='Windows.Monitoring.FileSystem.Folder']/Name$", oFolder.Name
       .AddProperty "$MPElement[Name='Windows.Monitoring.FileSystem.Folder']/Path$", oFolder.Path
       .AddProperty "$MPElement[Name='Windows.Monitoring.FileSystem.Folder']/Drive$", oFolder.Drive
       .AddProperty "$MPElement[Name='Windows.Monitoring.FileSystem.Folder']/Size$", formatnumber(oFolder.Size/1024)
       .AddProperty "$MPElement[Name='Windows.Monitoring.FileSystem.Folder']/DateCreated$", oFolder.DateCreated
       .AddProperty "$MPElement[Name='Windows.Monitoring.FileSystem.Folder']/DateAccessed$", oFolder.DateLastAccessed
       .AddProperty "$MPElement[Name='Windows.Monitoring.FileSystem.Folder']/DateModified$", oFolder.DateLastModified
       .AddProperty "$MPElement[Name='System!System.Entity']/DisplayName$", oFolder.Path
      End With
     ' Discover the application's components.
 Call oDiscoveryData.AddInstance(oInst)   
End Sub
'Returning data to Opsmgr
Call oAPI.Return(oDiscoveryData)

推荐答案

你有几行这种形式。他们毫无意义。 "& amp;"是什么意思?

You have several lines of this form. They make no sense. What do you mean with "&"?

ENU_MESSAGE = vbCr& amp; "FolderPath:" &放大器;放大器; FolderPath& amp; " ***此文件夹是一个共享,它被发现 所有是子文件夹***"


这篇关于FolderDiscovery.vbs的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆