Milton is learning SAPIEN PowerShell Studio 2016!

One of the thing that I hope to achieve in Y2017 is that I want and will be maximizing the investments of the SAPIEN PowerShell Studio license. If you are reading this article before 2nd January 2017, please take note that SAPIEN Technologies, Inc. is presently running a holiday promotion and you will get 20% of the total purchase of any products from their website.

I will pen down the process of me adopting this new tool other than the regular PowerShell IDE that I often used for writing PowerShell scripts. Do take note that, the articles will be broken down into small articles as to bring some focus onto certain functionality that is provided with the tool.

01_SAPIEN_Dashboard

The above is the dashboard once you launch SAPIEN PowerShell Studio 2016 and I am running version 5.3.131 which was updated lately.

I personally feel that the whole interface is designed in a way that it is comforting for Developer who have been using Visual Studio all these while to start adopting PowerShell Studio.

So for this series, I set a purpose in making using of PowerShell Studio to start writing scripts along with GUI for one of the internal deployment tool so that anyone including those that is not technology savvy could simply follow some simple steps to build up a demo environment for them to demonstrate to all our prestigious customers.

 

02_Create_New_GUI_Project

PowerShell Studio offers a variety of templates which is gear to different usage in different scenario. For my case, I am out-right trying to build a GUI based project therefore I went ahead to select that project type as per selected.

 

03_Select_Form_Type_Project

Similar to Visual Studio and other IDE tools, provide a Project Name and select the Project Types that it has to offer. I have chosen this as a Single Form project because I want to ensure that the first version is made as simple as possible instead of complicating things.

 

04_Select_Form_Type

Here is something that is unique to SAPIEN PowerShell Studio, it went on to provide a better experience to the coder / scripter / programmer where it allows you to choose the various Form Template. All these little things does helps!

 

05_Base_Files

After a few clicks, all the base files are being created as part of the selections and we are all ready to start inserting codes in!

So far, I am really happy with the interface that PowerShell Studio 2016 has to offer and I am going to continue to invests more time to rip out all the goodies that has been built into this IDE!

Till the next post…

Cheers,
Milton

Goodbye Twenty Fifteen, Hello Twenty Sixteen.

In a wink of eyes and it is the last few minutes at the time when I am typing or publishing this blog entry before we welcome year twenty sixteen (2016)!

Indeed, in the last 365 days, there are way too many that I have learnt in life regardless of the sources. Let’s pin point to the highlights of the year!

Microsoft Most Valuable Professional (MVP) – PowerShell

On the 1st of April this year, I received an email from Microsoft that I am awarded my first Microsoft MVP award in the Windows PowerShell technical expertise and I am really thrill that my effort and work towards the community has been recognized by Microsoft.

Goodbye AirWatch by VMware

Today (31st December 2015) is my last day with VMware (AirWatch Division). I officially bid goodbye to VMware as I embarked into my next chapter of my life in 2016. Within the 13 months in VMware within the AirWatch division, I have learnt a lot as the Implementation Consultant covering the ASEAN region. I am also happy that I am part of the team that spearhead the whole regional implementation of the mobility solution to one of the biggest insurance company in the world!

It is certainly my lost that I no longer able to work with this whole bunch of folks but I am sure we will all be missed!

Microsoft MVP Summit

In November, I made my way to Seattle, Washington for my first ever Microsoft MVP Summit as a newbie MVP. In the 4 days spent in Microsoft campus, I get to meet up with fellow PowerShell MVPs and Product Group members. It is a whole new experience that is well deserve the 24 hours of flight from Singapore there.

One thing that I definitely missed is the time that I took to walk around the campus under the nice cold weather and different scenery that I enjoyed with my bare eyes! I really wish to be there in year 2016!

This kind of companionship and networking chance is something that one should not missed!

Well Deserved Break – West Coast of United States of America

At the end of November this year, I took a three weeks break and accompanied my family to tour the West Coast of United States of America (USA). So within these three weeks, we have tour the following states:

  • Los Angeles
  • Las Vegas
  • San Diego
  • San Francisco

The weather is really nice in the states and I definitely missed those days when I do not sweat at all! *Grins* Looking at my size, obviously I hate warm weather!

First Ever PowerShell Conference in Asia – Singapore

In September, a few of us (Matt, Ben and Ravi) took the leap to our first ever PowerShell Conference in Asia where we host attendees and speakers from all over the world! We could not be more than happy with the results that we have yearned and through this first ever paid conference that we have organised, we have learnt all the Dos and Don’ts!

