Windows 8, Week 1…

2017-07-27T00:01:05+00:00 October 31st, 2012|Uncategorized|

Well, it’s been almost a week since I upgraded my laptop to Windows 8, and it’s actually been a very smooth ride so far.  However, I’ve had to deal with just a few twists in getting used to some of the new locations and limitations of the things I’ve always been used to in Windows XP and Windows 7.  So, I thought I’d toss together a few tips from my first week of use, and I hope you’ll toss a few back at me!

Shutdown and Reboot buttons

Shutting down a Windows 8 computer is not as immediately obvious as it used to be.  There are a couple “new” ways of shutting down your Windows 8 machine, for instance:

  • Mouse to bottom-right –> Settings –> Power –> Shut down
  • (Win Key) + I –> Power –> Shut down
  • (Win Key) + C –> Settings –> Power –> Shut down
  • (Win Key) –> Right click on username (at top right) –> Lock/Sign out –> Right-click on lock screen –> click on power icon at bottom right

But I needed an easier way.  Fortunately, if you invest a few minutes now, you’ll have easier Shutdowns and Reboots for years to come.  Here’s how to do it:

  • In Windows Explorer, go to this folder:
  • C:Users(username)AppDataRoamingMicrosoftWindowsStart MenuPrograms
  • Right-click and choose New –> Shortcut
  • For the “location”, type: shutdown /s /t 00
  • Click Next, and for the “name”, type: Shutdown Now
  • Click Finish, and press the (Win Key).
  • Right-click the new “Shutdown Now”  app tile, and choose Pin to taskbar
  • Resume sanity
  • (Note: You can create others, like “Restart Now” with shutdown /r /t 00 and “Delayed Restart” with shutdown /r /t 10 etc.)

…by the way, that tip for adding shortcuts on the taskbar works great for other things too; effectively bringing back your shortcuts menu that you were so used to

Wireless Driver Back-Rev

Of course, I couldn’t resist mentioning our awesome post about back-revving your Windows 8 “n” wireless driver to a Windows 7 driver version — since I had to do that this week too, in order to be able to stay productive.  So far this week, we’ve been noticing that this seems to predominantly affect Broadcom-based drivers, and Intel-based drivers seem to work fine in some cases.  It’s only the first week, so we’ll be watching that…

VMware and Hyper-V

I was excited to find out Hyper-V was included in Windows 8.  Unfortunately, I cannot use on it yet on my Windows 8 laptop.  As part of my work/experimentation in my current role, I have to keep virtual machines like NetWare, CentOS, Opensuse, and other non-mainstream OS’s around for scripting, and testing automation and integrations, and such.  And while I’m thrilled that Hyper-V supports a few recent versions of CentOS and the latest version of Opensuse (12.1 at this writing), it still does not support NetWare and a guest OS.  As a result, I’ve had to choose VMware workstation of my hypervisor of choice on my laptop for now (since VMware and Hyper-V cannot co-exist on the same base hardware), and I’ll run Hyper-V in the dedicated lab instead.

Remote Desktop Connection Manager

The Remote Desktops snap-in for the MSC is gone!  It’s not available in Windows 8.  If you know what that means, then you’re probably as upset as I was.  Fortunately, I discovered that the old Remote Desktop Connection Manager still works on Windows 8!  Phew!  Honestly, it’s a better tool anyway. 

So Far, So Good…

…So that’s where I’m at so far.  The good news is that just about everything I’ve brought over to Windows 8 so far from my Windows 7 world has worked perfectly.  And I “get it” now; what I mean by that is that I understand and appreciate the dual layer effect of the “tablet-like” OS on top of the “traditional-style” OS.  Now that I’m able to dance easily between them, I quite like it and am eager for a Windows 8 based tablet, actually.  Hint, hint…

Now, share some of your tips, please! is One

2017-07-27T00:01:05+00:00 October 24th, 2012|Uncategorized|

One year ago, we published the first post of the re-born Coretek Services blog, under the new moniker

The plan back then was to re-start the blog with a variety of Coretek employee authors, to do our best to be technically informative at various skill levels, and to hopefully be entertaining.  Along the way, we’ve brought an interesting diversity of content forward; from complex technical issues to the personal anecdotes — and all with the professional and helpful approach of the great folks I work with every day. 

We kicked it off with a bang with a cool post from Chris Shalda about Sharepoint, and it was only fitting that the year be closed out with another post by Chris about Citrix icons.  In between, we published an article every Thursday except one (I was on vacation, and I decided it was okay).

One of the wonderful side effects of this blog is that while the authors reveal a little bit about their experiences and themselves in their writing, it provides a hint to some of the complex, exciting environments in which we live and work every day.  And in my role as principal blog maintainer, I’m extremely fortunate that this blog (and the blog-related activity) really connects me to this team of diverse and disparate folks at Coretek in a way that otherwise may not happen.

So I’d like to take a moment and thank all of those that have contributed to our blog in any way (attending meetings, offering ideas and suggestions, etc.).  And especially, I’d like to thank those that took the extra bit of their precious time to share just a bit of themselves in writing over these past 51 weeks: 

