Contents
-
Introducing Tachyon
-
Quick Start
-
Implementing Tachyon
-
Using Settings
-
Using Explorer
-
Using Guaranteed State
-
Using Inventory
-
Using Experience
-
Using Patch Success
-
Troubleshooting
-
Extending Tachyon
-
Training
-
Tachyon Operator v5.0 Lab Guide
-
Tachyon Advanced v5.0 Lab Guide
-
Ex 1 - TCN Adv 5.0 - TIMS Explained
-
Ex 2 - TCN Adv 5.0 - TIMS Functions
-
Ex 3 - TCN Adv 5.0 - SCALE The Relational Model
-
Ex 4 - TCN Adv 5.0 - Creating an Instruction: Critical Services
-
Ex 5 - TCN Adv 5.0 - Creating an Instruction that executes a Script
-
Ex 6 - TCN Adv 5.0 - Visualization and Aggregation
-
Ex 7 - TCN Adv 5.0 - Extending Guaranteed State
-
Ex 8 - TCN Adv 5.0 - Real World Examples for Guaranteed State
-
Ex 9 - TCN Adv 5.0 - Tachyon Activity Record
-
Ex 1 - TCN Adv 5.0 - TIMS Explained
-
Tachyon - Nomad as Content Provider Lab Guide
-
Tachyon Operator v5.0 Lab Guide
-
Reference
TIMS Explained
Tachyon Instruction Management Studio (TIMS) is a graphical user interface for authoring and testing Tachyon instructions and Guaranteed State fragments, which can then be saved so they can be uploaded and used in your Tachyon platform.
The instruction definition XML files that TIMS creates can be uploaded into Tachyon using the Tachyon Explorer so that they can then be used within Tachyon. The Tachyon Product Pack Deployment Tool can also be used to upload objects into Tachyon. The objects for Guaranteed State must be in a product pack that has a specific format.
TIMS makes it easy for you to:
- Run instructions and verify the results that they return on your endpoint device
- Manage resources (such as files) which are associated with the instruction (question or action) you are developing
- Save an instruction, and resources, as an XML file, which can be loaded into Tachyon and made available as a question or action
- Sign an instruction with a different code-signing certificate
TIMS contains a sandboxed copy of the Tachyon Agent, isolated from the Tachyon Agent installed on your computer. TIMS also has its own Agent Historical Data store, which we will work with later in the labs.
Each version of TIMS is bound to the version of its 1E Client and does not have be to the same version as your local Agent, nor the same architecture. This means you can have multiple versions of TIMS installed, so that you can test your instructions against different versions of the 1E Client that you may have in your Tachyon system or are planning to have. However, you can only ever run a single copy of TIMS at any time.
Configuring TIMS prerequisites
Tachyon requires a code signing certificate to use to sign instructions. This ensures that any instructions written for execution via Tachyon are signed, and no rogue instructions are introduced to the environment. The Code Signing certificate is also associated with the Tachyon license key to ensure that only those with the appropriate certificate can write instructions that can be used in Tachyon.
Enrolling a code signing certificate on the Tachyon server
You do not need a certificate to work within TIMS, however to take an Instruction built in TIMS into a Tachyon environment, you must have a code signing certificate implemented as detailed in this exercise. We have created a code signing certificate for the lab environment.
- Log into 1ETRNAP as 1ETRN\AppInstaller
- Open SkyTap Shared Drive on the desktop and navigate to 1E Tachyon - Course Content\Tachyon 5.0 Course Content\ download and copy Tims.v5.0.0.745.zip, SetSCCMSite.ps1 and 1ETRN_Code_Signing_Cert.pfx to c:\temp right click and extract all on the Tims.v5.0.0.745.zip
- From the start menu, type cert, and click on Manage Computer Certificates
- In the Certificates console, right-click on Trusted Publishers. Select All Tasks > Import
- On the Welcome, ensure Local Machine is selected by default. Click Next
- On the File to Import page, click Browse
- Switch the file type to All Files (.)
-
Navigate to c:\temp and double-click 1ETRN_Code_Signing_cert.pfx. Click Next
- On the Password page, input Passw0rd for the password and click Next
- On the Certificate Store, ensure Trusted Publishers is populated. Click Next
- On the final page, click Finish. Click OK
- In the Certificates console, expand Trusted Publishers>Certificates and validate that the code signing cert issued to SCCM Admin is present
- From a command prompt, run the following command
iisreset
Validate the certificate
- Double-Click the Code Signing certificate issued in the Trusted Publishers store
- Click on the Details tab and scroll down to the Thumbprint value. Make note of the first 4 and last 4 characters of the thumbprint
- Navigate to c:\programdata\1E\licensing and right-click on the Tachyon.lic file and open with Notepad
- Do a search for 1ETRN. Note the signersha value associated with the Instruction. Ensure it matches the thumbprint of our code signing certificate
- Close the license file, ensuring no changes were made
- Close the certificates console
Enrolling the Code Signing certificate on a workstation
TIMS can be run on any computer in your environment. The instructions you develop will use the framework of the machine you are running TIMS on to validate the instruction. As such, we will run TIMS on one of the workstations. Wherever TIMS is run, the same Code Signing certificate must be enrolled in either the User or Computer store, generally in both.
- Log into 1ETRNW73 as 1ETRN\Tachyon_AdminG
- Copy Tims.v5.0.0.745 and 1ETRN_Code_Signing.pfx from \\1ETRNAP\temp to c:\tools
- From the start menu, type in mmc into the search box and launch mmc.exe
- Click File and select Add/Remove Snap-in
- From the snap-in wizard, select Certificates and click Add
- Select My user account and click Finish click OK
- Expand Certificates (Current User) and right click on Personal
- Click All Tasks > Import
- On the Welcome page, click Next
- On the File to Import page, click Browse
- Switch the file type to All Files (.)
- Navigate to c:\tools and double-click 1ETRN_Code_Signing_cert.pfx. Click Next
- On the Password page, input Passw0rd for the password and click Next
- On the Certificate Store click Next
- On the final page, click Finish. Click OK
- Double-click the Code Signing certificate in the personal store validate that the code signing cert issued to SCCM Admin is present
On the General page validate that you can see the following below the valid from date
- On the Details page check the thumbprint and validate it is the same as the one on the server and in the license file.
TIMS
Install TIMS on a workstation
In this exercise, we will install TIMS on a workstation, and use that workstation to write instructions.
- Navigate to c:\tools\Tims.v5.0.0.745 and double-click TIMS-x86.msi
- On the Welcome page, click Next
- On the License Agreement page, select I accept the terms of this license agreement and click Next
- On the Destination Folder page, click Next
- On the Ready to Install the Program page, click Install
- Once installed, click Finish
Navigating TIMS
Now that we have prereqs in place and TIMS installed, we can begin working with TIMS. In this exercise, we will learn some basics about TIMS and begin exploring the native language, SCALE (Simple Cross-platform Agent Language for Extensibility), in the form of Modules and Methods used to write instructions.
- Log in as 1ETRN\Tachyon_AdminG if not already logged in
- From the desktop, launch Tachyon Instrumentation Management Studio
- Review the different buttons in the top pane
- Click on Code Signing and click Select signing certificate
- Click on the Click here to view certificate properties link
- Note that the general tab of the certificate shows You have a private key that corresponds to this certificate
- Click OK to close the certificate properties. Click OK to select the certificate
- Click on Code Signing and check Always sign
- In the top query window, type in the following text
- Click the Run button in the ribbon.
- Click OK on the error box
- At the very bottom, switch from Results to Log tab
- Note the various rows of errors. Specifically, a row displaying the following: Completely unterminated SELECT at line 1,
- Return to the TIMS Query Add a semicolon to the end of the instruction and click Run again
- Note there are no errors on the Log pane
- Switch to Results pane
- Modify the syntax of the query to the following and click Run
- Note the column name is now set to greeting.
- Change the query to the following and rerun
- Note that you get the same result as before. The 'AS' is not necessary. If you are familiar with SQL language, you will get the hang of TIMS scripting very quickly.
- Input the following below the existing line and click Run
- Note only the second line displays an output. Unlike SQL, both rows will not display an output, only the last. Switch the rows around to see only 'hello' will show. This is very important to remember when you begin to write complex instructions.
- Now that you have done a simple SELECT query in which the data returned is hard-coded, let's run a query using SCALE. Clear the existing code from TIMS. Input the following query into the window. Type it out exactly as shown below, do not rely on IntelliSense to autofill it
- Note the error returned. Unsupported method 'getconnections'.
- Change the syntax to the following
- Note the results that are returned. The scripting language is case sensitive, so you must input very exact syntax. IntelliSense will ensure that these syntax errors are autocorrected.
- Clear the query window and run the following queries, one line at a time, and review the results
SELECT "hello"
SELECT "hello" AS greeting;
SELECT "hello" greeting;
SELECT "goodbye" greeting;
Network.getconnections();
Network.GetConnections();
Software.GetInstallations();
Device.GetSummary();
FileSystem.GetFilesInFolder(Folder: "c:\\program files\\1E\\client\\");
OperatingSystem.GetServiceInfo();
OperatingSystem.GetInstalledUpdates();
Creating a Basic Instruction
Create Basic Instruction
- Clear the TIMS query window and run the following
- Let's add a comment to our instruction. Above the first line Type in
- Click on the Schema button on the top ribbon. On the popup, click Yes.
- In the Schema editor, click the different boxes. Here you can define the format of the responses that come back from the devices.
- Click on ProcessName and using the button, move it to the top.
- Click OK to save the schema
- Click on Workflow. Note the different options available for Instruction Workflow in the dropdown. Click Cancel
- Click Task groups
- Click Cancel to exit out of Task Groups
- Click on the Aggregation button on the ribbon
- Click Cancel
- Click Validate in the top ribbon. Note the errors displayed. Click Close
- In the Instruction Definition panel at the top right, note the different properties
- In the Description field, input Active Network Connections and click Enter
- For the Name field, change the value from the default to 1ETRN-ActiveNetworkConnections
- For the ReadablePayload field, click on the ellipses at the right and input Active Network Connections. Click OK
- Review the other properties in the Instruction Definition pane. These are all configurable parameters, but if left alone they will default to the values of the installation.
- Click Validate in the top ribbon. Note only a task groups warning is shown. Click Close
- From the menu bar, click File > Save As. Click OK on the validation page
- Save the Instruction under c:\tools as 1ETRN-ActiveNetworkConnections.xml
- Note in the top pane a message is displayed stating that the instruction definition was signed by XXX. This is because we chose to Always Sign earlier. Leave TIMS open with the instruction still defined in the top pane
Network.GetConnections();
//All the Active Connections on this device
Validating the Instruction
- In windows explorer, navigate to c:\tools. Note an XML file named 1ETRN-ActiveNetworkConnections has been created here
- Right-click the file and open with Internet Explorer
- Note the format and content of the instruction file
- Open the ConfigMgr Content Location shortcut from the desktop. Copy c:\tools\1ETRN-ActiveNetworkConnections.xml to the ConfigMgr Content folder
Uploading the instruction in Tachyon
In this task, we will add the newly created Instruction to Tachyon and ask the question to our clients.
- Log into 1ETRNAP as 1ETRN\AppInstaller
- Open the ConfigMgr Content Source location shortcut on the desktop. Copy 1ETRN-ActiveNetworkConnections.xml to c:\temp
- Open Google Chrome navigate to HTTPS://Tachyon.1ETRN.local/Tachyon and launch the Settings application
- Navigate to Instructions – Instruction Sets
- Click the Upload button at the top and browse to c:\temp and select 1ETRN-ActiveNetworkConnections.xml
- Click Open. Click on Recent Uploads Ensure the Instruction is uploaded successfully and there are no errors
- Click back on Instruction Sets. Select the Unassigned Instruction Set. Find the new instruction (you may need to show 48 items and resort the list).
- Select the Active Network Connections instruction and click on the Add New Set button on the right pane.
- In the Add new instruction set dialog box type 1ETRN in the Name field. Ensure that Include 1 Selected Instructions is checked. Click Add.
- Click on the 1ETRN Instruction Set in the left pane to validate the instruction has been moved there
Running the newly created Instruction
- Log into 1ETRNW71 as 1ETRN\Tachyon_Admin1
- Open Google Chrome Launch the Tachyon Portal from https://Tachyon.1etrn.local/Tachyon
- Launch the Explorer application
- From the top right, click the All instructions button
- Note a 1ETRN Instruction set is now present. Expand the Instruction Set
- Click on the instruction and click Ask this question
- Scroll down to see the results returned from the different machines
- Click the Back to Top link at the bottom right
- Click on the Filter Results button to expand the filter options
- In the Device Name box, input 1ETRNW73 for the local machine. Click Search
- Review the results for the local machine
- Return to TIMS. With the Network.GetConnections(); query still defined, click the Run button
- Note the connections. They should match what Tachyon returns via the Instruction although the column order will be slightly different.
Lab Summary
In this lab, we learned what TIMS is, and the native language, SCALE it uses. We installed and configured the prerequisites required to ensure Instructions created by TIMS will be accepted by Tachyon, and we then installed TIMS. We then evaluated some Methods and Modules to understand how the native language works, using some basic examples. Lastly, we created an Instruction and ran it via Tachyon to review the results returned.
Next Page
Ex 2 - TCN Adv 5.0 - TIMS Functions