This is great lesson and we would definitely have those changes incorporated into the next one in year 2016!

Successfully Built Partners Network

In my career in VMware (AirWatch Division), I have successfully worked with various partners from different countries (Singapore, Malaysia, Indonesia and Thailand) and have successfully foster strong bonds between them and our company. I am really thrilled that all my effort was recognised and been regarded as the trusted advisor to all of them.

So what’s new in Year 2016 that I am working on?

Over the last few weeks of the year, I have been trying to reflect on what I have done and what I should have done within this year. I do know that I definitely could not rewind back to the time but I would like to take this opportunity to pin down some goals that I must achieved within year 2016. Some of the goals is:

Knowledge – Becoming an avid reader

One of the most efficient way to gain knowledge is to be reading and this is one of my short-coming although I should have started being an avid reader years ago. So in year 2016, I would love to cultivate myself to read more! Other than purely reading, I would love to share what I have learnt through different avenues to people so that I could spread out those knowledge and hopefully be the one that influence others to start reading those good books that I have read!

Leadership – One step forward to become the better leader

In my over five years of career, I have worked with many leaders and managers. In the coming year, I would love to work towards the People’s Manager or People’s Leader. Someone that would gain respect from everyone in the organisation and even from Customers or Partners. I certainly know that being a leader is not just by saying but it is by the action! There are more things that I need to learn in order to be handed the authority to lead and excel!

Personality – Ditching the bad habits, cultivating the good habits

Personality is something that was either born with it or it has been cultivated over the years depending on the environment that one has gone through. In this year, I have learnt a lot about my personality and I would be more than happy and eager to have it changed!

There is one thing that I have finally learnt over the last few weeks is that, I have learnt to Forgive and Forget. What doesn’t kill you only will make you stronger!

Lastly, I would be investing a lot more time in DevOps and PowerShell so that I could continue advocating all these principles and knowledges to those people around me like what I have done this year! I believe this kind of knowledge is fruitful and I hope that one day, Windows PowerShell / Automation / DevOps is something that Asia-Pacific can adopt and have it under every IT Pro / Developer belt!

Cheers to all and Happy New Year! Let’s all work hard in year 2016!

Regards,
Milton Goh

[Review]–PowerShell Troubleshooting Guide

I am really honour to be provided a copy of this eBook named PowerShell Troubleshooting Guide that is written by Michael Shepard. Courtesy to PacktPub with recommendation from PowerShell MVP Deepak Dhami.

After reading this book for awhile, I decided to post my review according to the word “NICE”. Why this? Well, let’s see.

N – Neat

The structure of this book is being planned and categorized in a way that I personally feel is neat. Although this book is primarily for readers who are not a beginner in PowerShell Technologies, however the book just walked you through bits and pieces the basic in PowerShell so that it caters to beginners who are also fast-learners. (Of course if you required more in-depth learning of PowerShell or if you are fresh to PowerShell, there are tons of books and learning resources out there. Do not worry! Earmark this book for reading purposes when you are ready!)

The book is being structured in a way that it walks you through different aspect of PowerShell such as there is dependency. For example, you need to know Cmdlets before you goes into Functions. You will need to know Functions before going to Scripts. Then go to the next level of meddling with Pipelines and Modules. So all in all, this is a progressive learning over and over again from chapter to chapter.

I – Intuitive and/or Instructional

Adding on to the “Neat” that I have elaborate above, I feel that the content and knowledge that I have received after reading this book is as if I am doing Self-Learning which reminds of me of all the Microsoft Official Curriculum that I have read through while preparing for my Active Directory exam for Window Server 2008. Lots of screenshots have been placed in the book to provide better illustration of the coding that the author was trying to demonstrate. On top of that, do not forget that as a reader, you have access to the ZIP Archive which contains the PowerShell Script and Module used for the various chapter. So it simply save you time to type the command out instead. Although I really encourage PowerShell lovers to type out the command rather than copying because, while you are typing, you can to interface with the various Cmdlets and you may hit into errors when you are selecting the wrong Cmdlets to perform the right tasks.

Reviewing the error messages will definitely help in getting yourself prepared in troubleshooting more complex PowerShell scripts in future.

C – Correct

Well, what do I mean by Correct? Do I meant that the content is Correct or the way the content is structured is Correct?

No, what I actually meant is. The Author have used the Correct way to target at PowerShell lovers. In everything that we do, there may be more than one way to get to the endpoint but usually there is only one way to nail things down and make sure things are done in the Correct manner.

