Skip to main content

Using Events with SAPIEN PowerShell Studio

This is the last posting that I am doing on these series focusing on objects.  So far we have describe how properties describe an object.  We looked at how methods take actions against an object.  We also looked at how to subscribe to an objects events.  An event is triggered when something happens to an object.

Today we are going to create a very basic graphic interface using SAPIEN PowerShell Studio and demonstrate how to register and event and execute code when the event is triggered.

You can get a trial version from here (https://www.sapien.com/software/powershell_studio) .  Just click on the Try It link on the right.  This trial version is limit to just 5 graphical objects.  We will only be using one for simplicity.  Install and then launch the software.

Once you open SAPIEN PowerShell Studio, click File à New à New Form.

In the popup window, select Empty Form and then click Select.


From the Toolbox, drag and drop the Button object onto your form.


Now right click the button.  You can select the default event, which is a click, or Add Events to add any valid event for this object.  Select Edit Default Event (Click). This registers the event and takes us to the scripting window where we can add our code to execute when the click event is triggered.


Let’s just add the code to change the form’s background color to keep this simple.


Above is all the code that should be present.  Line 9 is the only code that we added.  There is a lot more code, but that you are not seeing.  PowerShell Studio write the code to build the form that you are using in the background so you did not have to do it yourself.  Go ahead and run your code.  You will be required to save it before running. Click the button and watch the button click event execute.




Comments

Popular posts from this blog

Sticky Key problem between Windows Server 2012 and LogMeIn

This week I instructed my first class using Windows Server 2012 accessed via LogMeIn and discovered a Sticky Key problem every time you press the Shift key. Here is my solution to resolve this.  First off, in the Preferences of LogMeIn for the connection to the Windows Server, click General . Change the Keyboard and mouse priority to Host side user and click Apply at the bottom. On the Windows 2012 server, open the Control Panel – Ease of Access – Change how your keyboard works . Uncheck Turn on Sticky Keys . Click Set up Sticky Keys . Uncheck Turn on Sticky Keys when SHIFT is pressed five times . Click OK twice. If you are using Windows Server 2012 as a Hyper-V host, you will need to redo the Easy of Use settings on each guest operating system in order to avoid the Sticky Key Problem. Updated Information: March 20, 2013 If you continue to have problems, Uncheck Turn on Filter Keys .

Where did a User’s Account Get Locked Out?

Updated: May 15, 2015 When this article was originally published, two extra carriage returns were add causing the code to malfunction.  The code below is correct.   My client for this week’s PowerShell class had a really interesting question. They needed to know where an account is being locked out at. OK, interesting. Apparently users hop around clients and forget to log off, leading to eventual lock out of their accounts. The accounts can be unlocked, but are then relocked after Active Directory replication. This problem is solved in two parts. The first one is to modify the event auditing on the network. The second part is resolved with PowerShell. The first part involves creating a group policy that will encompass your Domain Controllers. In this GPO, make these changes. Expand Computer Configuration \ Policies \ Windows Settings \ Security Settings \ Advanced Audit Policy Configuration \ Audit Policies \ Account Management Double click User Account Management C...

How to run GPResult on a remote client with PowerShell

In the past, to run the GPResult command, you would need to either physically visit this client, have the user do it, or use and RDP connection.  In all cases, this will disrupt the user.  First, you need PowerShell remoting enabled on the target machine.  You can do this via Group Policy . Open PowerShell and type this command. Invoke-Command –ScriptBlock {GPResult /r} –ComputerName <ComputerName> Replace <ComputerName> with the name of the target.  Remember, the target needs to be online and accessible to you.