Friday, June 5, 2015

How to Set the Execution Policy in Powershell 5.0

I ran into a problem in Windows 10 (build 10130) where I couldn't set the Powershell execution policy to "unrestricted". I needed this setting on my local PC to test out some scripts. Luckily a fellow Redditor had the solution and posted it here. The syntax has changed slightly in PS 5.0. Here is the solution:

From an elevated PS window (i.e. Run As Administrator), execute this:

Set-ExecutionPolicy -ExecutionPolicy Unrestricted -Force -Verbose

Done :)

- Joe

Thursday, November 6, 2014

Attending IT Pro Meetups Is Well Worth Your Time

It has been way too long since I've last written an article so I figured it's about time to do so! I need to make a habit of posting something here on my site more regularly.

A few weeks ago I received an email from one of my colleagues saying something like "Joe, we need to start up the SpiceCorps meetups again. What can we do to get it going again?" See, I am the leader of the SpiceCorps of Volusia County, FL. It is one of the many Spiceworks IT Pro community groups that schedules face-to-face meetups. Each meetup is a knowledge sharing event where we all discuss IT trends, virtualization, mobile computing, challenges in the enterprise, and other similar topics. The last time I scheduled a SpiceCorps meetup for my group was before Christmas 2013! It was definitely time for me to get the group going again.

Last week we had our first meeting in more than a year. It was great meeting again with some of the same people as before. Some new faces even showed up for the first time which was great! I'm always glad that new people want to come and join the conversation. I had completely forgotten how much I missed the group. We always have a great topics to discuss and ideas to share. To give you an idea, here are the meeting notes from our last meeting:

Discussion Topics:
Other tools and software:
"Back of the book" and other topics:
I'm always amazed that even though I've been working in Enterprise IT for a while, I am still learning new things through others that share their experiences with me. Believe it or not I knew nothing about the "CryptoLocker" ransomware because I've been working on backend support instead of desktop support over the past year. Also, I didn't know about some of the new accessibility features for the visual or hearing impaired in mobile devices (which is very very cool stuff!). I am very excited for our next SpiceCorp meetup because I know I will learn something new yet again.
In my opinion, attending these IT Pro meetups have been one of the best things I've done for my career. I'm people networking with other IT Pros, I'm learning new things that I probably wouldn't have learned on my own, and it's just a fun time sharing war stories and ideas and projects. I think that attending meetups is the key to increasing and sharing knowledge. Attending IT Pro or Developer meetups can be extremely rewarding so I highly encourage that you find a group for yourself.

If you want to start up or attend a meetup group, here are some of my own tips:
  • Be consistent. – As an organizer this is something I learned the hard way. Having a regular meetup is a commitment. As an organizer, if you want people to come or if you want to maintain the group's existence and attendance it is important to be consistent. If you have a meetup every month make sure you schedule it and keep the date every month. If you meet at a regular place, don't suddenly change the venue without discussing the change with the group first. As an attendee, once you find a meetup group you like plan on attending as often as you can because it not only helps the group's comfort level increase with regards to discussion, but it also helps you get more comfortable in discussing topics. There is tremendous value here…
  • Communicate Changes as Early as Possible – As an organizer make sure you give plenty of notice for when changes occur (such as venue locations or the meetup schedule). Everyone has time commitments so giving ample notice allows group members to plan on if they can attend or not. This is courtesy and is common sense. The same situation applies for attendees such as if you RSVP'ed but need to back out. Make sure you give notice of changes if you can't attend as a courtesy to the organizer(s).
  • Plan on Joining the Conversation – Organizers should promote an open minded discussion on whatever technology topic your group members want to discuss. For example, in my last meetup I wasn't planning on talking about accessibility features but it led to a very vibrant and positive conversation. Even talking about mobile might not sound interesting but you'd be surprised what you might not have known about a topic you thought you were an expert in.
  • Treat your meetup as a social learning event – IT Pro meetups exist not to hoard knowledge. They exist to share knowledge! If you host a meetup or attend one, plan on sharing something.
  • Give away free swag every once in a while (if you can). – Being an IT Pro usually gets us access to cool stuff from vendors. Polo shirts or t-shirts, gift cards, coffee mugs, pens, mouse pads, free software licenses, and more are all at our fingertips. Giving away free stuff is usually an incentive for people to come. But the point of the meetup is not to try and draw in a bunch of people just to get attendance increased. Free swag should only be a bonus of attending the meetup and shouldn't be the reason why the meetup exists. Only give away swag every once in a while if you can help it.
