파일 공유를 위한 Server 2003 성능 카운터?

파일 공유를 위한 Server 2003 성능 카운터?

여러 가지 다른 일이 진행되는 디스크가 있습니다. 파일 공유로 인해 디스크 활동이 대략 어느 정도 발생하는지 확인하고 싶습니다. 이에 대한 카운터가 있습니까?

또한, 제가 이런 꿈을 꾸었을 수도 있는데, 공유 내 특정 폴더의 파일 활동을 모니터링할 수 있는 일부 프로그램을 본 기억이 있는 것 같습니다. 벨이 울리나요? 감사해요.

답변1

폴더 활동 모니터링과 관련하여:

WMI(CIM_DataFile)를 사용하면 다음과 유사한 쿼리를 사용하여 폴더의 수정 사항을 모니터링할 수 있습니다.

TargetInstance ISA "CIM_DataFile" AND TargetInstance.Drive="C:" AND TargetInstance.Path="\Data"인 경우 1 내의 __InstanceOperationEvent에서 * 선택

이 같은:

' Full path to the folder to monitor
sPath = "\\localhost\c$\Scripts"
sComputer = split(sPath,"\")(2)
sDrive = split(sPath,"\")(3)
sDrive = REPLACE(sDrive, "$", ":")
sFolders = split(sPath,"$")(1)
sFolders = REPLACE(sFolders, "\", "\\") & "\\"

' Create our WMI instance
Set objWMIService = GetObject("winmgmts:\\" & sComputer & "\root\cimv2")
' Begin monitoring
Set colMonitoredEvents = objWMIService.ExecNotificationQuery _
("SELECT * FROM __InstanceOperationEvent WITHIN 1 WHERE " _
& "TargetInstance ISA 'CIM_DataFile' AND " _
& "TargetInstance.Drive='" & sDrive & "' AND " _
& "TargetInstance.Path='" & sFolders & "'")

Wscript.Echo vbCrlf & Now & vbTab & _
"Begin Monitoring for a Folder Change Event..." & vbCrlf

Do
    Set objLatestEvent = colMonitoredEvents.NextEvent
    Select Case objLatestEvent.Path_.Class

        Case "__InstanceCreationEvent"
            WScript.Echo Now & vbTab & objLatestEvent.TargetInstance.FileName _
            & " was created" & vbCrlf

        Case "__InstanceDeletionEvent"
            WScript.Echo Now & vbTab & objLatestEvent.TargetInstance.FileName _
            & " was deleted" & vbCrlf

        Case "__InstanceOperationEvent"
            If objLatestEvent.TargetInstance.LastModified <> _
                objLatestEvent.PreviousInstance.LastModified then
                WScript.Echo Now & vbTab & objLatestEvent.TargetInstance.FileName _
                & " was modified" & vbCrlf
            End If

        IF objLatestEvent.TargetInstance.LastAccessed <> _
            objLatestEvent.PreviousInstance.LastAccessed then
            WScript.Echo Now & vbTab & objLatestEvent.TargetInstance.FileName _
            & " was accessed" & vbCrlf
        End If

    End Select
Loop

Set objWMIService = nothing
Set colMonitoredEvents = nothing
Set objLatestEvent = nothing

관련 정보