如何使用 WMI 捕获跟踪

跟踪捕获是指查看跟踪日志的过程。 对于 Host Integration Server,这通常是指将跟踪日志对象中存储的数据整理到单个文件中,并将其保存到指定位置。 可以像从 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