Well, there are many more but these are just a few of my own tips for meeting organizers and attendees. I hope you have\find your own IT Pro meetup. If you want to create your own group or if you want to find a meetup in your area, the Spiceworks community is a great place to start.

- Joe

Thursday, September 25, 2014

Why I selected the LG G3 over the Samsung models or the iPhone models

The mobile phone arena has been very lively as of late, with Apple’s release of the iPhone 6 and 6 Plus, Apple’s iOS 8 release, Windows Phone and Nokia having new models, and also with Samsung releasing the Note 4 very soon. And rumor has it that Google will be releasing Android L in a few short months. So as you can see there has been quite a bit of talk about mobile. And with all of this talk, I’ve had mobile phone fever. It was time for me to select my next daily driver.

Why upgrade?

For the past year my daily driver has been the iPhone 4s.

The reason why I’ve been using it is because my job provided me with it for work purposes. Over the past 14 months it more or less has gotten the job done. I’ve been able to respond to work emails, use the tethering here and there, and use Facetime when needed. However my 4s has been performing poorly much more often than normal. So naturally I’ve been wanting to upgrade to something else. For the curious, here is a list of the problems that I’ve been having with my 4s:

  • The external speaker has been cutting out at random times. When the phone rings, I only catch the calls half the time because the speaker never rings the call. I can’t narrow this down when or how the problem occurs, but it started after I upgraded the phone to iOS 7. I never had this problem when it was running iOS 6. I’ve read this is a common problem with the 4s…
  • Phone performance has degraded quite a bit over the past year. There are various performance issues with my 4s where apps sometimes fail to open and I need to force close the app and try again. For example, the “Phone app” displays a grey screen instead of displaying the dialer sometimes. Yes, I do subscribe to podcasts and stream music daily. So I believe most of my performance problems is likely has to do with flash memory performance over time. The only solution for this is to get a newer device. For those that don’t know about why flash memory performance breaks down over time, I suggest you read this article.
  • The small screen size doesn’t help. Sure I’ve been dealing with the 3.5 inch screen since last year and I’ve put up with it. But reading articles or reading emails on that tiny screen is really annoying. It is time to get something bigger.
  • Battery life has severely degraded over the past year as well. When I first got the phone, a full charge in the morning allows me to use the 4s throughout the entire work day. This includes listening to a full hour of music or podcasts in the morning, making and taking iMessages and up to 5 phone calls (at 10 minutes per call) during the day, another hour of podcasting on my way home, and light usage until 8pm at night. I used to still have 30% battery life left at the end of the day. Nowadays my 4s would be dead before I leave the office to drive home --- and no, I don’t have Facebook installed on it and I don’t use GPS often.

So I’ve pretty much had enough with the iPhone 4s. It is time for me to upgrade! But to what device, and why?

My Requirements

I came up with several requirements and my friends helped me write them down:

  1. Large bright screen
  2. Video chat support for Facetime or Skype
  3. Long battery life
  4. Cisco AnyConnect in App Store
  5. Great camera with flash
  6. Chromecast support

Right off the bat, I was a bit disappointed. Because of my requirements above I couldn’t choose a Windows Phone. I’ve heard of many people that love their Windows Phones, and I’ve heard of many people that hate them too. But I want to try a Windows Phone anyways and see how it goes for me. But without Chromecast supported apps or Cisco AnyConnect VPN I just can’t choose a Windows Phone – not right now. I’m a Verizon customer, so is most of my family and a large number of my colleagues. So I knew I was going to stick with Verizon again when I upgraded.


I walked into the Verizon store and looked at all of the devices available. First was the Samsung wall. I looked at the Galaxy Note 3 first.

