共用方式為


如何使用 WMI 記錄追蹤

追蹤擷取是指檢視追蹤日志的過程。 對於主機整合伺服器,這通常是指將儲存在追蹤記錄對象中的數據整理成單一檔案,並將它儲存至指定的位置。 您可以像從 Windows Management Instrumentation(WMI)擷取其他資訊一樣,擷取 SNA 追蹤資訊。 您可以使用 ExecQuery 呼叫相關的物件,然後將資訊寫入您想要的位置。

擷取痕跡

  1. 使用 GetObject 並在參數中指定一個識別標記來連接到命名空間。

  2. 使用 ExecQuery 擷取代表 SNA 應用程式的物件。

    擷取追蹤的核心功能可以在下列程式代碼中描述:

    Set colItems = objWMIService.ExecQuery("Select * from MsHisTrace_SNAApplication",,48)  
    Set colItems = objWMIService.ExecQuery("Select * from MsHisTrace_SNABase",,48)  
    

    此範例中其他一切都是支持記錄至檔案。

    下列程式範例說明如何捕捉追蹤紀錄。

On Error Resume Next  
strComputer = "."  
Dim iCounter  
'Initialize  
    CreateLogFile  
    Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\MicrosoftHIS")  
  
'Validate TraceSnaApplication  
    iCounter = 0  
    Set colItems = objWMIService.ExecQuery("Select * from MsHisTrace_SNAApplication",,48)  
For Each objItem in colItems  
    Wscript.Echo "APPCTrace: " & objItem.APPCTrace  
    Wscript.Echo "CPICTrace: " & objItem.CPICTrace  
    Wscript.Echo "CSVTrace: " & objItem.CSVTrace  
    Wscript.Echo "EnabledTraces: " & objItem.EnabledTraces  
    Wscript.Echo "InternalMessageTrace: " & objItem.InternalMessageTrace  
    Wscript.Echo "LU62Trace: " & objItem.LU62Trace  
    Wscript.Echo "LUATrace: " & objItem.LUATrace  
    Wscript.Echo "T3270Trace: " & objItem.T3270Trace  
    iCounter = iCounter + 1  
Next  
  
if iCounter > 0 then  
    Wscript.Echo "Number of Instances found " & iCounter  
else  
    Wscript.Echo "No Instances Found"  
End If  
  
    iCounter = 0  
    Set colItems = objWMIService.ExecQuery("Select * from MsHisTrace_SNABase",,48)  
For Each objItem in colItems  
    Wscript.Echo "EnabledTraces: " & objItem.EnabledTraces  
    Wscript.Echo "InternalMessageTrace: " & objItem.InternalMessageTrace  
    Wscript.Echo "LU62Trace: " & objItem.LU62Trace  
    Wscript.Echo "T3270Trace: " & objItem.T3270Trace  
    iCounter = iCounter + 1  
Next  
  
if iCounter > 0 then  
    Wscript.Echo "Number of Instances found " & iCounter  
else  
    Wscript.Echo "No Instances Found"  
End If