Why is being Correct important? Take for example, if one adopts a different way of writing PowerShell script, then when the scripts are being shared with other Scripters. Then it will take others a lot of time in order to put themselves in the shoes of the original scripter. Sometime it will be worst where one will take some time to refined the scripts to their own style. What could be worst is that, if the timeline is short and there is already a shortage of resources that are available to perform a set of tasks then you wouldn’t want to expense out a resource time to reinvent the whole wheel.

So let’s all adopt to a single lingo and automate the world.

E – Education

I know all books are for learning, but there are definitely books that I have personally read and felt that I have learned nothing much. I would highly recommend this book to all levels of PowerShell lovers so that for beginners will have a taste of PowerShell and for advance players out there, you will get to perfect your skills.

Cheers.

Regards,
Milton Goh

Goodbye Y2014, Welcome Y2015!

I am really thrilled when I am writing this entry as this is the last entry to this blog for the year 2014. This year contains lots of ups and down and many changes have been made this year. Looking at my blog entry that I have made in December 2013 where I detailed out some of the goals that I would like to achieve in year 2014.

Let’s start off with some of the highlights of the year.

Travel

So, how much have I moved around this year?

January – Ho Chi Minh, Vietnam – Leisure
March – Kuala Lumpur, Malaysia – System Center Universe APAC 2014
September – Ho Chi Minh, Vietnam – Business
October – Hong Kong – Leisure
November – Kuala Lumpur, Malaysia – Business
December – Lombok, Indonesia – Leisure

This year is all about the region and hopefully in the following year, I will get to travel more within the APAC region for Leisure and Business purposes.

Career

In November, I made a big switch in my career to focus on Enterprise Mobility where I joined AirWatch by VMware as an Application Support Engineer covering the ASEAN region. Is it goodbye to SharePoint? Well, yes or no. It is because as much as I am interfacing with my clients, I do see a lot of integration between various Enterprise Repositories and the AirWatch platform.

Thank you Dimension Data for the good three years of time!

Community

So… In year 2014, I am involved with…

  • PowerShell Saturday (Singapore) – February, May, August & December – 4 face-to-face sessions
  • PoSHBreakfast aka PowerBreakfast – May, June, July, August, October, November & December – 7 sessions delivered over Lync
  • Community Technology Update (CTU) – November – 1 day face-to-face all day event
  • Entries to my Blog
  • Technical Reviewers for PacktPub

Personal Growth

  • Managed a team of three Software Developers & System Engineers
  • Deep dived into many Technical aspect of stuffs in AirWatch.
  • Soft skill gained when meddling with Enterprise Customers.
  • Gained experience in Product Management

 

So what’s the expectation in Year 2015? Let’s keep it simple.

  1. Be the trusted Enterprise Mobility Expert in APAC
  2. Raise awareness about PowerShell and Enterprise Mobility across APAC
  3. Gather more speaking engagement during PowerShell Saturday and PoSHBreakfast
  4. Help more customers to achieve readiness and achieve better ROI with their Enterprise Mobility Deployment.
  5. Engage in more Product Management activities
  6. Provide more consultancy to Small-Medium Enterprise (SME)
  7. Sharing knowledge with people.

Cheers!

Milton Goh

My thoughts on PowerShell Saturday #009 – Singapore

So a couple of days has passed from the last PowerShell Saturday we had in Singapore on the 24th May 2014. I find it is almost time that I should pen down some of my thoughts as this is fourth PowerShell Saturday that was organized in Singapore. So this make it 1 year anniversary since the start! Hoorrayyyy! (Thanks to leads for Singapore PowerShell User Group)

In particular, I am really happy to be able to speak at this event even though my session was short and perhaps or hopefully sweet. Another thing that I am happy is that during the Hands-On Lab session we had in the second part of the day, I see that there are lots of participants that really cracked their head to complete the challenges. Even though many of them may have simply made use of the search engine to derive to the answer but of course it will not be totally same. Even if you find the solution, you will need to understand the commands as the values that was given may be different. An example would be, getting the network adapter connection configuration using WMI and change the property from DHCP to Static if it is assigned through DHCP. So, even if you are able to find the solution from the internet; you will still need to be able to replace the value accordingly such as passing the right value derived and set it as a static value.

There is one part where Matthew uses the [System.Speech] assembly to make PowerShell speak! It’s really funny and one of that challenge which is categorized as the Bonus challenge was to challenge if the users is able to get that working.