It was in it’s folio case so I got to check out the entire feature set. The screen was nice and bright and it was very responsive. The phone is huge! But after playing around with it for a few minutes, for me it was just too big. Now I am a big guy myself – I’m 6’5 and 300 pounds, and I have huge hands too (I can easily palm an NBA regulation sized basketball). But the device just didn’t feel right in one hand. The more I evaluated the Note 3 I came to the conclusion that I would be forced to use it most of the time with 2 hands. I did like the Note 3 but I kept eyeing the phone next to it – the Galaxy S4.

So I picked up the S4 and played around with it too. The S4 does have a very nice screen. But the device just didn’t feel right in my hands for some reason. The build quality was a bit questionable for my tastes, too ‘plasticy’. My wife has an S4 and she loves it but I’m picky. A Galaxy S5 was right next to the S4 so I checked that out too.

I liked the screen and the look and feel of the S5 much more than the S4. The S5 was light in the hand, was very responsive, and felt more durable than the S4. Also the back cover of the phone was less prone to slipping out of the hand than the S4. A colleague of mine has the Galaxy S5 Active on AT&T and he swears by it. He showed me a 1080p recording on it too, which was fantastic! I kept on playing around with the S5 and opened apps, called my phone to check the call quality, and took a few pics on the device just to see what it was like. My only gripe was that the Samsung devices still use TouchWiz UI which I do not like, but I could deal with it if needed. At this point the S5 was at the top of my list but I needed to check out the rest of the phones. I wanted to make sure I was making the right choice for me.

Right next to the Galaxy devices was the HTC One M8 Windows edition.

Man, that is a really really nice phone! It is metal, has two speakers on the front, and the screen was awesome. Then next to that was the Nokia Lumia Icon Windows phone.

I must say that trying to pick out either the HTC or the Lumia was like Sophie’s choice. It is really hard to pick the one over the other. But if I had to pick one, I’d choose the Lumia Icon. I just liked the Lumia Icon more than the HTC. But I was forced to pass them up because of my requirements. Sorry, maybe in a few months there will be Cisco AnyConnect support in Windows Phone…

Next up was the iPhone 6 and iPhone 6 Plus.

I picked up the iPhone 6 first just to feel it in the hands and it did look and felt great. It was light, much lighter than my 4s to my surprise. It was responsive when swiping the screens, launching apps, and it took great pictures. The screen resolution and brightness was also fantastic. The whole device feels really good. I was also happy to see the iPhone 6 screen size. It seems like Apple finally got the right screen size for their phones in the iPhone 6. Right next to it was the iPhone 6 Plus. Just like the iPhone 6 it also felt great in the hand, but I put it down after 30 seconds. I just knew that I wasn’t going to select that phone. I had the same assessment of the 6 Plus that I did with the Galaxy Note 3. See, I’m not an iPhone fanboy or an Android fanboy. I just like to use what works for me. The iPhone 4s has been working for me just fine for quite some time so I knew that if I selected the iPhone 6 or 6 Plus that would work fine for me too. But I wanted to keep looking…

Then I stumbled upon the Motorola Droid wall and checked out the Moto X but it was the previous model. I also looked at the Droid MAXX, but I know that phone won’t be getting the Android L release. So long story short I passed up all of the Motorola devices.

Finally, the LG wall. I haven’t used an LG phone for at least 4 years now. The last LG phone I had was the enV2. Remember those “text messaging” specialty phones? Yeah, the enV2 was one of them. The first LG phone I checked out was the LG G Vista.

The screenshot above really doesn’t do the device justice. With a 5.7 inch screen size it is a HUGE device! Even larger than the Note 3. But it is pretty much a budget phablet with mid-range internals. I did like it at first, but then I did the screen readability test and it failed. ----- Here is one way to test screen resolution on a phone: Open the browser and navigate to Can you easily read the tiny text on the screen? If you notice pixelation then the screen resolution isn’t that high and you might want to pass. If you can read every single word without squinting then you’ve got a winner! ----- the G Vista was also a bit sluggish when opening apps and swiping from screen to screen. And the device was just too large for me (even the Note 3 was too large for me). But it was still a nice phone. Next to that was the LG G2.

