Introducing PowerScale – a community driven Smart Scale alternative!

As you may know, Smart Scale has been discontinued as of 31/05/2019. But – fear not, a community project now provides the same functionality. This project is the brainchild of Leee Jeffries (twitter/blog – well worth a follow/read for anyone working in the EUC space by the way!), and provides a simple to use solution, that provides a great replacement method that can save VM cost in Cloud Environments, with an on-premises control place.

PowerScale can carry out the following actions on VDAs:

  • Scheduled Machine Management
    • Working Hour Schedule
    • Outside Working Hours Schedule
      • Power On Machines
      • Power Off Machines
      • Scale Machines based on performance metrics
        • CPU
        • Memory
        • Load Index
        • Session Limits
    • User Logoff
      • Forced User Logoff
      • Two Message sent to users at specified intervals before shutdown
    • Graceful User Logoff
      • Wait for sessions to drain before shutdowns complete
    • Email on critical error
    • Testing only mode
      • Logfile generated on every run
      • No farm actions performed during test mode

You can download PowerScale here, and an installation guide is also available here.

Microsoft Flow, Microsoft Forms and Azure AD – what can we do?

Recently, I have been playing around more and more with Microsoft Flow – which is a tool designed to Automate processes and tasks. In a previous post I used a tool called Stringify to automate a number of Smart Home actions. Microsoft Flow provides a similar environment and allows integration between processes and tasks.

I was impressed from the first time I played with Microsoft Flow at how powerful the tool could be – and immediately set to work creating a simple flow, which I am going to demonstrate here.

Onboarding a new Azure AD User, by filling in a simple online form – the Flow will:

  1. Create the AD User Account based on the username we specify
  2. Set the users password based on a password we specify
  3. Add the user to either the “Staff” or “Student” Department
  4. Send an email notification with the account details ready for use

The key here is that this process can now be carried out, with commonality and uniformity, by someone with no technical knowledge of Azure AD at all.

To start this process – we need a Form. I’ve created a simple form in Microsoft Forms to capture all of the information above, to integrate this into Microsoff Flow. Creating forms is super simple in Microsoft Forms – I’ve created a basic new user data gathering form for our Flow below:

Now – when this form is filled in, we have the information captured that we will need for our Flow. The next step is to start building the Flow. To do this, log into Microsoft Flow and click on “Flows” and then “Create from Blank”:

Next up, we need to add a Trigger – this is an event that will cause our Flow to run. In our case – it will be when a new submission to our Form is received. Just search for Forms and then you’ll see the options required:

When we have selected “When a new response is submitted”, we then see the first step in our Flow has been added:

We need to tell Flow which Form to use now – because I am signed into my Microsoft Account, any forms I have in my account are shown in the drop down list:

Now we have our trigger, we need an action to follow – in this case, we need to get the Form response details. Do do this, just click on “New Step” (shown above) and then search for Forms:

You’ll see now that we need to select our Form again, so that the correct Form is associated with this step in the Flow:

When we add this Form you’ll notice we also have to specify a “Response Id”. In our case, this needs to be Dynamic Content – so that each response is processed by our Flow. When we click into the Response Id area – a new Window will open where we can select Dynamic Content, and then click “See more” – we can then select “List of response notifications…”:

Upon selecting this – Flow will recognize that we want to carry out an action for each response we get – and an “Apply to each” section will be automatically created:

Now we can start creating the Azure AD elements of our Flow, to do this, click on “Add an action” above, and then search for “Azure AD” – we will start by creating the user:

Once this element has been added we can start adding Dynamic Content from our Form to the new user section of the Flow – you’ll notice that when you click into areas that support Dynamic Content, the Dynamic Content window will show as below:

Once completed, we have the following in place for our user creation step:

Next I am going to configure a simple email notification – to let me know what’s been created. We can do this with the “Add an action” option, and then search for “email”:

We can then use Dynamic Content, as we did before, to create an email based on the response to our Form:

Important: Obviously using this method is bad security practice (username and password in the same email) – and in this case is used just to give an idea of the capabilities of the Flow. In production use, using something like the Office 365 “Send an Email” is better – as this supports sending to different addresses, so for example, the username and password can be sent to different lists or addresses. For example, the username to the new user, and the password to the manager (without the username).

Finally – we can test our Flow. To do this, it’s just a case of filling in the Form created earlier:

We can check that our Flow has run from the Flow web interface:

And also – drill down into exactly what was run by clicking on the “Succeeded” (or Failed) in Run History – below you can see some of the variables my Form data contained:

The next step is to check that an Azure AD user has actually been created:

Bingo – everything looking good here… and below we have the user with the details from our Form correctly filled in:

Finally – we can check to confirm we have been emailed the confirmation message with the details of the user account:

As you can see – the Flow has worked as expected, and we now have an Azure AD Account and email notification to go with it. Whilst this is really just scratching the surface of what we can do here – it gives an idea of where we could take this type of automation. A few things I can immediately think of for this type of new user scenario:

  • Add to numerous AD Groups – based on checkboxes in a form
  • Create an O365 Mailbox – based on username/names
  • Provide a welcome email to the mailbox
  • Notify a Slack or Teams channel that a new user has been created, for example “Please welcome [Username] to the department!”
  • Interact with one of the many 3rd party systems supported in Flow – for example adding the user to a CRM system, or SAAS application

