Category Archives: PowerShell

Tracking and Automating Business Processes

As businesses grow it can become difficult to keep up with business processes. To keep up with a constant flow of tasks associated with these processes you need to track them; especially when multiple people are involved with the process. These processes become even more difficult when you are having to enter data into multiple systems; this even increases the risk of human error every time data needs to be entered.

In recent months I’ve been tasked with helping different business units improve and track their processes. Specifically I started with our on boarding experience. It is geographically disperse and sometimes the people involved with the on boarding only do a few a month and there is a lot that needs to go into it. You have to factor in things such as IT, Payroll, Equipment, Licensing, Training which makes it keeping everyone in the loop difficult.

To combat these difficulties we settled on a product called TallyFy. TallyFy gives us a dashboard that will show us how our processes are progressing. It helps keep everyone on the same page and helps communicate issues in a more rapid manor. 

Our hurdle with TallyFy was that it was tacking yet another system into our on boarding experience. We already had three different systems involved with someone applying > receiving their first pay check. This caused data re-entry which is prone to typos. To combat the data re-entry we needed to integrate our different systems. As previously blogged about I wrote a PowerShell Module to interact with the BirdDog HR system; we use this to send our new hires their employee packet to fill out before day one. With this PowerShell Module I was able to query new in-coming employees – my next task was to integrate it with TallyFy so that would could track the progress of the on boarding.

I was lucky enough that TallyFy has done a fantastic job writing an API that their own web interface runs on and I have the ability to do everything they can do. One of the challenges with this is that their API is very complex. I’ve been lucky enough to work close with their team to build out this PowerShell Module that only touches on a small fraction of what is exposed via their API.

Consider this a part 1 of many on how to use this PowerShell Module and interact with their API.

PowerShell Module Git Repository:

I am storing this Module on my personal Git Repository; as it is built out more I might publish into the PowerShell Gallery. You can find the Module at TallyFy API PowerShell Module.

Store the psd1 and psm1 files in Documents\WindowsPowerShell\Modules\TallyFy.

Connecting to TallyFy API

  1. Login to https://go.tallyfy.com
  2. Click on your name in the Top Right corner of site
  3. Click Settings
  4. Click Integrations
  5. Note your Client ID and Client Secret
  6. Open PowerShell and run the below command
  7. Use your TallyFy Username and Password when prompted

Feel free to explore the other commands by running

In future blog posts we will cover specific use cases on how to use the module!

Using PowerShell with RESTful API’s – BirdDogHR API Module

In the last few months at work we have been putting a concentrated effort on integrating different cloud hosted systems with our on-premise systems. This usually means using some kind of ETL Tool to interact with an API and either use an API with the on-premise application or dumping directly into a Database.

When we decided to start automating some of our Onboarding Processes the hurdle came up that the ETL Tool isn’t going to trigger Account Creation and other IT related actions. My logical thought was I can interact with an API using PowerShell! I had done this a little bit in the past but nothing significant – so I had a bit of learning to do!

Read more »

Building a Desired State Configuration (DSC) Lab

Recently I presenting at the Indianapolis PowerShell User Group and talked about Desired State Configuration. The presentation was 100% demonstrations, and I decided it would be a good idea to provide all of the PowerShell commands/instructions I used to build my lab environment for the presentation.

Note: Please note that these instructions were written using multiple Experimental DSC Resources, Microsoft and I myself provide no guarantee that these will work in a production environment. I strongly encourage that you use test environments that do not matter until you feel comfortable with DSC.

Pre-requisites

  • Licensed/Trial Media for Windows Server 2012 R2
  • An installed/updated Sys prepped VM Parent Disk
    • Stored at D:\Templates\Server2012R2.vhdx
  • a Virtual Switch within Hyper-V Configured as a Private, named “Private Network”
  • At least 7GB of free memory
    • You can adjust this all the way down to just 4GB
  • Downloaded copy of the latest DSC Resource Kit – Download Here

Now before we dive into the scripting component of this blog post I want you to know that this is not 100% automated. You will have some manual steps here and there, it is possible to 100% automate – but that will require significantly more effort. Please continue reading for instructions on this demonstration.

Read more »