The G2 is smaller in size than the G Vista, but is larger than the Samsung Galaxy S4. I love how the G2 felt in the hand and it was a little heavier than others but it still felt great and performed great. The back button placement was a bit strange to me but an interesting feature nonetheless.

But then next to that was the LG G3.

This device has a 5.5 inch double 1080p screen and is wider than the Apple or Samsung phones, which I liked. I don’t really like the “tall” screens in the iPhones or the Note devices. I do prefer the wider screen. When I performed the screen readability test, the G3 passed it with flying colors as well. The back buttons on the G3 felt a lot better than the ones on the G2. I loaded up Beach Buggy Blitz (a great game to test out gaming performance on a mobile device) to get a feel for what type of gaming experience I could get on the phone too. I just kept falling in love with this device the longer I played with it. The camera was very responsive too.

The Moment of Truth: Why the LG G3?

I went back to all of the phones I checked out before. It was a toss up between the iPhone 6 (not the 6 Plus) and the LG G3. If I selected the iPhone 6 I had a lot of benefits including:

  • Easier migration from my iPhone 4s
  • I’m already familiar in how to work with iOS
  • Met all of my current requirements
  • Will have at least 3 years of software updates (seems to be the current support lifecycle for iOS)

But I still had a lot of reasons to NOT select the iPhone 6. I’ll give you three for now. First, I really REALLY don’t like the price. Maybe I’m too frugal but I think that paying $649 for a 16GB iPhone is WAY too much. Also, would it really kill Apple to increase the default storage to 32GB? Memory is incredibly cheap nowadays and 16GB just doesn’t cut it anymore. My second reason is that I don’t like being tied to a single ecosystem. iOS is locked down and a less ‘open’ system. Personally I don’t like that. And my third reason is iOS. I am just not a fan of iOS. The design from iOS6 to iOS7 was interesting, but it just doesn’t work for me. Also, since going to iOS7 my phone’s stability has drastically decreased (as explained above). So who’s to say that iOS 8 would be any better?

After going back to each phone I kept on coming back to the LG G3. I just loved that phone. For me, it was about the things below:

  • Software: Even though it had some UI overlays, it felt pretty close to the stock Android OS which I loved. I knew that I could disable any apps or services I didn’t like (like NFL Mobile) and install a different keyboard, amongst other changes. Android is a more ‘open’ system as well so things can be changed to my liking. And with the large amount of apps in the Google Play store I could find any app to help me get most any job done.
  • Screen size: I don’t like the “tall” iPhone screens. The G3 was a bit wider which I liked. The device isn’t quite a phablet, which is a good thing.
  • Device build quality: The G3 just feels ‘right’. When you bend the device ever so slightly you can feel that LG put some time into designing this device to be durable, and it shows.
  • Storage: The LG G3 comes with 32GB of storage, as well as a slot for a Micro SD card. The iPhone can’t match that…
  • Gaming performance: Ok yeah, this was a big deal for me because I do game on my phones. The Mali 400 GPU works great on the G3 and appears to keep up with the latest in mobile 3D gaming titles. Playing Real Racing 3 and the Final Fantasy titles is a joy on the G3.
  • Camera: The picture quality with the 13MP camera in the G3 was much better than the camera in the iPhone 6 ---- Well, it was much better in my opinion in my limited testing. And I thought the camera in the G3 was much better than the camera in the Note 3 too. I’ve already started taking pictures of my famliy with the G3 and it is worlds better than anything I’ve used in the past.
  • The rear power and volume buttons: This was a surprising feature with the phone when I first used it. The power and volume buttons are on the back of the device. I’ve heard of people hating the back buttons on the G2. But for me, this was a selling feature of the G3 and one of the reasons why I chose the G3 over the others. I like the buttons on the back. They don’t get in the way of holding the phone and, in fact, make it easier to hold the phone in one hand.
  • Battery Life: The LG G3 has a Li-Ion 3000 mAh battery, that equates to up to 14 hours of non-stop talk time. In recent tests the iPhone 6 caps out at 7.5 hours of non-stop talk time. Here is a better example: I’ve owned the G3 for two days now and charged it only once for 3 hours and I use it all the time to read email, game, and watch video. I still have to charge my iPhone 4s overnight as well as during the day even with light usage.

