-
Notifications
You must be signed in to change notification settings - Fork 26
Using data from ResultSet in tanium_ng
- Example Source Dataset
- ResultSetList objects
- ResultSet object in ResultSetList objects
- Working with rows in ResultSet objects
- Working with Columns in ResultSet objects
- Pulling it all together
- XML Request
- XML Response
Note
This is only valid for PyTan 4.0.0 (not yet released!!)
This dataset is the return from asking the question Get Computer Name and IP Route Details and IP Address and Installed Applications from all machines
, waiting for all answers to come in from 3 clients, and then performing a GetResultData using pytan.handler.get_result_data(). See XML Request and XML Response at the bottom to see the raw XML request and respones to/from Tanium.
ResultSetLists hold a list of ResultSet's, but the API only ever returns one (AFAIK):
>>> type(rd)
<class 'pytan.tanium_ng.ResultSetList'>
>>> print(rd)
ResultSetList: ResultSetList.now=2015/12/30 17:05:01 GMT-0000, ResultSetList.result_set=ResultSet: ResultSet.age=0, ResultSet.archived_question_id=0, ResultSet.columns=ColumnList: ColumnList.length=13, ResultSet.estimated_total=3, ResultSet.expire_seconds=0, ResultSet.filtered_row_count=3, ResultSet.filtered_row_count_machines=3, ResultSet.issue_seconds=0, ResultSet.item_count=3, ResultSet.mr_passed=3, ResultSet.mr_tested=3, ResultSet.passed=3, ResultSet.question_id=40328, ResultSet.report_count=2, ResultSet.row_count=3, ResultSet.row_count_machines=3, ResultSet.rows=RowList: RowList.length=3, ResultSet.saved_question_id=0, ResultSet.seconds_since_issued=0, ResultSet.select_count=4, ResultSet.tested=3
Print when this data was gathered:
>>> print(rd.now)
2015/12/30 17:05:01 GMT-0000
ResultSets hold the row and column data for a given question:
>>> type(rd.result_set)
<class 'pytan.tanium_ng.ResultSet'>
>>> print(rd.result_set)
ResultSet: ResultSet.age=0, ResultSet.archived_question_id=0, ResultSet.columns=ColumnList: ColumnList.length=13, ResultSet.estimated_total=3, ResultSet.expire_seconds=0, ResultSet.filtered_row_count=3, ResultSet.filtered_row_count_machines=3, ResultSet.issue_seconds=0, ResultSet.item_count=3, ResultSet.mr_passed=3, ResultSet.mr_tested=3, ResultSet.passed=3, ResultSet.question_id=40328, ResultSet.report_count=2, ResultSet.row_count=3, ResultSet.row_count_machines=3, ResultSet.rows=RowList: RowList.length=3, ResultSet.saved_question_id=0, ResultSet.seconds_since_issued=0, ResultSet.select_count=4, ResultSet.tested=3
Print the estimated number of clients currently available:
>>> print(rd.result_set.estimated_total)
3
.. todo:: document the other attributes available in a result_set
Rows are stored in rd.result_set.rows:
>>> rows = rd.result_set.rows
>>> type(rows)
<class 'pytan.tanium_ng.RowList'>
Individual rows are available via rows[n] or rows.rows[n]:
>>> type(rows.rows)
<class 'list'>
See how many rows contained in this result_set:
>>> len(rows)
3
Get row 1 for this result set:
>>> row = rows[0]
>>> type(row)
<class 'pytan.tanium_ng.Row'>
>>> print(row)
Row: Row.length=13, Row.id=1301093592, Row.cid=2275854501
Columns are available via row[n] or row.columns[n] or row['Display Name']:
>>> type(row.columns)
<class 'list'>
See how many columns are in this row:
>>> len(row)
13
Get col 1 for this row:
>>> col = row[0]
>>> type(col)
<class 'pytan.tanium_ng.Column'>
>>> print(col)
Column: Column.length=1, Column.display_name=Computer Name, Column.result_type_int=1, Column.what_hash=3409330187, Column.result_type=String
Get the hash of the sensor correlated with this column in this row:
>>> print(col.what_hash)
3409330187
Get the name of this sensors subcolumn for this column in this row:
>>> print(col.display_name)
Computer Name
Get the result type of this sensors subcolumn for this column in this row:
>>> print(col.result_type)
String
Values are available for this column of this row via col[0] or col.values[0]:
>>> type(col.values)
<class 'list'>
See how many values are in this column for this row:
>>> len(col)
1
Get val 1 for this column of this row:
>>> val = col[0]
>>> print(val)
TPT1.pytanlab.com
>>> type(val)
<class 'str'>
Columns are stored in rd.result_set.columns:
>>> columns = rd.result_set.columns
>>> type(columns)
<class 'pytan.tanium_ng.ColumnList'>
Individual columns are available via columns[n] or columns.columns[n]:
>>> type(columns.columns)
<class 'list'>
See how many columns are in this result_set:
>>> len(columns)
13
Get column 1 for this result_set:
>>> col = columns[0]
>>> type(col)
<class 'pytan.tanium_ng.Column'>
>>> print(col)
Column: Column.length=1, Column.display_name=Computer Name, Column.result_type_int=1, Column.what_hash=3409330187, Column.result_type=String
Get the hash of the sensor correlated with this column:
>>> print(col.what_hash)
3409330187
Get the name of this sensors subcolumn for this column:
>>> print(col.display_name)
Computer Name
Get the result type of this sensors subcolumn for this column:
>>> print(col.result_type)
String
Rows are available for this column via col[n] or col.values[n]:
>>> type(col.values)
<class 'list'>
See how many rows are in this column:
>>> len(col)
3
Get the values for the first row of this column:
>>> rowvals = col[0]
>>> print(rowvals)
['TPT1.pytanlab.com']
Get val 1 for this row of this column:
>>> rowval = rowvals[0]
>>> print(rowval)
TPT1.pytanlab.com
>>> type(rowval)
<class 'str'>
This uses the columns as headers for output.
First, get all the column headers:
>>> headers = [c.display_name for c in rd.result_set.columns]
Now get all row values from rows:
>>> all_row_vals = []
>>> for row in rd.result_set.rows:
... this_row_vals = ['; '.join(row[h].values) for h in headers]
... all_row_vals.append(this_row_vals)
Print the first 2 columns of the headers:
>>> for i in headers[0:2]:
... print(i)
Computer Name
Destination
Print the first 2 columns of the each row:
>>> for i in all_row_vals:
... print(i[0:2])
['TPT1.pytanlab.com', '0.0.0.0; 10.0.1.240; 127.0.0.1; 127.0.0.0; 10.0.1.0']
['WIN-6U71ED4M23D', '10.0.1.11; 127.0.0.1; 0.0.0.0; 127.0.0.0; 10.0.1.0']
['auth-services.pytanlab.com', '0.0.0.0; 127.0.0.1; 127.0.0.0; 10.0.1.230; 10.0.1.0']
This uses the columns as headers for output.
Create a dict for each row with the key being the columns display name and the value being the values for that column:
>>> all_row_vals = []
>>> for row in rd.result_set.rows:
... this_row_vals = {c.display_name: '; '.join(c) for c in row}
... all_row_vals.append(this_row_vals)
...
Print the first 79 characters of the string form for each row's dict:
>>> for i in all_row_vals:
... print(str(i)[0:79])
...
{'Interface': '-; -; -; -; -', 'IP Address': '10.0.1.240', 'Computer Name': 'TP
{'Interface': '-; -; -; -; -', 'IP Address': '2604:2000:1200:4000:11a5:a1d7:87d
{'Interface': '-; -; -; -; -', 'IP Address': '10.0.1.230; fe80::c968:9004:3983:
This uses the rows as headers for output.
First, create a header to store the column name:
>>> headers = ['Column Name']
Then get all the rows and add a header for each row index:
>>> headers += ['Row {} Values'.format(i + 1) for i, _ in enumerate(rd.result_set.rows)]
Now get all row values from columns:
>>> all_col_vals = []
>>> for col in rd.result_set.columns:
... this_col_vals = [col.display_name]
... this_col_vals += ['; '.join(row) for row in col]
... all_col_vals.append(this_col_vals)
Print the headers:
>>> for i in headers:
... print(i)
...
Column Name
Row 1 Values
Row 2 Values
Row 3 Values
Print the first 2 rows:
>>> for i in all_col_vals[0:2]:
... print(i)
...
['Computer Name', 'TPT1.pytanlab.com', 'WIN-6U71ED4M23D', 'auth-services.pytanlab.com']
['Destination', '0.0.0.0; 10.0.1.240; 127.0.0.1; 127.0.0.0; 10.0.1.0', '10.0.1.11; 127.0.0.1; 0.0.0.0; 127.0.0.0; 10.0.1.0', '0.0.0.0; 127.0.0.1; 127.0.0.0; 10.0.1.230; 10.0.1.0']
This uses the rows as headers for output.
Create a dict for each row of each column with the key being the rows index and the value being the values for that column:
>>> all_col_vals = []
>>> for col in rd.result_set.columns:
... this_col_vals = {'Column Name': col.display_name}
... for idx, values in enumerate(col):
... this_col_vals['Row {} Values'.format(idx + 1)] = '; '.join(values)
... all_col_vals.append(this_col_vals)
...
Print the first 79 characters of the string form for each row's dict:
>>> for i in all_col_vals:
... print(str(i)[0:79])
...
{'Column Name': 'Computer Name', 'Row 2 Values': 'WIN-6U71ED4M23D', 'Row 3 Valu
{'Column Name': 'Destination', 'Row 2 Values': '10.0.1.11; 127.0.0.1; 0.0.0.0;
{'Column Name': 'Gateway', 'Row 2 Values': '0.0.0.0; 0.0.0.0; 10.0.1.1; 0.0.0.0
{'Column Name': 'Mask', 'Row 2 Values': '255.255.255.255; 255.255.255.255; 0.0.
{'Column Name': 'Flags', 'Row 2 Values': '-; -; -; -; -', 'Row 3 Values': '-; -
{'Column Name': 'Metric', 'Row 2 Values': '266; 306; 10; 306; 266', 'Row 3 Valu
{'Column Name': 'Interface', 'Row 2 Values': '-; -; -; -; -', 'Row 3 Values': '
{'Column Name': 'IP Address', 'Row 2 Values': '2604:2000:1200:4000:11a5:a1d7:87
{'Column Name': 'Name', 'Row 2 Values': 'Tanium Client 6.0.314.1195; Microsoft
{'Column Name': 'Version', 'Row 2 Values': '6.0.314.1195; 9.0.30729.6161; 9.10.
{'Column Name': 'Silent Uninstall String', 'Row 2 Values': 'C:\\Program Files (
{'Column Name': 'Uninstallable', 'Row 2 Values': 'Not Uninstallable; Is Uninsta
{'Column Name': 'Count', 'Row 2 Values': '1', 'Row 3 Values': '1', 'Row 1 Value
XML Request to GetResultData for this question:
<?xml version="1.0" encoding="utf-8"?>
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<SOAP-ENV:Body>
<typens:tanium_soap_request xmlns:typens="urn:TaniumSOAP">
<command>GetResultData</command>
<object_list>
<question>
<id>40328</id>
</question>
</object_list>
<options>
<suppress_object_list>1</suppress_object_list>
</options>
</typens:tanium_soap_request>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
XML Response from Tanium:
<?xml version="1.0"?>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" soap:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
<soap:Body xmlns:t="urn:TaniumSOAP" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<t:return>
<command>GetResultData</command>
<session>1-1589-8bd433323366a9985be93e17091ce7c496ed5734a7951148733f4db9dc3a3b6da6c08ef4064f1b21a9dbc9755e74c30813ae2ed1da821f87377ca5f884120588</session>
<ID/>
<IDType/>
<ContextID/>
<server_version>6.5.314.4328</server_version>
<object_list>
<question>
<id>40328</id>
</question>
</object_list>
<options>
<suppress_object_list>1</suppress_object_list>
</options>
<ResultXML>
<![CDATA[<result_sets>
<now>2015/12/30 17:05:01 GMT-0000</now>
<result_set>
<age>0</age>
<archived_question_id>0</archived_question_id>
<saved_question_id>0</saved_question_id>
<question_id>40328</question_id>
<report_count>2</report_count>
<seconds_since_issued>0</seconds_since_issued>
<issue_seconds>0</issue_seconds>
<expire_seconds>0</expire_seconds>
<tested>3</tested>
<passed>3</passed>
<mr_tested>3</mr_tested>
<mr_passed>3</mr_passed>
<estimated_total>3</estimated_total>
<select_count>4</select_count>
<cs>
<c>
<wh>3409330187</wh>
<dn>Computer Name</dn>
<rt>1</rt>
</c>
<c>
<wh>435227963</wh>
<dn>Destination</dn>
<rt>5</rt>
</c>
<c>
<wh>435227963</wh>
<dn>Gateway</dn>
<rt>5</rt>
</c>
<c>
<wh>435227963</wh>
<dn>Mask</dn>
<rt>1</rt>
</c>
<c>
<wh>435227963</wh>
<dn>Flags</dn>
<rt>1</rt>
</c>
<c>
<wh>435227963</wh>
<dn>Metric</dn>
<rt>9</rt>
</c>
<c>
<wh>435227963</wh>
<dn>Interface</dn>
<rt>1</rt>
</c>
<c>
<wh>3209138996</wh>
<dn>IP Address</dn>
<rt>5</rt>
</c>
<c>
<wh>1511329504</wh>
<dn>Name</dn>
<rt>1</rt>
</c>
<c>
<wh>1511329504</wh>
<dn>Version</dn>
<rt>2</rt>
</c>
<c>
<wh>1511329504</wh>
<dn>Silent Uninstall String</dn>
<rt>1</rt>
</c>
<c>
<wh>1511329504</wh>
<dn>Uninstallable</dn>
<rt>1</rt>
</c>
<c>
<wh>0</wh>
<dn>Count</dn>
<rt>3</rt>
</c>
</cs>
<filtered_row_count>3</filtered_row_count>
<filtered_row_count_machines>3</filtered_row_count_machines>
<row_count>3</row_count>
<row_count_machines>3</row_count_machines>
<item_count>3</item_count>
<rs>
<r>
<id>1301093592</id>
<cid>2275854501</cid>
<c>
<v>TPT1.pytanlab.com</v>
</c>
<c>
<v>0.0.0.0</v>
<v>10.0.1.240</v>
<v>127.0.0.1</v>
<v>127.0.0.0</v>
<v>10.0.1.0</v>
</c>
<c>
<v>10.0.1.1</v>
<v>0.0.0.0</v>
<v>0.0.0.0</v>
<v>0.0.0.0</v>
<v>0.0.0.0</v>
</c>
<c>
<v>0.0.0.0</v>
<v>255.255.255.255</v>
<v>255.255.255.255</v>
<v>255.0.0.0</v>
<v>255.255.255.0</v>
</c>
<c>
<v>-</v>
<v>-</v>
<v>-</v>
<v>-</v>
<v>-</v>
</c>
<c>
<v>266</v>
<v>266</v>
<v>306</v>
<v>306</v>
<v>266</v>
</c>
<c>
<v>-</v>
<v>-</v>
<v>-</v>
<v>-</v>
<v>-</v>
</c>
<c>
<v>10.0.1.240</v>
</c>
<c>
<v>7-Zip 9.20 (x64 edition)</v>
<v>Microsoft SQL Server 2008 R2 Management Objects</v>
<v>Microsoft SQL Server System CLR Types</v>
<v>Microsoft SQL Server 2012 (64-bit)</v>
<v>Microsoft Visual C++ 2010 x86 Runtime - 10.0.40219</v>
<v>Microsoft SQL Server 2012 Setup (English)</v>
<v>Microsoft SQL Server 2012 Native Client </v>
<v>Tanium Server 6.5.314.4328</v>
<v>Google Chrome</v>
<v>Java 8 Update 65</v>
<v>Microsoft Help Viewer 1.1</v>
<v>Microsoft Visual Studio 2010 Shell (Isolated) - ENU</v>
<v>OpenSSH for Windows 6.9p1-1 (remove only)</v>
<v>Microsoft SQL Server 2008 Setup Support Files </v>
<v>Adobe Flash Player 18 ActiveX</v>
<v>Microsoft Report Viewer 2012 Runtime</v>
<v>Tanium Client 6.0.314.1195</v>
<v>Microsoft Visual C++ 2010 x86 Redistributable - 10.0.40219</v>
<v>Visual Studio 2010 Prerequisites - English</v>
<v>7-Zip 15.12 (x64)</v>
<v>Microsoft Visual C++ 2012 Redistributable (x64) - 11.0.61030</v>
<v>Microsoft SQL Server 2012 Transact-SQL ScriptDom </v>
<v>Tanium Client Deployment Tool</v>
<v>Microsoft VSS Writer for SQL Server 2012</v>
<v>Tanium Module Server 6.5.314.4328</v>
<v>Microsoft Visual C++ 2008 Redistributable - x86 9.0.30729.4974</v>
<v>SQL Server Browser for SQL Server 2012</v>
<v>Microsoft .NET Framework 4 Multi-Targeting Pack</v>
<v>Microsoft Visual C++ 2010 x64 Redistributable - 10.0.40219</v>
<v>Microsoft Visual C++ 2008 Redistributable - x64 9.0.30729.6161</v>
<v>Microsoft SQL Server 2012 Transact-SQL Compiler Service </v>
<v>VMware Tools</v>
<v>Microsoft System CLR Types for SQL Server 2012 (x64)</v>
<v>Microsoft Visual C++ 2008 Redistributable - x86 9.0.30729.4148</v>
<v>Notepad++</v>
<v>Microsoft .NET Framework 4.5.2</v>
<v>Python 2.7.10</v>
</c>
<c>
<v>9.20.00.0</v>
<v>10.51.2500.0</v>
<v>10.51.2500.0</v>
<v>64-</v>
<v>10.0.40219</v>
<v>11.1.3128.0</v>
<v>11.0.2100.60</v>
<v>6.5.314.4328</v>
<v>47.0.2526.106</v>
<v>8.0.650.17</v>
<v>1.1.40219</v>
<v>10.0.40219</v>
<v>1-1</v>
<v>10.1.2731.0</v>
<v>18.0.0.232</v>
<v>11.0.2100.60</v>
<v>6.0.314.1195</v>
<v>10.0.40219</v>
<v>10.0.40219</v>
<v>15.12</v>
<v>11.0.61030.0</v>
<v>11.0.2100.60</v>
<v>6.0.0.1</v>
<v>11.0.2100.60</v>
<v>6.5.314.4328</v>
<v>9.0.30729.4974</v>
<v>11.0.2100.60</v>
<v>4.0.30319</v>
<v>10.0.40219</v>
<v>9.0.30729.6161</v>
<v>11.0.2100.60</v>
<v>9.10.0.2476743</v>
<v>11.0.2100.60</v>
<v>9.0.30729.4148</v>
<v>6.8.6</v>
<v>4.5.51209</v>
<v>2.7.10150</v>
</c>
<c>
<v>MsiExec.exe /X{23170F69-40C1-2702-0920-000001000000} /qn /noreboot</v>
<v>MsiExec.exe /X{83F2B8F4-5CF3-4BE9-9772-9543EAE4AC5F} /qn /noreboot</v>
<v>MsiExec.exe /X{C3F6F200-6D7B-4879-B9EE-700C0CE1FCDA} /qn /noreboot</v>
<v>"c:\Program Files\Microsoft SQL Server\110\Setup Bootstrap\SQLServer2012\x64\SetupARP.exe"</v>
<v>MsiExec.exe /X{5D9ED403-94DE-3BA0-B1D6-71F4BDA412E6} /qn /noreboot</v>
<v>MsiExec.exe /X{8CB0713F-CFE0-445D-BCB2-538465860E1A} /qn /noreboot</v>
<v>MsiExec.exe /X{49D665A2-4C2A-476E-9AB8-FCC425F526FC} /qn /noreboot</v>
<v>C:\Program Files\Tanium\Tanium Server\uninst.exe</v>
<v>"C:\Program Files (x86)\Google\Chrome\Application\47.0.2526.106\Installer\setup.exe" --uninstall --multi-install --chrome --system-level</v>
<v>MsiExec.exe /X{26A24AE4-039D-4CA4-87B4-2F83218065F0} /qn /noreboot</v>
<v>c:\Program Files\Microsoft Help Viewer\v1.0\Microsoft Help Viewer 1.1\install.exe</v>
<v>MsiExec.exe /X{D64B6984-242F-32BC-B008-752806E5FC44} /qn /noreboot</v>
<v>"C:\Program Files\OpenSSH\uninstall.exe" /x86=0</v>
<v>MsiExec.exe /X{B40EE88B-400A-4266-A17B-E3DE64E94431} /qn /noreboot</v>
<v>C:\Windows\SysWOW64\Macromed\Flash\FlashUtil32_18_0_0_232_ActiveX.exe -maintain activex</v>
<v>MsiExec.exe /X{9CCE40CE-A9E6-4916-8729-B008558EEF3F} /qn /noreboot</v>
<v>C:\Program Files (x86)\Tanium\Tanium Client\uninst.exe</v>
<v>MsiExec.exe /X{F0C3E5D1-1ADE-321E-8167-68EF0DE699A5} /qn /noreboot</v>
<v>MsiExec.exe /X{662014D2-0450-37ED-ABAE-157C88127BEB} /qn /noreboot</v>
<v>C:\Program Files\7-Zip\Uninstall.exe</v>
<v>"C:\ProgramData\Package Cache\{ca67548a-5ebe-413a-b50c-4b9ceb6d66c6}\vcredist_x64.exe" /uninstall</v>
<v>MsiExec.exe /X{0E8670B8-3965-4930-ADA6-570348B67153} /qn /noreboot</v>
<v>"C:\Program Files (x86)\Tanium\Tanium Client Deployment Tool\uninstall.exe"</v>
<v>MsiExec.exe /X{3E0DD83F-BE4C-4478-86A0-AD0D79D1353E} /qn /noreboot</v>
<v>C:\Program Files\Tanium\Tanium Module Server\uninst.exe</v>
<v>MsiExec.exe /X{B7E38540-E355-3503-AFD7-635B2F2F76E1} /qn /noreboot</v>
<v>MsiExec.exe /X{4B9E6EB0-0EED-4E74-9479-F982C3254F71} /qn /noreboot</v>
<v>MsiExec.exe /X{CFEF48A8-BFB8-3EAC-8BA5-DE4F8AA267CE} /qn /noreboot</v>
<v>MsiExec.exe /X{1D8E6291-B0D5-35EC-8441-6616F567A0F7} /qn /noreboot</v>
<v>MsiExec.exe /X{5FCE6D76-F5DC-37AB-B2B8-22AB8CEDB1D4} /qn /noreboot</v>
<v>MsiExec.exe /X{BEB0F91E-F2EA-48A1-B938-7857ABF2A93D} /qn /noreboot</v>
<v>MsiExec.exe /X{203A1A10-9CC9-4253-8975-44C76A0C9C7B} /qn /noreboot</v>
<v>MsiExec.exe /X{F1949145-EB64-4DE7-9D81-E6D27937146C} /qn /noreboot</v>
<v>MsiExec.exe /X{1F1C2DFC-2D24-3E06-BCB8-725134ADF989} /qn /noreboot</v>
<v>C:\Program Files (x86)\Notepad++\uninstall.exe</v>
<v>C:\Windows\Microsoft.NET\Framework64\v4.0.30319\SetupCache\v4.5.51209\\Setup.exe /repair /x86 /x64</v>
<v>MsiExec.exe /X{E2B51919-207A-43EB-AE78-733F9C6797C2} /qn /noreboot</v>
</c>
<c>
<v>Is Uninstallable</v>
<v>Is Uninstallable</v>
<v>Is Uninstallable</v>
<v>Not Uninstallable</v>
<v>Is Uninstallable</v>
<v>Is Uninstallable</v>
<v>Is Uninstallable</v>
<v>Not Uninstallable</v>
<v>Not Uninstallable</v>
<v>Is Uninstallable</v>
<v>Not Uninstallable</v>
<v>Is Uninstallable</v>
<v>Not Uninstallable</v>
<v>Is Uninstallable</v>
<v>Not Uninstallable</v>
<v>Is Uninstallable</v>
<v>Not Uninstallable</v>
<v>Is Uninstallable</v>
<v>Is Uninstallable</v>
<v>Not Uninstallable</v>
<v>Not Uninstallable</v>
<v>Is Uninstallable</v>
<v>Not Uninstallable</v>
<v>Is Uninstallable</v>
<v>Not Uninstallable</v>
<v>Is Uninstallable</v>
<v>Is Uninstallable</v>
<v>Is Uninstallable</v>
<v>Is Uninstallable</v>
<v>Is Uninstallable</v>
<v>Is Uninstallable</v>
<v>Is Uninstallable</v>
<v>Is Uninstallable</v>
<v>Is Uninstallable</v>
<v>Not Uninstallable</v>
<v>Not Uninstallable</v>
<v>Is Uninstallable</v>
</c>
<c>
<v>1</v>
</c>
</r>
<r>
<id>711537775</id>
<cid>1111729407</cid>
<c>
<v>WIN-6U71ED4M23D</v>
</c>
<c>
<v>10.0.1.11</v>
<v>127.0.0.1</v>
<v>0.0.0.0</v>
<v>127.0.0.0</v>
<v>10.0.1.0</v>
</c>
<c>
<v>0.0.0.0</v>
<v>0.0.0.0</v>
<v>10.0.1.1</v>
<v>0.0.0.0</v>
<v>0.0.0.0</v>
</c>
<c>
<v>255.255.255.255</v>
<v>255.255.255.255</v>
<v>0.0.0.0</v>
<v>255.0.0.0</v>
<v>255.255.255.0</v>
</c>
<c>
<v>-</v>
<v>-</v>
<v>-</v>
<v>-</v>
<v>-</v>
</c>
<c>
<v>266</v>
<v>306</v>
<v>10</v>
<v>306</v>
<v>266</v>
</c>
<c>
<v>-</v>
<v>-</v>
<v>-</v>
<v>-</v>
<v>-</v>
</c>
<c>
<v>2604:2000:1200:4000:11a5:a1d7:87da:d65c</v>
<v>10.0.1.11</v>
<v>fe80::11a5:a1d7:87da:d65c</v>
</c>
<c>
<v>Tanium Client 6.0.314.1195</v>
<v>Microsoft Visual C++ 2008 Redistributable - x64 9.0.30729.6161</v>
<v>VMware Tools</v>
<v>Microsoft Visual C++ 2008 Redistributable - x86 9.0.30729.4148</v>
</c>
<c>
<v>6.0.314.1195</v>
<v>9.0.30729.6161</v>
<v>9.10.0.2476743</v>
<v>9.0.30729.4148</v>
</c>
<c>
<v>C:\Program Files (x86)\Tanium\Tanium Client\uninst.exe</v>
<v>MsiExec.exe /X{5FCE6D76-F5DC-37AB-B2B8-22AB8CEDB1D4} /qn /noreboot</v>
<v>MsiExec.exe /X{203A1A10-9CC9-4253-8975-44C76A0C9C7B} /qn /noreboot</v>
<v>MsiExec.exe /X{1F1C2DFC-2D24-3E06-BCB8-725134ADF989} /qn /noreboot</v>
</c>
<c>
<v>Not Uninstallable</v>
<v>Is Uninstallable</v>
<v>Is Uninstallable</v>
<v>Is Uninstallable</v>
</c>
<c>
<v>1</v>
</c>
</r>
<r>
<id>4184941481</id>
<cid>1153835043</cid>
<c>
<v>auth-services.pytanlab.com</v>
</c>
<c>
<v>0.0.0.0</v>
<v>127.0.0.1</v>
<v>127.0.0.0</v>
<v>10.0.1.230</v>
<v>10.0.1.0</v>
</c>
<c>
<v>10.0.1.1</v>
<v>0.0.0.0</v>
<v>0.0.0.0</v>
<v>0.0.0.0</v>
<v>0.0.0.0</v>
</c>
<c>
<v>0.0.0.0</v>
<v>255.255.255.255</v>
<v>255.0.0.0</v>
<v>255.255.255.255</v>
<v>255.255.255.0</v>
</c>
<c>
<v>-</v>
<v>-</v>
<v>-</v>
<v>-</v>
<v>-</v>
</c>
<c>
<v>266</v>
<v>306</v>
<v>306</v>
<v>266</v>
<v>266</v>
</c>
<c>
<v>-</v>
<v>-</v>
<v>-</v>
<v>-</v>
<v>-</v>
</c>
<c>
<v>10.0.1.230</v>
<v>fe80::c968:9004:3983:4aff</v>
<v>2604:2000:1200:4000:c968:9004:3983:4aff</v>
</c>
<c>
<v>MIT Kerberos for Windows (32-bit) 4.0.1</v>
<v>TACACS.net</v>
<v>Tanium Client 6.0.314.1195</v>
<v>FreeRADIUS.net</v>
<v>Microsoft Visual C++ 2008 Redistributable - x64 9.0.30729.6161</v>
<v>VMware Tools</v>
<v>Microsoft Visual C++ 2008 Redistributable - x86 9.0.30729.4148</v>
<v>Notepad++</v>
</c>
<c>
<v>4.0.1</v>
<v>1.3.2</v>
<v>6.0.314.1195</v>
<v>1.1.7-r0.0.2</v>
<v>9.0.30729.6161</v>
<v>9.10.0.2476743</v>
<v>9.0.30729.4148</v>
<v>6.8.6</v>
</c>
<c>
<v>MsiExec.exe /X{169D7ECF-029B-4A7E-8662-39EF834CB3C9} /qn /noreboot</v>
<v>"C:\Program Files (x86)\InstallShield Installation Information\{5280074D-6AB3-44B2-8B59-C6A808AB55A4}\setup.exe" -runfromtemp -l0x0409 -removeonly</v>
<v>C:\Program Files (x86)\Tanium\Tanium Client\uninst.exe</v>
<v>C:\FreeRADIUS.net\uninstall.exe</v>
<v>MsiExec.exe /X{5FCE6D76-F5DC-37AB-B2B8-22AB8CEDB1D4} /qn /noreboot</v>
<v>MsiExec.exe /X{203A1A10-9CC9-4253-8975-44C76A0C9C7B} /qn /noreboot</v>
<v>MsiExec.exe /X{1F1C2DFC-2D24-3E06-BCB8-725134ADF989} /qn /noreboot</v>
<v>C:\Program Files (x86)\Notepad++\uninstall.exe</v>
</c>
<c>
<v>Is Uninstallable</v>
<v>Not Uninstallable</v>
<v>Not Uninstallable</v>
<v>Not Uninstallable</v>
<v>Is Uninstallable</v>
<v>Is Uninstallable</v>
<v>Is Uninstallable</v>
<v>Not Uninstallable</v>
</c>
<c>
<v>1</v>
</c>
</r>
</rs>
</result_set>
</result_sets>
]]>
</ResultXML>
<result_object/>
</t:return>
</soap:Body>
</soap:Envelope>