Without all those folks, you’d have had to suffer through many more posts from me, so we all thank them very much!  And we have some great things coming up, just around the corner…  So stay tuned…


How to create nice-looking icons for Citrix published apps

2017-07-27T00:01:07+00:00 October 17th, 2012|Uncategorized|


A customer of mine has a handful of web applications which are published with XenApp 6.5 and PNAgent, have shortcuts on the desktop, and are launched via a URL with Internet Explorer.  So, the default icon that the user sees on their desktop is the typical Internet Explorer blue e icon for every one of them.  The customer wanted to assign a distinctive and representative icon to each of the web based applications, but didn’t have all of the icons for them.


How I worked through it:

We first tried to assign some ICO files that we found to those applications; but while they looked good when we downloaded them, they looked horrible when presented to the user.  The colors were way off, which looked unacceptable to the customer:



So, I searched around on the web to find out why the custom icons looked so bad, but couldn’t find a lot of concrete information about it.  I found a Citrix support article ( that was very brief, but did say one critical thing:  any icon files assigned to published applications that are larger or smaller than 32×32 pixels will downgrade to only an 8-bit color depth.  This is what I experienced in the above screenshot of the icon for the published application.  However, if the icon file is sized at exactly 32×32 pixels, it will retain up to the full 32-bit color depth.

Given this information, and messing around a bit with some icon files, I was able to prove out a process to ensure your custom icon files will show up as expected when assigned to published applications.



  1. Obtain a reference file that you want to turn into the new icon
    – This file can be in at least a ICO, PNG, GIF or JPEG format
    – It is preferable to have a file that already has a  transparent background (ICO, GIF or PNG) unless the background color is acceptable or the image is meant to take up the entire 32×32 pixel canvas

    Here is an example of the icon file that I tried originally, but looked bad on the published application because the size was 64×64 pixels (please see the “How I worked through it” section above for a screenshot of what it looked like in XenApp) 

  2. Open file in image editing software (like GIMP or Photoshop)
    Optional: If the image has a background that is not transparent and you want the final icon to have a transparent background  then proceed to cutout image that you want in the final icon file and paste it onto a new canvas with a transparent background
  3. Orient the image on the canvas as needed and re-size the canvas to 32×32 pixels
  4. Edit/touch-up as necessary
  5. Export to PNG or GIF (to keep transparency)
  6. Convert to ICO file
    – Browse to
    – Browse for the new PNG or GIF file that was just created
    – Export to 32×32 pixel ICO file
  7. Upload file to a XenApp server in the farm that is hosting the published application
  8. Assign the icon to published application (XenApp 6.5 specific steps)
    – Open AppCenter
    – Open Application Properties of Published Application
    – Select Shortcut Presentation
    – Click “Change icon…”
    – Select “Choose an icon from a file on an IMA server”
    – Browse for and select the ICO file
    – Click OK, then OK

Here is what the re-sized icon then looked like after I assigned it to the published application:

 Happy iconing!



Windows 8 Wireless Connections in the Enterprise

2017-07-27T00:01:07+00:00 October 10th, 2012|Uncategorized|

I’ve been having issues attaching to WiFi networks with Windows 8 lately.  Not residential Access Points, but commercial controllers.  I did some searching, and found this:
Windows 8 clients may not be able to connect to wireless network
Ah…  So Windows 8 natively supports 802.11w, but cannot connect to one of the largest enterprise network footprints in production today.  Hmm.  Apparently, all Cisco controllers need a firmware update before anyone can connect new Windows 8 computers to the wireless network… 
…You can back-rev your driver.  Well, have you dealt with enterprise network people?  Which do you think is more likely to happen? 
So, here you go; a little instructional video to help you down-grade your shiney-new Windows 8 Wireless network driver to the Windows 7 version, so that you can play in the corporate sandbox.  In this slideshow, Paul demonstrates the problem (utilizing Windows 8’s great new automatic screen capture feature)…
(Note: To easily get to the menu for Device Manager – which is called the “Windows desktop and Administrative tools” menu use “Winkey + X” from the Windows classic desktop.)

We hope it helps!
(…with contributions from Paul Opper and Jeremy Pavlov)


Scripted Home Folder Management with PowerShell Pt. 6 – The Script!

2017-07-27T00:01:07+00:00 October 3rd, 2012|Uncategorized|

This is the last post in my series on scripting user and Home Folder management (see Part 1, Part 2, Part 3, and Part 4 and Part 5 for reference) — it was a lot of ground to cover, but we did it!  Thanks for hanging in there with me.  We’ve created the user and attributes, built the folder, set permissions, added the Home Folder attribute on the user object; all with PowerShell.  You don’t get much more real-world than that!

Now, as promised, it’s time to pull it all together into one example script.

Of course, now that we’re putting all the concepts from the previous posts together, we need to be smart and add a few smart/standard script things; like good use of variables, error checking, and so forth.  Specifically, the new things I’m introducing in this post are:

  • Use of variables  – To make the script portable and easily modifiable
  • Use of command line arguments – To accept the new user’s name as input arguments
  • Use of SubString – To generate a “UserName” (a.k.a. SamAccountName) from a first and last name
  • Check for pre-existing – To make sure we don’t attempt to create an already-existing user name

All of the items above are in the first section of the script below, and the remaining sections are where I pull in the concepts from the previous posts to get it all done.  I don’t want to go into great detail on these new items, but they are necessary to make the script flow correctly and be usable right away as-is.

So, here you go.  You can paste this right into a file (something like provisionNewUser.ps1), launch a PowerShell session, and run it with the new user’s First Name and Last Name on the command line (as explained early in the body of the script). 

And here’s my warning: Don’t ever do what people on the Internet tell you to do; if this script is scary to you, don’t run it.  In fact, only run this in a test lab, until you are comfortable with the specifics.  So there.

# Home Folder Provisioning Demo Script
# Jeremy Pavlov, Coretek Services, 20121003
# Execute in a powershell session, with the new user's First and Last names after the command, like this:
# .provisionNewUser.ps1 Jeremy Pavlov
# # Make sure you run this if not already loaded, for AD-based commands Import-Module ActiveDirectory # # Read in the first name and last name from command line inputs $FirstName = $args
[0] $FirstInitial = $FirstName.Substring(0,1) $LastName = $args[1] $LastInitial = $LastName.Substring(0,1) $UserName = "$FirstInitial$LastName" $MyDomain = "CoretekServices.local" $HomePrefix = "\$MyDomainCorpHomes" $DefaultUserOu = "ou=New Users,dc=CoretekServices,dc=local" # write "First name will be: $FirstName" write "Last name will be: $LastName" write "User name will be: $UserName" write "Home Folder will be: $HomePrefix$LastInitial$UserName" write "" # # See if the user exists $CheckUser = Get-ADUser -ldapFilter "(SamAccountName=$UserName)" # #If user exists, exit! if ($CheckUser -ne $Null) { write "User $UserName already exists! Exiting..." write "" exit } # write "Creating $UserName..." write "" New-ADUser -Path "$DefaultUserOu" -SamAccountName "$UserName" -Enabled $true -Name "$FirstName $LastName" -GivenName "$FirstName" -Surname "$LastName" -AccountPassword (ConvertTo-SecureString –AsPlaintext "ChangeMe123!" –Force) -ChangePasswordAtLogon $true # write "Create $HomePrefix$LastInitial$UserName ..." write "" New-Item -type directory -path $HomePrefix$LastInitial$UserName # write "Setting permissions on the $HomePrefix$LastInitial$UserName ..." write "" $acl = Get-Acl $HomePrefix$LastInitial$UserName $rule = New-Object System.Security.AccessControl.FileSystemAccessRule("$MyDomain$UserName", "DeleteSubdirectoriesAndFiles, Modify, Synchronize", "ContainerInherit, ObjectInherit", "None", "Allow") $acl.AddAccessRule($rule) Set-Acl $HomePrefix$LastInitial$UserName $acl # write "Setting the Home Folder attribute for $UserName" write "" Set-ADUser -identity "$UserName" -homeDrive h: -homeDir "$HomePrefix$LastInitial$UserName" # write "...Complete!" write "" #

…and there you have it.  Now, of course, I could have dumped in a lot of other good practice stuff like input validations and things, or other additional neat features, but I’m only trying to demonstrate the core concepts here from our previous posts in this series.  I don’t want to over-whelm the example and make it difficult or — heaven forbid — boring (gasp!) to read.

But please, if you have a better way of doing it, make sure to drop a comment or two and help out others…

Now go create some users!



Fatal error: Uncaught exception 'GuzzleHttp\Exception\ClientException' with message 'Client error: `POST` resulted in a `400 Invalid instrumentation key` response: {"itemsReceived":1,"itemsAccepted":0,"errors":[{"index":0,"statusCode":400,"message":"Invalid instrumentation key"}]} ' in /home/coretek/public_html/wp-content/plugins/application-insights/vendor/guzzlehttp/guzzle/src/Exception/RequestException.php:113 Stack trace: #0 /home/coretek/public_html/wp-content/plugins/application-insights/vendor/guzzlehttp/guzzle/src/Middleware.php(66): GuzzleHttp\Exception\RequestException::create(Object(GuzzleHttp\Psr7\Request), Object(GuzzleHttp\Psr7\Response)) #1 /home/coretek/public_html/wp-content/plugins/application-insights/vendor/guzzlehttp/promises/src/Promise.php(203): GuzzleHttp\Middleware::GuzzleHttp\{closure}(Object(GuzzleHttp\Psr7\Response)) #2 /home/coretek/public_html/wp-content/plugins/application-insights/vendor/guzzlehttp/promises/src/Promise.php(156): GuzzleHttp\Promi in /home/coretek/public_html/wp-content/plugins/application-insights/vendor/guzzlehttp/guzzle/src/Exception/RequestException.php on line 113