I knew nothing about the G3 phone before I picked it up in the store. I checked out both the black and white models but eventually settled with the black model and am very happy with it.

Final Thoughts

I was very opinionated when I walked into my Verizon store to look for a new phone. Also, I’m very picky on what I choose as my daily driver. But I’m very happy with my purchase because the G3 works for me. Some people have issues with the screen size, or that the back of the device is too slippery, or the back buttons are strange to them, but I don’t have any of those issues. So far, the only thing I don’t like about the phone has nothing to do with LG, it has to do with what Verizon did. First, Verizon doesn’t sell the LG G3 model with the Qi wireless charging compatible backing with the phone. It is a separate purchase. And second, yes there is quite a few Verizon app bloatware pre-installed on the phone image. But the good news is that you can disable the ones you don’t need or use.

After I picked up the G3, one of my friends shot me a message telling me that LG has a promotion right now where they will send a free 2nd battery and charger when you purchase a new G3! A great deal indeed. I’ve already started to look up the wireless charging and bluetooth accessories for the LG G3 as well. I’m looking forward to using the G3 for a while.

Sorry if this seemed like a sales pitch for the G3. This is just my experience. Maybe in the future I’ll jump ship back to iPhone, but for now LG definitely has a winner.

- Joe

Monday, May 5, 2014

Language Used in Discussion about Net Neutrality and Peering


< Please see my disclaimers at the bottom of this article. >

A great deal of the discussions about net neutrality and the Netflix peering deals have me concerned because of the language people have chosen to use when discussing these topics. I fear that the real truth about what is really happening with regards to the cause of bandwidth usage is becoming lost. I just want to set the record straight about some of the language used and where certain blame should be placed.
My problem with this issue is that several times I have read or heard statements similar to the following:

“Netflix is using 30% of all of the bandwidth in the U.S. …”

In most of the conversations I’ve read the blame for all of this bandwidth usage is placed on Netflix alone. Yes, it is true that according to many different reports and even some official statistic websites that Netflix services account for a large percentage of all U.S. internet traffic. But is Netflix really the cause of this internet traffic? Is Netflix itself hogging all of this bandwidth? Consider the diagram below.

TCP - Syn Syn-Ack Ack handshake

This is a diagram of the TCP-handshake and is a very basic way to display how communication is established between devices in a computer network, especially between devices on the internet. In a nut-shell, the 3-way handshake works like this:
  • The home laptop sends a TCP SYNchronize packet to the online server,
  • Server receives the laptop SYN packet and sends a SYN-ACK response back,
  • The home laptop receives the server's SYN-ACK and sends an ACKnowledge packet,
  • The server receives ACK.
Like I said, the diagram is a very simple display on how basic communication is established in a TCP\IP network such as the internet.

So here is my question to you: Who initiates the communication request? Who is the one that starts ‘talking’ to the other side? The Home Laptop, that’s correct!

Now lets change this diagram a bit so I can make my point…

TCP - Syn Syn-Ack Ack handshake2

So with this diagram, who is the one that initiates the communication with Netflix? The CUSTOMER. My point in displaying all of this information is this:

Netflix isn’t eating up all of the internet bandwidth, its customers are.

You heard me correct. All of Netflix’s customers, including myself, is why Netflix services account for a large percentage of internet traffic in the United States – not Netflix. Netflix never starts the communication between itself and it’s customers, the customers do. Each of Netflix customers must manually start the communication stream on their own device, not the other way around.

So the next time you hear someone blame Netflix for eating up bandwidth just remember that Netflix isn’t the cause. It is Netflix customers that are hogging all of the ISP bandwidth.

- Joe

  1. It is not the goal of this article to discuss the justification for throttling Netflix communication (positive\negative) or the morality of either side of this case (ISPs, CDNs, or content providers such as Amazon or Netflix).
  2. Yes, I am a Netflix customer and have been since before streaming was a large part of their business.
  3. Yes, I am an employee of a large media company. No I will not discuss my job or where I work. These are views are my own.