Through out the sessions from the day, I really expanded my horizon on WMI as I have yet to really explore on that! It is really so useful and I must have really missed using them as I have moved on to some Project Management kind of role in my day-job. (That’s not the point, I still meddle around and stay geek!)

During lunch, I spoke a few attendees to collect some feedback in terms of the food that is being served and proudly sponsored by Microsoft Singapore (Shout out to Kinda Lau, THANKS!) and I am please to hear that they are satisfied with the food that is being served.

One of the lesson that I have learnt as one of the lead of Singapore PowerShell User Group is that, we should really test out all the tools that is required for projecting the slides so that we do not allow our anxious and precious PowerShell-ers wait!

Rest assured ladies and gentleman, Matthew (PowerShell MVP), Benjamin and I will ensure that we will have a smoother delivery of the sessions by the respective speakers!

Did we miss saying that, if you are keen in speaking at one of the PowerShell Saturday session; please feel free to contact us!

Regards,
Milton Goh
[email protected]

Decoding Text using PowerShell–Sweet challenge :)

This may have been posted a couple of times online and can be easily found just by searching through the search engine but I just want to share it. I wouldn’t have tried to find out how to Decode/Encode in PowerShell if not for Mike Robbins. When I was trying to find his email address so that I could contact him, I found this on the “About” page on his blog (www.mikefrobbins.com).

Capture

So in order to get his email address, we will need to run the following commands in Windows PowerShell.

$encodedmsg  = “IgBtAGkAawBlAGYAcgBvAGIAYgBpAG4AcwBAAG0AcwBwAHMAdQBnAC4AYwBvAG0AIgA=”

$decodedmsg = [System.Convert]::FromBase64String($encodedmsg)

$decodedtext = [System.Text.Encoding]::UTF8.GetString($decodedmsg)

Write-Output “Mike Robbins email is: “ $decodedtext

That’s all! I got his email now! It’s pretty interesting as it shows that you need a little effort in learning PowerShell to get in contact with the PowerShell expert.

Cheers to Mike Robbins!

Regards,
Milton Goh

PowerShell Saturday #009 (Singapore) – Azure + PowerShell

In today PowerShell Saturday #009 in Singapore, I shared the following article about Microsoft Azure and PowerShell. In this presentation, I shared about how one should actually adopt PowerShell to help ease the amount of work that is needed to be spent on managing Microsoft Azure.

 

Thank you.

Regards,
Milton Goh

I’m speaking at PowerShell Saturday #009–Singapore

I am delighted that I have been given an opportunity to speak one session over at the PowerShell Saturday again! This time round, I will be speaking about PowerShell + Azure. If you are a fan of PowerShell, you would not want to miss this awesome event where we will have our PowerShell MVP Matthew Hitchcock delivering two sessions!

Why wait? Head over to register here.

Hope to see you there!

Cheers.
Milton Goh

It’s all about AUTOMATION!–New Continuous Series

Starting from today, I will be continuously exploring ways that I can automate certain manual process that is revolving around our day-to-day life which we didn’t notice that by spending perhaps an equivalent amount of time; we could then increase in Productivity, Efficiency and most importantly saving lots of time!

There was once I saw an article on LinkedIn where there is an image that really storm through my mind right now. The image depicts two guy trying to move a crane of stuffs without any wheels and another guy who came to offer them a pair of wheels to help lighten their load. The replies from the guys that are working is, “I am busy, I have no time for this.”

This directly portrait the kind of life we are heading, there are people who are working aimlessly everyday trying to get things done which has been assigned to them but we never ever had any time or opportunity to look at how we can improve ourselves.

While there is no one way that we could automate certain process, the following will just be some of the primary tools/methods that I will work with.

  • PowerShell
  • C#
  • SSH
  • Telnet
  • Putty

Cheers! Stay tuned…

Milton Goh

PowerShell Saturday #008–Singapore

It’s really a pleasure to be able to present my first session for PowerShell Saturday and working along with the team at Singapore PowerShell User Group (Matthew and Benjamin). However, due to last minute work commitment, I couldn’t present my session physically over at Microsoft Singapore office. In the end, I presented my session over at my client site via Lync.

I am really happy with the session presented, I would say that this time round, I am trying to target at some of the business users and also at a handful of technical folks to get them to accept and adopt the idea of using PowerShell to extensively improve their productivity and efficiency for their day-to-day operations. For more information, please see my slidedeck below.