如何使用 WMI 擷取追蹤
追蹤擷取是指檢視追蹤記錄的程式。 對於主機整合伺服器,這通常是指將儲存在追蹤記錄物件中的資料定序到單一檔案,並將它儲存至指定的位置。 您可以擷取 SNA 追蹤資訊的方式與從 Windows Management Instrumentation 擷取任何其他資訊的方式相同, (WMI) 。 您可以使用 ExecQuery 呼叫相關物件,然後將資訊寫入您想要的位置。
擷取追蹤
使用 GetObject 搭配 參數中的 Moniker 連接到命名空間。
使用 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