Tomte is a combination of Windows PowerShell, WCF Client, Windows Service, WCF Service, and Windows Workflow Foundation (a.k.a.: Code Activities) to automate actions on remote windows machines.
Tomte is named after the nisse/tomte of Scaninavian folklore and the general idea is much the same: If Tomte is treated well, it will aid in the chores and work.
How It Works
Tomte exposes Windows Workflows via a WCF Service, which is wrapped by a Windows Service. The WCF Service is called by PowerShell commands, which wrap the WCF client. SQL Persistence is set-up in Tomte, so that all you have to do is stand-up a SQL server, modify your code to point to the SQL server, and it will take care of the rest. Adding new Activities to Tomte requires very little overhead, requiring just the PowerShell command to be written and the Activity to be added. Deploy the newly modified Windows Service and import the newly modified snap-in and that's it!
PowerShell Commands and Activities
The bulk of Tomte's work is derived from Activities and PowerShell Commands. The PowerShell Command wraps the WCF Client call to the WCF Service hosted in the Windows Service. The Activity is what is invoked, when the activity called upon is found in the relevant dictionary
What About Security?
Security is abstracted through the Windows Service/WCF layer, as all requests passing through AuthN/AuthZ. This makes it ideal to set-up in a either a work-group or domain setting, as no authentication schemes need to be manually configured or changed for Tomte to work.