Capture d’une trace avec WMI

La capture de trace désigne le processus d’affichage des journaux de traces. Pour Host Integration Server, cela fait généralement référence à la réunion des données stockées dans des objets de journal de traçage dans un fichier unique, puis à leur enregistrement à un emplacement spécifié. Vous pouvez capturer les informations de trace SNA de la même manière que vous récupéreriez d’autres informations à partir de Windows Management Instrumentation (WMI). Vous utilisez ExecQuery pour effectuer un appel à l’objet approprié, puis écrire les informations à l’emplacement souhaité.

Pour capturer une trace

  1. Connectez-vous à l’espace de noms à l’aide de GetObject avec un moniker dans le paramètre.

  2. Récupérez les objets représentant l’application SNA à l’aide de ExecQuery.

    Les principales fonctionnalités de capture d’une trace peuvent être décrites dans le code suivant :

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

    Tout le reste de cet exemple est conçu pour faciliter la journalisation vers un fichier.

    L’exemple de code suivant montre comment capturer une trace :

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