Hopefully this has been interesting – and congrats for making it to the end of this post!

Smart Home tinkering – Using Stringify, Nest Cameras, and TP-Link Plugs to simulate house activity based on camera detections

First of all – Happy New Year, I hope 2019 is already going great for you!

This write up focuses on the use and integration of three things; Nest Cameras, TP-Link Smart Plugs and Lights, and Stringify (a tool that allows the creation of IOT Flows). The combination of all three provides a powerful way to create security routines and outcomes based on various triggers. I should point out, I’m fairly wary of the security implications of IOT devices in general, so for me I like to see them as a way to augment, rather than replace, traditional security products.

In this article I am going to demonstrate an integration routine I have setup recently:

  • When my Nest Camera(s) detect a person between the hours of 2300 and 0600, a Stringify Flow runs, which turns on lights in correct order to simulate a person coming downstairs. The routine then waits for a time period, and turns the lights off in the reverse order, to simulate a person going back upstairs. Finally, a push notification is sent out that provides an alert that the Flow has been run to a mobile phone.

To create this type of setup you need three things:

  • Cameras – I am using the Nest Outdoor Cameras
  • Smart Lighting/Plugs – I am using TP-Link Products, both plugs and bulbs
  • An IOT Tool to link the triggers to actions – I am using Stringify

It’s worth noting that you could use a number of different tools to achieve the same result – for example IFTTT works in a similar way to Stringify, and there are lots of IOT Camera and Lighting products out there.

So – how do we set this up?

To start – we need some cameras, here’s one of my Nest Cameras:

I have a few of these setup around the house – so pretty much anyone near the house is picked up by the cameras. Next, we need some smart lighting to allow for the lighting to come on. For this I have two products in use; TP- Link Smart Plugs and TP-Link Smart Bulbs.

Next, we need to create a Stringify Account – to do this you need to download the app for your device and sign up. Once completed you can create Flows and add Things, which are, in brief:

  • Flows – sequences of events/actions that are run by triggers we define
  • Things – these are the IOT devices we have added to our account

Before we can create a sequence, we need to add Things to our account – which is done by tapping on the + sign:

Next we can add accounts for our various smart devices – this will vary depending on what devices you are using, but for me it was just a case of adding my Nest and TP-Link accounts:

Once this is done, the devices/accounts show up in the home screen within Stringify:

We’re now good to go and can setup our first Flow. To do this, we need to open the Stringify App, and click on “Flows”, and then on the + symbol to create a new flow:

From here, we can start to build out a Flow. Here’s an overview of a completed Flow to give you an idea – we can then drill down into the building blocks that form this Flow:

As you can see – the Flow mainly comprises timers, and light actions (turning a light on or off). We can break this Flow down into 5 main sections:

Essentially the above Flow can be broken down into a few key elements:

  1. A trigger – or in this case, a trigger and a time variable. Both must be met for the sequence to run. In my case, it is that the Nest Camera must detect a person (not just activity – the ability to determine a person or just motion is a feature of the Nest cameras), and the time must be between 2300 and 0600. Unless both conditions are met the sequence won’t progress any further.
  2. The “Person coming down the stairs” sequence – this is just lights and timers that wait for time periods before kicking off the next light. So the first light comes on, then the sequence waits, and then the next light comes on, and waits, and so on…
  3. A wait – purely to act as a waiting time before the next element runs – effectively to simulate a person being downstairs doing something.
  4. The “Person going upstairs” sequence – again this is just lights and timers, so it simulates the lights going off as if someone was going upstairs. Exactly the same as element 2 but in reverse.
  5. This is the final element, AKA letting me know – a push notification, so my phone is alerted that the sequence has been run. This is a useful step as it allows me to be alerted to the fact that the sequence has run (so I have awareness) , and also to see what caused the sequence to run (I can make sure it was a legitimate activation and there is no cause for concern).

Using an automation sequence like this is great way to turn smart home products into a smart security feature. There are loads more possibilities you can create with Stringify too – for example, a few other things you could do with this sequence alone:

  • Integrate this sequence with other smart home products – for example using SmartThings you can connect to Siren/Strobe devices to trigger an alarm. For example if a person is spotted in your garden between a certain time range. All house lights come on and a siren going off is a good deterrent too, and certainly attracts attention!
  • Integrate this sequence with an Amazon Echo – for example “Alexa, I am leaving for work” turns off lights, but should a person be detected outside a radio starts playing inside, and a light comes on – to simulate someone being at home. Or turns lights on and off randomly during darker hours.

Or you could use a sequence like this to trigger smart home items during a danger scenario – for example, if Smoke is detected (via something like Nest Protect) then all house lights come on, regardless of the time of the day, and anything like a TV or Radio connected to a smart plug turns off. (So the only noise heard is the smoke alarm).

Hopefully this has been useful and gives an idea of how powerful the integration of these types of devices can be when linked with the right system to automate them. Until next time – thanks for reading! 🙂