Monday, April 28, 2014

Powershell Script to Get the Current Count of Windows Processes with the Same Name

Along with my colleagues, I have the privilege of serving many different technical roles at my place of employment. One of the most interesting and uniquely gratifying roles I serve is being one of the "the app monitoring guys" or "the SolarWinds guys". Since I literally wrote the book on SolarWinds Orion NPM it seems suiting that I wear that hat. Like thousands of other organizations, we use SolarWinds SAM to monitor a wide array of infrastructure and business applications. Recently we ran into a snag with trying to monitor one of our more critical apps, so I'd like to share how\what we did to resolve that problem using Windows Powershell....

One of our critical applications runs for a few hours each day starting at 6am then closes on its own anywhere from 10am or 4pm or even 2am the next day. When the application process finishes and closes depends on the day the application is launched - some days have more data to process than the others. In addition, there cannot be more than one instance of this application running at one time or the 4 or 10 or 24 hour process will have to start all over (which will delay some of our core business units' daily numbers). This poses a unique problem when trying to monitor this application in SolarWinds SAM.

Here is the biggest limitation of any application monitoring solution --- SAM expects an application to always be up\running in order for the alerts to properly work and also to show if the application is up\down on the web dashboard. This isn't only the default way SolarWinds SAM monitors applications, it is by design. Unfortunately there isn't an out-of-the-box solution for monitoring applications "intermittently". To be perfectly honest, I'm not surprised that SolarWinds SAM would include such a feature out-of-the-box. I mean, why the heck would you want to monitor an application only "part of the time" anyways? Trying to set up a proper alert for an intermittent application would be troublesome if not impossible. But this is just what I need to do with this specific business application. Also, I needed to monitor if there are more than one instance of the application running on the server. The default app monitors in SAM just won't suit my needs here. Instead, what I needed to do was utilize the feature in SAM where I can create my own custom app monitor using a script. And Windows Powershell does the job nicely.

I created a Windows Powershell script that finds out how many instances of the application's Windows process is running at the same time returns the value in the variable $stat, only if the process is running. Here is a copy of the script text:

# Change 'Notepad' to the process name of your liking. Remember to include the single quotes.
$processname = 'Notepad'
$process = Get-Process $processname -ErrorAction silentlycontinue

if ($process)
   $count = @($process).Count
    $msg = "$count instances of $processname running."
    $stat = $count  

  $msg = "$processname is not running."
  $stat = 0
Write-Host $msg
Write-Host "Statistic: $stat"

The script is simple but powerful. First, the script determines if the process name 'Notepad' (defined in $processname) is running at all. If it is, then it will find out the current instance count and store it in the variable $stat. If the process is not running, then $stat will equal a numeric '0'. Finally, we write the message information and statistic information to the screen. The message ($msg variable) is just for SolarWinds SAM use - it is something to display in the dashboard instead of leaving a big question mark on the app monitor details view. The $stat variable is the important one since this is the numeric value needed by SAM. We set the threshold to '1' in the SAM settings for this monitor. When the threshold is reached an alert will be generated in SolarWinds. Bada boom bada bing.

This monitor works great for us since it helps us utilize SAM without circumventing the way it works. The script monitor is in 'good' status (or 'green' status) when the value is 0 or 1, which is exactly what we expect because either the application is not running at the time the script is executed or there should only be one instance of the process running. We only want to know if there are 2 or more instances of the process running on the computer - nothing else. We have to use a different application monitor in SAM to find out if this 6am process did not execute when we needed it to, so I'm not concerned about including that information here at this time :)

This script can be used not only in SolarWinds SAM, but your own custom solutions or projects. It is designed to be extremely easy to modify. The only thing you have to change is the $processname! Just change ‘Notepad’ to some other process name!

If you find this Powershell script useful I'd love to know how you use it in your own environment. Or if you modified the script I'd love to hear what you did with it.

I hope this helps you create a solution in your own environment.

- Joe